Course outline

MECH 415 Advanced Programming for Mechanical and Industrial Engineers
Brandon W. Gordon, Email:
Phone: 514-848-2424 x3151, Office: EV4.227
There is no formal textbook for this course. References will be posted on the course web page:
Please check the web page regularly. I will normally update the web page an hour or two after class with all the
lecture material.
C++ Compiler:
Microsoft Visual Studio 2013 is required. You can’t use Linux software or some other option. This compiler is
installed on the faculty computers. I also recommend installing the Express version on your own computer
using the instructions on the course web page. Note that the Express (free) version is essentially the same as the
regular version except that it takes less disk space.
Grading Scheme:
Midterm Exam
Final Exam
10 %
20 %
25 %
45 %
The project will involve the development and documentation of a significant C++ programming application
related to the material in this course. Students are encouraged to develop an application related to their previous
work or current interests in mechanical/industrial engineering.
Lecture Topics:
I) Object Oriented C++ Programming
1. Encapsulation
Designing classes and member functions
Constructors and destructors
2. Inheritance
3. Polymorphism
Function and operator overloading
Virtual functions
4. Pointers and dynamic memory allocation
5. Software development techniques (design, debugging, testing, documentation, etc.)
II) Programming Applications
1. Modelling and simulation of mechanical/industrial systems
Numerical simulation
3D particle and rigid body systems
2. Introduction to real-time systems
Definition and characteristics of real-time operating systems
Virtual prototype simulations
3. Introduction to DirectX computer graphics and visualization
Point, line, and triangle primitives
Mesh objects and x-files
4. Additional topics (matrix algebra, optimization, network communication, control systems, robotics, etc.)
Students are also encouraged to perform additional readings and self study on other topics related to their
project (ask the instructor for suggestions).
Note: In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation
scheme in this course is subject to change.