- test first, test during, test after, test, test, test
- when designing algorithms, demand the weakest capabilities (e.g. iterable vs. indexable)
- when designing containers, provide the strongest capabilities (e.g. indexable vs iterable)
- build decorators on top of containers, iterators, and functions
- utilize the benefits of being lazy (i.e. yield)
- always look for reuse and symmetry in your code
- collaboration is essential to the quality of your code and to your well-being in producing it
- How well do you think the course conveyed those takeaways?
I believe the course did a good job of conveying these takeaways — I believe the last two takeaways became abundantly clear through the IDB project and its various phases.
- Were there any other particular takeaways for you?
I believe I also gained a significant understanding of many tools utilized in web development that I had never interacted with before (such as Docker and Flask) through my participation in the IDB group project.
- How did you feel about TWO-STAGE quizzes and tests?
I found the two-stage quizzes and tests to be incredibly beneficial, as they helped to clear up any misunderstandings of the content covered in class, and helped to prove that collaboration can vastly improve the quality of code and decrease the amount of time necessary to create it.
- How did you feel about COLD CALLING?
I felt that cold calling was an interesting way to encourage a greater degree of focus from the students, especially given our current remote learning environment.
- How did you feel about OFFICE HOURS?
I did not often attend office hours, but when I did I found the TAs to be of great assistance and quite pleasant to interact with.
- How did you feel about the LAB SESSIONS?
I am not sure if I attended a lab session or just office hours, but regardless, I appreciate the availability of the TAs to assist the students with questions regarding course content or project troubleshooting almost all the time.
- Give me your suggestions for improving the course.
My suggestion would be to rebalance the IDB project phase due dates. It felt as though some phases would require much more work than others, but the windows we had to work on each phase seemed to be almost the same.
- To future students:
Find a group you will work well with for the IDB project and communicate frequently. The class is quite manageable as long as you work together and keep each other apprised of your availability and progress!