OMSCS: Fall 2022

December 18 2022

Review: CS6250 Computer Networks

Objective

I wanted to reinforce my knowledge on Computer Networks and integrate what I learn to understand the domain area of my work better. The domain area of my work involves complex infrastructure, supporting networks, and their automations.

Learning Outcome

The concepts taught in this course allowed me to connect the dots better in the workplace. I was finally able to understand better how different network protocols like OSPF and BGP worked, and how the automations that I bring to the front-end empower supporting engineers. Overall, it is a great course to take to get a better understanding over how computer networks and the internet works.

Difficulty

This course required consistent effort, with peaks in effort leading up to project submissions and exams. I spent roughly between 5 - 15 hours per week on this course.

Review: CS6300 Software Development Process

Objective

My objective for taking CS6300 Software Development Process was to refine my software engineering skillset by learning and incorporating new software engineering skills and best practices in my day job as a Software Engineer. I also wanted to try out Android programming, the primary deliverable for the group assignment.

Learning Outcome

I was satisfied with the course, as I could further refine my software engineering skills by applying some of the things I learned in the workplace. For example, I began to incorporate concepts such as black box testing, white box testing, and test-driven development in the full-stack application projects I lead in my team.

After learning about various ways of collaboration, I introduced some of them to my team at work. Because our team consisted of engineers of varying backgrounds, experience levels, and technical knowledge, peer programming allowed us to learn from each other's thought processes and thus solve problems more quickly. It was constructive for interns and trainees because they could quickly pick up new techniques for tackling tasks.

Finally, I gained much experience collaborating with team members across 3 different timezones in the Android Programming group project. As someone who likes to start and complete assignments earlier, I found that it was difficult to get in touch with my team members at the beginning. One team member also did not make it to the first meeting. We gave him a chance and were not disappointed. Our weekly schedule consisted of reading and assigning parts of a deliverable at the start, completing what we could during the week, and then getting together on a weekend call to finalize the deliverable. Overall, everyone contributed to the best of their ability.

Difficulty

I spent an estimate of between 5 - 12 hours on this course. The assignments were tedious but manageable.