CS 373 Fall 2020: Samantha Tuapen

Hi everyone! This is my eighth blog post for CS373: Software Engineering

What did you do this past week?

I helped finish up our remaining outstanding tasks for Phase II. My group and I ended up having to work all the way up to the deadline on Tuesday, but it was awesome to debrief after a stressful day and reflect on how much progress we’ve made since the beginning of the phase.

What’s in your way?

For this upcoming phase, I have to repopulate some of the tables in our database due to duplicate entries or inaccurate data, however since our Postgres database is in AWS RDS, I’m hesitant to make any changes to it now and risk the functionality of our site before the graders can finish grading our Phase II progress. Once the grading is complete, I can run my scripts and debug as necessary.

What will you do next week?

Next week, I will help finalize the database so hopefully we can leave it alone for the rest of the project. Then I will help reorganize and refine the endpoints of our API and figure out how to implement the sorting and filtering functions from the backend.

What did you think of Ethical CS?

I found this presentation very insightful. I took an Ethics in Computer Science course where we discussed many case studies of ethical and moral STEM controversies in the real world, however Dr. Alan Cline and Dr. Elaine Rich explored ethics in CS beyond just case studies, but also walks through philosophical theories such as utilitarianism and experimental studies such as the prisoner’s dilemma. I find it very important to integrate ethics courses in CS degree plans especially now when technology is constantly advancing, because with new tech comes new problems and difficulties in how to regulate it within human and moral bounds.

What was your experience of functions, lambdas, and decorators?

Professor downing introduced us to Python functions and how to write them early on in the course, but recently we learned more about lambda functions and decorators. I learned that lambda functions are more streamlined than regular functions, but its biggest constraint is that it can only have one expression in its body. I also learned that decorators are callable objects that ‘decorate’ other callable objects. An example of this decorating is to provide checks and additional information on the callable object to be decorated. I also learned that you can reuse the decorator on other functions by simply putting @<decorator_name> on top of the function to be decorated.

What made you happy this week?

Submitting Phase II and having that weight off my shoulders made me really happy this week. I was able to go to bed earlier at night, I watched the series finale of The Good Place (I most definitely cried like a baby) and even got to binge-watch a Netflix original show. It was nice to have some time to myself again, even if it’s just temporary :)

What’s your pick-of-the-week or tip-of-the-week?

One thing my group and I wanted to improve for Phase III is organization of our tasks. Before, we were a combination of Google Sheets and Discord channels to communicate who’s doing what task, but as you can imagine that became hard to manage. This phase, we set up a Notion page to organize all of our tasks by type, priority, responsibility, due date, etc. So far, I think it’s helping us plan better and visualize what all we need to accomplish!