This course will provide you with the indispensable computational skills required by modern engineers. We will use statistical, numerical, and computational methods to efficiently design complex engineering systems. We will go on a journey beyond the simple “toy” models that can be handled analytically to solving systems that are similar to those seen in real-world industry.
Pre-Requisites
- Technological World
- Physical World
- Modelling and Analysis
- Modelling Space and Systems
- Modelling Uncertainty
Course Lead/Main Instructor
Goal
The objective of this course is to provide students practical experience applying the major analytical techniques that are essential in modern engineering analysis. After completing the course, the students will be able to use computers to statistically design and optimise complex engineering systems and use numerical methods to model the performance of engineering and physical systems.
Besides developing fundamental modelling and statistical analysis skills, students will further develop their programming skills and working principles to a level that they can computationally design engineering systems.
Learning Objectives
- Describe, plan, and program algorithms to analyse practical problems in physics, engineering and related fields.
- Use statistical models to optimise a complicated engineering design, and to interpret design interactions in complex engineering systems.
- Analyze, evaluate, and apply numerical methods to find roots of an equation, integrate equations, solve sets of ordinary differential equations and partial differential equations (both explicit and implicit)
- Use numerical and analytical methods to design, analyze, and evaluate complex engineering systems.
Measurable Outcomes
- Analyse and model the errors in a complicated engineering system using the propagation of error approach and justify design choices using empirical models based on statistical arguments.
- Explain and apply methods to find roots, integrate equations, and solve sets of ordinary differential equations and partial differential equations (both explicit and implicit)
- Use Python to analyse, design, and evaluate complex engineering systems.
- Develop and deliver oral and written reports that clearly describe the engineering model, the Python program implementation, and the result of the model.
- Solve engineering problems by writing Python code to apply the methods learned in this course.
Pedagogy
Students will participate actively and will be encouraged to openly clarify problems during the class. Each topic will be delivered in a mini-lecture form with interactive quizzes incorporated into the mini lecture. Following the mini lectures, students will work on group-based case problems and individual computer programming exercises. Throughout the course students will gain hands-on experience solving engineering problems by writing programming code in Python. The final three weeks of the term will be dedicated to individual projects, which will provide each student with practical experience applying statistical and numerical modelling methods to real engineering systems.
Tentative Course Schedule
Week 1 | Error Propagation and Monte Carlo approach |
Week 2 | Analysis of Variance |
Week 3 | Statistical Design of Experiments (Example Practical: Optimising 3D Prints) |
Week 4 | Root finding and Optimization |
Week 5 | Numerical integrals |
Week 6 | Analysing Ordinary Differential Equations |
Week 8 | Finite differences 1 (single ordinary differential equation) |
Week 9 | Finite difference 2 (systems of ordinary differential equations) |
Week 10 | Integrating partial differential equations |
Weeks 11-13 | Project with ethical considerations |
Week 14 | Industry Guest Speaker + Exams |
Texts and Recommended Reading
The course will follow selected chapters from the following textbooks:
- Engineering Statistics, Douglas C. Montgomery & George C. Runger & Norma F. Hubele
- Numerical Methods for Engineers, Steven C. Chapra & Raymond P. Canale
In addition, the following texts are good references for the course:
- Numerical Methods in Engineering with Python 3, Jaan Kiusalaas
- Analysis of Numerical Methods. Isaacson and Bishop Keller
- Numerical Analysis. Burden, Faires, Burden
- Numerical Analysis. Suli, Mayers
Grading
- Homework: 10%
- Project: 25%
- Mid-term Exam: 25%
- Final Exam: 35%
- Class Participation: 5%
Policies
- Standard university policies apply.
- Attendance to lessons is compulsory due to the nature of group learning. The 5% class participation includes attendance and active involvement in discussion.
- Homework is intended to be individual work.
- Late homework is not allowed.
- Makeup exams may only be granted due to medical emergencies, urgent family matters, sickness, and for official events and competitions approved by the OSA.