Several short exercises throughout the semester will provide you with experience using some of the core tools and techniques necessary for the software development process. These exercises will not make you an expert in using the tools and techniques they discuss. They will provide a common baseline of skill for all members of your team, regardless of what was taught in your previous programming or software engineering courses. In addition, the exercises will often contain references or links to additional material that you can explore in order to become an expert, guru, or wizard.
Exercises below are subject to change up until they are officially released per the schedule.
Exercise 0: Background [TA: Sami]
Exercise 1: Building and Dependencies [TA: Bhavya]
Exercise 2: Git and Gitlab [TA: Sami]
Exercise 3: Basic Design [TA: Bhavya]
Exercise 4: Unit Testing and Continuous Integration [TA: Sami]
Exercise 5: Inheritance [TA: Bhavya]
Exercise 6: Leveraging Polymorphism [TA: Sami]
Exercise 7: Design Scenarios [TA: Sami, Bhavya]
Also note, these exercises are not enough to guarantee that you can effectively develop software and write good code. For example, the project in this class uses C++17, but you may have never used C++17 before. The exercises will not provide you with sufficient background or skill in using C++17 effectively. The videos on the links page will only help somewhat with that. Our in class code reviews, discussions, and critiques will help with that, but you should actively seek to improve your knowledge of such technologies on your own as a future software developer. If you are interested in finding additional resources to learn about a particular topic, let me know and I'll be happy to point you in a fruitful direction.
A rough schedule of planned exercises is below, subject to change.
Day | Exercises | |||||||
---|---|---|---|---|---|---|---|---|
E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | |
Sep 6 | ||||||||
Sep 11 | ||||||||
Sep 13 | ||||||||
Sep 18 | ||||||||
Sep 20 | ||||||||
Sep 25 | ||||||||
Sep 27 | ||||||||
Oct 2 | ||||||||
Oct 4 | ||||||||
Oct 9 | ||||||||
Oct 11 | ||||||||
Oct 16 | ||||||||
Oct 18 | ||||||||
Oct 23 | ||||||||
Oct 25 | ||||||||
Oct 30 | ||||||||
Nov 1 | ||||||||
Nov 6 | ||||||||
Nov 8 | ||||||||
Nov 13 | ||||||||
Nov 15 | ||||||||
Nov 20 | ||||||||
Nov 22 | ||||||||
Nov 27 | ||||||||
Nov 29 | ||||||||
Dec 4 |