This course will introduce you to a variety of tools that are useful for programming classes, personal projects, and The Real World. We'll focus on some general purpose tools, how to use Linux, and C++ tools and features.
| Subject | Materials | |
|---|---|---|
| Week 1 | Text Editors: One of them is objectively the best |
|
| Week 2 | Shell Commands and Configuration: Welcome to 1972 |
|
| Week 3 | Version Control: Advanced methods for accidentally destroying your hard work |
|
| Week 4 | Shell Scripting: Teach your shell to make mistakes for you |
|
| Week 5 | Regular Expressions: Solve complicated problems with even more complicated problems |
|
| Week 6 | C++ IDEs: Compiler errors you can click on |
|
| Week 7 | Build Systems:
|
|
| Project 1 | ||
| Week 8 | Debuggers: Advanced cout << "help" |
|
| Week 9 | Code Analysis: Guided meditation for your broken programs |
|
| Week 10 | Code Linting: Computer Science applications for dryer sheets |
|
| Week 11 | Unit Testing: How to turn 'is my code broken?' into 'my code IS broken.' |
|
| Week 12 | C++ Tricks: Using the kitchen sink of programming languages to chop carrots |
|
| Week 13 | GUI Programming: Making windows is a great pane |
|
| Week 14 Sect. A |
LaTeX: Compiler errors for papers! |
|
| Week 14 Sect. B |
(Dis)Functional C++ | |
| Project 2 |