Final Study Guide
Below are suggestions and materials for studying for the 330 final. The test will be closed book (and no notes).
Reading through (or skimming) the lecture notes is a good way to check whether you still remember most of the material. Note that you can also search for specific topics ("Search" field in top-right of all wiki pages). "Retaking" the quizzes (see below) can also help if there is some topic you need to review in a bit more depth. Looking through all the assignments solutions (on ix, ~norris/public/cis330) and making sure you understand them can also help you prepare. Do post questions on Piazza about anything that's not clear.
Previous finals
- W17 Final (pdf), W17 Final (pdf without solutions)
- W18 Final (pdf without solutions); some solutions on http://socrative.com, room NORRIS6987
Topics
- C: general syntax, I/O, static & dynamic memory management, structs, function parameter passing, include files, function pointers
- simple C/C++ preprocessor macros
- C++
- General syntax, include files, classes, structs, public, protected, private, inlining functions, const, constructors, destructors, argument passing styles, I/O (including files)
- Streams
- Dynamic memory management
- Virtual functions
- Templates
- Containers
- Iterators
- Algorithms (for_each, find, transform)
- Unix
- Processes
- foreground, background, PIDs, killing processes
- fork/join
- signals
- Linking, static libraries, shared libraries, ELF (general ideas, no need to memorize details)
- Makefiles (defining variables and targets)
- Bash (be able to read simple scripts)
- Processes
- Not on the final: exceptions, parallel (threads) programming