Credits: 3
Introduction to computer programming for the solution of engineering problems. Python & MATLAB languages including flow control, functions, file handling, arrays, and data structures. Students will be introduced to computing fundamentals, principles of software engineering, object-oriented programming, and algorithms.
Description
Corequisite: Must be concurrently enrolled in MATH141.
Restriction: Permission of ENGR-Mechanical Engineering department.
Credit only granted for: ENAE202 or ENME202.
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, Spring 2024, Summer 2024, Fall 2024, Spring 2025Learning Objectives
- Understand how to develop algorithms and code that utilize the computational tools available in MATLAB and C++
- Design, implement, and debug MATLAB scripts/functions and C++ programs to solve practical physics and engineering problems
- Gain initial exposure to the object-oriented programming paradigm
Topics Covered
Unit I: Matlab- Variables, native functions, plotting, scripts
- Calculations with complex numbers and polynomials
- Matrix and vector operations
- User-defined functions
- Logical expressions and conditionals
- For and while loops
- Program structure, compilation, screen output
- Keyboard input, mathematical functions
- Conditionals and loops in C++
- User-defined functions in C++
- Arrays in C++
- File input and output
- Data structures
- Classes and the object oriented paradigm
- 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
Textbook
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).
Prerequisites
MATH 140