Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 2

MECH 415 Advanced Programming for Mechanical and Industrial Engineers

Instructor

Brandon W. Gordon, Email: bwgordon@encs.concordia.ca


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:

http://users.encs.concordia.ca/~bwgordon/mech415.html

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

Assignments 10 %
Project 20 %
Midterm Exam 25 %
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, 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.

You might also like