Credits: 3


Corequisite: Must be concurrently enrolled in MATH141.
Restriction: Permission of ENGR-Mechanical Engineering department.
Credit only granted for: ENAE202 or ENME202.
Introduction to computational tools for the solution of engineering problems. C++ & MATLAB programming including branching and loops, functions, file handling, arrays, and data structures. Students will be introduced to object-oriented programming, basic computing, algorithms, and principles of software engineering.

Semesters Offered

Fall 2017, Spring 2018, Summer 2018, Fall 2018, Spring 2019, Summer 2019, Fall 2019, Spring 2020, Fall 2020, Spring 2021, Summer 2021, Fall 2021, Spring 2022, Summer 2022, Fall 2022, Spring 2023, Summer 2023, Fall 2023, Fall 2024, Summer 2024, Spring 2024

Learning Objectives

  1. Understand how to develop algorithms and code that utilize the computational tools available in MATLAB and C++
  2. Design, implement, and debug MATLAB scripts/functions and C++ programs to solve practical physics and engineering problems
  3. Gain initial exposure to the object-oriented programming paradigm

Topics Covered

Unit I: Matlab
  1. Variables, native functions, plotting, scripts
  2. Calculations with complex numbers and polynomials
  3. Matrix and vector operations
  4. User-defined functions
  5. Logical expressions and conditionals
  6. For and while loops
Unit II: C++ programming
  1. Program structure, compilation, screen output
  2. Keyboard input, mathematical functions
  3. Conditionals and loops in C++
  4. User-defined functions in C++
  5. Arrays in C++
  6. File input and output
  7. Data structures
  8. Classes and the object oriented paradigm
  9. Function and operator overloading

Learning Outcomes

  • an ability to apply knowledge of mathematics, science, and engineering
  • an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
  • an ability to function on multi-disciplinary teams
  • an ability to identify, formulate, and solve engineering problems
  • a recognition of the need for, and an ability to engage in life-long learning

Additional Course Information


D. Etter and J. Ingber. Engineering Problem Solving with C++. Pearson Education Inc., second edition 2008 (recommended).
E. Magrab, S. Azarm, B. Balachandran, J. Duncan, K. Heraold, G. Walsh. An Engineer's Guide to Matlab. Pearson Prentice Hall, Second edition, 2005 (recommended).


MATH 140