The Teaching Machine and WebWriter++



All our software is released under the Apache License, Version 2.0.


Course Lecture Notes

All courseware is released under a Creative Commons non-commercial License Creative Commons License

These courses are taught in C++. We will add a java course shortly

P1: An Introduction to Programming

an introduction to algorithmic problem solving techniques and computer programming, including basic program control structures (sequence, call, branch, loop) and data representations, functional decomposition, and design by contract. Exercises and examples are drawn from a variety of engineering disciplines and are implemented using a standard modern programming language. P1 Reference Version zipped (As taught at Memorial in Winter 2009 - 77MB, includes videos.)

P2: Advanced Programming

advanced procedural language programming; data structures, user defined types, pointers; modularization techniques, scope and data hiding; object-oriented programming; classes, objects and attributes; data encapsulation, member and non-member functions; overloading, methods and friend functions; inheritance, sub- and super-classes; templates. P2 Reference Version, zipped. (As taught at Memorial in Winter 2008 - 5 MB.)