- Computer: We are going to use Linux as the development environment for this class. You can have access to it via the Internet from home or you can install it yourself on your computer. I can help you install it as well.
- Basic C++ syntax: classes, virtual pointers, templates, STL.
- Memory management under C++
- Basic knowledge and use of threads
- Be able to intelligently talk about the differences between C++ and Java
- Version Control
- Basic Project management and software engineering
- Introduction to hash tables/search trees
- Knowledge and use of SDL.