Programming for Engineering - 2019 entry
MODULE TITLE | Programming for Engineering | CREDIT VALUE | 15 |
---|---|---|---|
MODULE CODE | ECMM171 | MODULE CONVENER | Dr Evangelos Papatheou (Coordinator) |
DURATION: TERM | 1 | 2 | 3 |
---|---|---|---|
DURATION: WEEKS | 12 weeks | 0 | 0 |
Number of Students Taking Module (anticipated) | 66 |
---|
This course will focus on developing an understanding of basic issues related to programming for engineering applications. You will be introduced to the basic concepts and principles of computer programming, resulting in the ability to form algorithms to solve problems, write your own code and create your own computer applications. The course will start with an introduction/overview of basic computer programming principles such as defining variables, evaluating conditions and evaluating functions. This will be followed by the description of principles in procedural software programming using either the Python programming language or Matlab. You will also be exposed to real world applications of computation within engineering.
This module will introduce you to basic software development and programming principles to solve engineering and computational problems using either Matlab or Python. The module content is customised for beginners with specific applications in engineering.
This is a constituent module of one or more degree programmes which are accredited by a professional engineering institution under licence from the Engineering Council. The learning outcomes for this module have been mapped to the output standards required for an accredited programme, as listed in the current version of the Engineering Council’s ‘Accreditation of Higher Education Programmes’ document (AHEP-V3).
This module contributes to learning outcomes: SM5m, EA3m, EA1fl, EA4m, G1m, G1fl
A full list of the referenced outcomes is provided online:
https://intranet.exeter.ac.uk/emps/studentinfo/subjects/engineering/accreditation/
The AHEP document can be viewed in full on the Engineering Council’s website, at http://www.engc.org.uk/
On successful completion of this module, you should be able to:
Module Specific Skills and Knowledge:
1. Understand the algorithmic and code development process;
2. Learn how to write your own software code in Python or Matlab;
3. Use the code you have written to solve real-life problems, both in engineering and elsewhere in computing.
Discipline Specific Skills and Knowledge:
4. Identify the key processes relevant to solving computational engineering problems.
Personal and Key Transferable / Employment Skills and Knowledge:
5. Show enhanced independent learning.
This course will be run in two different tracks, using either Python or Matlab, depending if you are on the undergraduate or taught postgraduate programme:
• If you are on the undergraduate programme (i.e. MEng and registered on the module ECMM171), you will be in the Python cohort;
• If you are on the taught postgraduate programme (i.e. MSc, Pg-Dip or Pg-Cert and registered on the module ECMM171P), you will be in the Matlab cohort.
The two different cohorts will have different timetables and slightly different course materials, owing to the requirements for Python and Matlab. Different languages are used because most undergraduates have already seen Matlab in previous years and are therefore more likely to benefit from a broader investigation of programming languages. Since some masters’ level modules utilise Matlab and PGT students typically have a more varied background, they benefit more from a Matlab course. However, content and assessments between the two languages are broadly extremely similar.
Each section below outlines the module materials for each cohort. Note that this is intended to give an overview of general overview of the topics being covered, and may be subject to change.
Python cohort
• Week 1: Introduction to programming;
• Week 2: Variables and flow control;
• Week 3: Lists and loops;
• Week 4: Functions and modules;
• Week 5: Exceptions and I/O;
• Week 6: Numerical Python with NumPy;
• Week 7: Plotting with matplotlib;
• Week 8: Testing and good practice;
• Week 9: Numerical methods I: Integration;
• Week 10: Numerical methods II: optimisation;
• Week 11-12: Object-orientated programming.
Matlab cohort
• Week 1: Introduction to Matlab;
• Week 2: Program flow control;
• Week 3: Loops and functions I;
• Week 4: Loops and functions II;
• Week 5: Linear algebra and curve fitting;
• Week 6: Roots and function handles;
• Week 7: Advanced data structures;
• Week 8: File I/O;
• Week 9: Numerical calculus and ODE solving;
• Week 10: Plots and figure handles;
• Week 11: Symbolic toolbox and optimization;
• Week 12: Introduction to Simulink.
Scheduled Learning & Teaching Activities | 36 | Guided Independent Study | 114 | Placement / Study Abroad | 0 |
---|
Category | Hours of study time | Description |
Scheduled learning activities | 12 | Lectures |
Scheduled learning activities | 24 | Workshops |
Guided independent studies | 114 | Assessment preparation, private study |
Form of Assessment | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|
Questions posed and answered in the class | N/A | All | Verbal |
Workshop Exercise Sheets | 2 hours | All | Verbal, written ideal solutions released at end of class |
Coursework | 80 | Written Exams | 0 | Practical Exams | 20 |
---|
Form of Assessment | % of Credit | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|---|
Coursework 1: Python/Matlab Exercises | 30 | 6 hours, done at home | All | Written |
Coursework 2: Applied Programming Python/Matlab | 50 | 12 hours, done at home | All | Written |
In-Class test (practical exam) | 20 | 2 hours, done in workshop | All | Written |
Original Form of Assessment | Form of Re-assessment | ILOs Re-assessed | Time Scale for Re-assessment |
---|---|---|---|
Summative Assessment | Alternative Coursework Assessment | All | August Ref/Def period |
If you fail assessment (as defined above) or are deferred you will be reassessed via another coursework assessment which will be set in July. Your final mark for the module will be 100% based on this test.
information that you are expected to consult. Further guidance will be provided by the Module Convener
Basic reading:
Web based and Electronic Resources:
Python documentation: https://www.python.org/doc/
Mathworks online tutorial for MATLAB: https://www.mathworks.co.uk/academia/student_center/tutorials/register.html
Other Resources:
Reading list for this module:
Type | Author | Title | Edition | Publisher | Year | ISBN |
---|---|---|---|---|---|---|
Set | Downey, A.B. | Think Python | Green Tea Press/O'Reilly | 2015 |
CREDIT VALUE | 15 | ECTS VALUE | 7.5 |
---|---|---|---|
PRE-REQUISITE MODULES | None |
---|---|
CO-REQUISITE MODULES | None |
NQF LEVEL (FHEQ) | 7 | AVAILABLE AS DISTANCE LEARNING | No |
---|---|---|---|
ORIGIN DATE | Tuesday 10th July 2018 | LAST REVISION DATE | Monday 8th July 2019 |
KEY WORDS SEARCH | Engineering programming; software engineering; procedural; object-oriented; Python |
---|
Please note that all modules are subject to change, please get in touch if you have any questions about this module.