CS373 Software Engineering: Blog 9

Ryanarifin
CS373 Software Engineering
4 min readMar 29, 2021
  1. What did you do this past week?

This past week, I went out a lot with my friends! With so many people getting vaccinated, it was absolutely awesome to see some signs of normal life returning. The highlights:

On Tuesday, I got some dinner and drinks with one of my closest friends at Abels — it was great talking to them and catching up on life (especially since she already graduated and is working full time at a law firm).

On Thursday, my friends and I all went to Rainy to celebrate one of them getting into med school! His parents came with, and boy did we have a good time.

Finally, on Saturday, my friends and I decided to go on what we called a “freshman bar crawl” where we went to all the bars on Sixth that we used to go to as freshman. Stops included Peckerheads, Rooftop, and Cheers. Holy cow, that place is disgusting. It was fun, but I’m never going back again.

I guess I also did some school too (but not too much).

2. What’s in your way?

In terms of school, not too much! I really enjoy this course and Ethical Hacking (highly recommend taking this if you get the chance), so the work I have to do there is actually fun for me.

For the courses I don’t like (Geology and NLP), I have 2 COVID pass-fails to use —so you can bet I’m shooting for that 60. Thank you UT Austin.

The main thing in my way is my friend’s health condition.

One of my best friends ruptured his spleen a couple of nights ago, and they don’t know if it was a weird side effect from a severe case of COVID he had a couple weeks ago, or if it was from blood cancer.

He find out tomorrow. I hope he’s okay…

3. What will you do next week?

For school — SWE and Ethical Hacking!

For SWE, I finally got to sink my teeth into some front end stuff, which was my learning goal for this class. I’m pretty familiar with backend programming, so I really want to become fluent in React and CSS/SCSS. Making things look good is important.

For Ethical Hacking, we have a practical mid term due that covers all of the concepts we’ve learned so far — super fun. I like this course because it really forces you to understand the fundamentals of how networks and services work and communicate with each other.

I also decided last week that I want to end these last 2 months of college with a bang. I will (hopefully) be going out just as much as I did last week!

4. If you read it, what did you think of the Interface Segregation Principle?

I liked it and it made sense to me! Basically, the moral of the story: your module’s interface should not have a ton of functions that only certain clients use.

I feel like this ultimately comes down to the (reoccurring) theme in software engineering of designing for simplicity.

If an interface has too many functions that only one or certain clients use, the interface becomes “fat” and complicated. “Fat” and complicated = more prone to errors.

Although I agree with this, I definitely think you need to be careful not to over-engineer the code design as well. I can very easily seeing this strategy of ISP being taken too far and actually overcomplicating the design.

Like everything, I think ISP is something very good to keep in mind when designing your code, but should not be used dogmatically. Every design principle in moderation, and consider each situation differently.

5. What was your experience of comprehensions, yield, closures, and decorators? (this question will vary, week to week)

This week’s topics were super interesting!

Yield is a handy key word to make general functions that apply a custom callback to create an iterator. This concept is very similar to many things in Javascript and other languages!

Closures were a bit confusing, and I want to understand them better (both in Python as we learned, as well as Javascript). Closures are a pretty important concept in React, so I want to make sure I understand them thoroughly.

Decorators implemented in Python were really cool, I definitely could see how they would be useful when making a library or other reusable module of code.

6. What made you happy this week?

Going out with my friends! It was so much fun getting drinks with people, celebrating, and to be honest — just socializing much more than I have been these past couple of weeks.

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

When you’re learning a new skill or technology, don’t forget to take things step by step, starting simple and easy to more complicated.

I don’t have as much experience constructing and designing FE pages and React components, so Phase 2 has been a great learning experience for me! Front end creation, CSS styling, I’m learning what I came here to learn.

One thing I realized — it’s okay to not start off creating the most complex and beautiful components and FE designs! I was comparing my beginner components and design with people who have been doing this for much longer than I have, and have spent much more time on it.

Start small. Start simple. And build up in complexity from there.

--

--