MECH 415 Advanced Programming for Mechanical and Industrial Engineers
Instructor
Brandon W. Gordon, Email:
Phone: 514-848-2424 x3151, Office: EV4.227
Textbook
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. Please use the 2013 version to maintain compatibility with the examples and the lab computers. The instructions for installation are located at the top of the course webpage.
Grading Scheme
Assignments10 %
Project20 %
Midterm Exam25 %
Final Exam 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, or aerospace 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 systems
State-variable equations
Numerical simulation
2. Introduction to real-time systems
Definition and characteristics of real-time 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, audio processing, multi-threaded programs, parallel processing, mechatronics, 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.
COURSE LEARNING Outcomes (CLOs)
Upon successful completion of MECH 415, the students will be able to:
1)Understand the usage of advanced C++ syntax including classes, constructors, destructors, overloading, inheritance, and virtual functions.
2)Understand advanced C++ programming topics including pointers, bit operators, shared memory, communication, binary file I/O, 3D graphics, and real-time systems.
3)Debug and test programs using symbolic debuggers.
4)Apply the C++ topics listed above to solve problems including numerical simulation, real-time simulation, virtual reality, signal processing, mechatronics, and optimization.
5)Design and implement functions and classes to develop modular object oriented programs.