Undergraduate Course: Programming Skills for Engineers 2 (SCEE08014)
|School||School of Engineering
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 8 (Year 2 Undergraduate)
||Availability||Available to all students
|Summary||This course introduces python programming, software engineering and design techniques to Engineering students. It also introduces the use of libraries like SciPy, NumPy and Matplotlib for solving equations (using appropriate numerical methods) and the use of JuPyter Lab notebooks to present calculations.
Computer programmes are more often read than written, so it is critical that they are written in a way which makes it easy for the programme to be modified in the future and so that the programmer knows the code works (and fails) as designed.
This course introduces software engineering techniques which enable properly documented, easy to read code to be written. It is based around the Python 3 language (which is freely available) and will also cover the basic elements of Python programming.
This course will make use of a BlinkStick Square, a programmable USB key with eight LEDs. You will use the BlinkStick Python library to control the LEDs.
You will also learn to use the SciPy and NumPy libraries to solve equations and the Matplotlib library to plot graphs and charts.
Finally, the course will introduce you to JuPyter Lab notebooks which can be used to document and layout calculations, present results and code.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2022/23, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
The School has a 40% Rule for 1st and 2nd year courses, i.e. you must achieve a minimum of 40% in coursework and 40% in written exam components, as well as an overall mark of 40% to pass a course. If you fail a course you will be required to resit it. You are only required to resit components which have been failed.
|No Exam Information
On completion of this course, the student will be able to:
- Design, program, document and test reusable modules and applications in Python and use data structures such as lists, tuples, and dictionaries in Python programs;
- Use loops, decision statements and functions in Python programmes;
- Use external libraries to perform engineering calculations and plot graphs;
- Use exception handling in Python applications for error handling;
- Use JuPyter Lab notebooks to perform, layout and document calculations.
|Mark Summerfield (2010) Programming in Python 3: A Complete Introduction to the Python Language, 2ND edition, Addison-Wesley Professional.|
Sadeep Nagar (2018) Introduction to Python for Engineers and Scientists: Open Source Solutions for Numerical Computation, Apress, 978-1-4842-3203-3
Jody Scott Ginther (2010) Start Here: Python 3X Programming, Alien Cat Studios.
|Graduate Attributes and Skills
|Keywords||Computer Programming,Python,Software Engineering,Numerical Methods
|Course organiser||Prof David Ingram
Tel: (0131 6)51 9022
|Course secretary||Miss Mhairi Sime
Tel: (0131 6)50 5687