Undergraduate Course: Numerical Methods and Computing 2 (CIVE08017)
|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
|Not being delivered|
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
|Additional Class Delivery Information
||Lecture Hours: 20
|Keywords||Computer programming,Python,Software Engineering,Numerical Methods
|Course organiser||Prof David Ingram
Tel: (0131 6)51 9022
|Course secretary||Miss Jennifer Yuille
Tel: (0131 6)51 7073