You are on page 1of 3

MECH 215 Programming for Mechanical and Industrial Engineers

Fall 2019

Objectives:
This is an introductory C++ programming course for mechanical and industrial engineering students.
After taking this course a student should be able to design and program computer algorithms in C++
for basic engineering applications.

Instructor:
Brandon W. Gordon, Email: bwgordon@encs.concordia.ca
Phone: 514-848-2424 x3151, Office: EV4.227

References:

Textbook: C++ A Beginner’s Guide, 2nd Edition, Herbert Schildt, McGraw-Hill, ISBN 0-07- 223215-3

This book is available from Amazon in paperback or E-Reader form:


https://www.amazon.ca/Beginners-Guide-Second-Herbert-Schildt/dp/0072232153/

MECH 215 Web Page: http://users.encs.concordia.ca/~bwgordon/mech215.html

This web page posts material applicable to our section. Please check it frequently. It will normally be
updated an hour or two after class.

MECH 215 Common Web Page: http://users.encs.concordia.ca/~bwgordon/mech215_common.html

This web page contains information applicable to all sections. This includes useful guidance, FAQ,
exercise problems, exam review material, topics covered/not covered on the exam, etc. It also
includes the MECH 215 online mini course and the Arduino labs. Please check it regularly, especially
before the final exam. You should also read it over carefully at the beginning of the semester. Note
that the common web page is used to help coordinate the sections. The information posted on it
applies to all sections without exception unless explicitly written otherwise.

MECH 215 Online Mini Course: http://users.encs.concordia.ca/~bwgordon/Getting_started_C++.html

This web page contains an online mini course to get students quickly started with MECH 215
including installation of software and how to use a C++ compiler. It’s expected that students
complete all lessons of the mini course on their own by the end of week #2.

Ethical standards for students taking this course:


http://www.concordia.ca/students/academic-integrity.html
Grading Scheme:

Scheme A: Scheme B:

Lab Project: 10% Lab Project: 10%


Quizzes: 5% Quizzes: 5%
Midterm Exam: 30% Final Exam: 85%
Final Exam: 55%

Grades will be computed using scheme A and scheme B and the higher value will be used for your
final grade.

Notes:

1) Assignments are not submitted. Solutions will be regularly posted. Only Arduino Lab #3 (the
project) is submitted.
2) The final exam is normally more difficult than the midterm exam. Study hard for the midterm.
3) The quizzes, midterm, and final exam are closed book. No calculators are permitted.
4) The quizzes (1-2 in number) are solved using a computer. They will be based on the labs,
assignments, and lectures. Arduino programming material will be covered in one of the
quizzes. The quizzes take place during the tutorial sessions.
5) Each section will have their own assignments, labs, quizzes, and midterm exams. However,
the final exam and the Arduino labs will be common. The final exam will have 10-20%
weighting on Arduino programming questions. The midterm and final exam are hand written
(i.e. no computers or calculators are allowed).
6) There are no labs and tutorials in the first week. Students are expected to complete lessons
#1 to #4 of the MECH 215 online mini course (see link above) during the first week.
7) Students can use any C++ compiler type (CodeLite, Xcode, command line, Linux / gcc, online
compiler, Arduino IDE, Visual Studio, etc.) in the course. However, it’s recommended you
become familiar with some type of IDE such as CodeLite or Visual Studio in preparation for
future courses and work since IDEs provide valuable tools such as symbolic debuggers. Note
that some compiler options may not be available on lab computers and quizzes.
* 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 Topics:

1) Introduction to digital computers and computer programming (online mini course)


2) Writing, compiling, and debugging programs (online mini course)
3) Data types
4) Operators and expressions
5) Program control statements (if, else, while, for, etc.)
6) Arrays (single dimensional and multidimensional) and C strings
7) Arduino programming and mechatronic applications (starting in week #4-5)
8) Functions and modular programming
9) Pointers
10)File Input / Output
11)Computer algorithms and engineering applications
GRADUATE ATTRIBUTES

MECH215 emphasizes and develops the CEAB (Canadian Engineering Accreditation Board) graduate attrib-
utes and indicators described below:
ATTRIBUTE INDICATOR LEVEL OF KNOW-
LEDGE
A knowledge base for engineering Demon- Knowledge-base for specific en- INTRODUCTORY
strated competence in university-level math- gineering field
ematics, natural sciences, engineering funda-
mentals, and specialized engineering know-
ledge appropriate to the program.
Problem analysis Problem solving INTRODUCTORY
An ability to use appropriate knowledge and
skills to identify, formulate, analyze, and solve
complex engineering problems in order to Analysis (uncertainty and incom- INTERMEDIATE
reach substantiated conclusions. plete knowledge)

Design Detailed design INTRODUCTORY


An ability to design solutions for complex,
open-ended engineering problems and to
design systems, components or processes
that meet specified needs with appropriate at- Validation and implementation INTRODUCTORY
tention to health and safety risks, applicable
standards, and economic, environmental, cul-
tural and societal considerations.
Use of engineering tools Ability to use appropriate engin- INTERMEDIATE
An ability to create, select, apply, adapt, and eering tools, techniques and re-
extend appropriate techniques, resources, and sources
modern engineering tools to a range of engin-
eering activities, from simple to complex, with
an understanding of the associated limitations.

COURSE LEARNING OUTCOMES (CLOs)


Upon successful completion of MECH215, the students will be able to:
1) Understand the usage of C++ syntax including data types, operators, expressions, control statements,
functions, arrays, and pointers.
2) Apply knowledge of C++ syntax in order to write computer programs.
3) Recognize the importance of functions for developing modular programs.
4) Analyze (read) C++ programs in order to predict the output of a given program.
5) Design and write C++ programs to solve engineering applications including mechatronic applications.
6) Implement C++ programs on a personal computer or Arduino microcontroller board using compiler
tools.

You might also like