Somi Singh

What did you like the least about the class?

I did not like that the material we used on the projects was taught in-class after the projects were due. I suppose this forces us to learn the concepts on our own before learning them “correctly” in class, but the amount of stress induced trying to get things working would be greatly reduced if we were taught these concepts before attempting the projects. I should note that I got very behind on the assigned textbook readings, so my statement comes with the caveat that I didn’t actually read all of the book beforehand.

What did you like the most about the class?

My favorite outcome of this course was gaining an appreciation for C++ and its intricacies. Professor Downing did a great job of explaining why things are implemented the way they are in C++, and pointed out where advantages over Java exist. I will continue practicing and learning C++ and will likely be using it in my first job doing linux and mobile developement for Android.

What’s the most significant thing you learned?

Learning C++ constructor and move semantics formally was very benefcial. Although I had some exposure before taking this class, I am now far more comfortable writing large projects using this language. I understand now where to find help if I need it, and realize the capabilities of C++ are vast. I also learned places where C++ relates to or differentiates from Java, the first languange most of us learned.

How many hours a week did you spend coding/debugging/testing for this class?

The amount of time per project spent coding, debugging and testing was about 20 hours. Given that there were 5 projects and 16 weeks, that comes out to 6.25 hours per week.

How many hours a week did you spend reading/studying for this class?

I spent about 10 hours per week reading and studying the text material for this course. If I had been able to spend more time, I would have done better on the quizzes and exams. The book is a bit dense to absorb without practicing the material while reading through the chapters. If I were to take this course again, I would dedicate far more time studying the material outside of class.

How many lines of code do you think you wrote?

I wrote approximately 2000 - 3000 lines of code prepping for the quizzes, completing the projects and taking the exams combined. This does not include acceptance tests as those are not typically code.

What required tool did you not know and now find very useful?

I had not used Gitlab before this class and find it very useful. With integrated CI, Gitlab could become a dominant player in the version control management world.

What’s the most useful Web dev tool that your group used that was not required?

We did not use a webdev tool but we did utilize Slack to communicate about the project and share code. Slack is free to use for non-commercial purposes and is in wide use throughout the tech industry. I also used Clion for my ide. I was able to configure the same toolchain in Clion that we use on the Docker container.

If you could change one thing about the course, what would it be?

I would have enjoyed learning about what we needed to implement in the projects before they were due. The quizzes, projects and exams seem quite challenging the first time you encounter them, and less so after we’ve gone through the material in class. I would like to have seen this dynamic changed to reduce the pressure slightly.