This year we will teach both C++ and Java. The goal of this course
is to give you the necessary skill in object oriented programming and in
the principles of software design, algorithms, and data structures to equip
you for developing your own software to solve a range of engineering problems.
The course is broken into three phases, each of which lasts approximately one month. Phase I will give you a grounding in the basics of Object Oriented Programming and the C++ language. Phase II will introduce Java and some of the basic algorithms and data structures, such as arrays, trees, searching, sorting, geometric reasoning etc. Phase III will introduce the Java programming language, which will be used for your term projects. Phase IV will be a final project to give you a chance to put your new knowledge into practice on a challenging project. The project this year will focus on building a simulation to demonstrate a physical principle of your choice.