Postgraduate Course: Programming Skills (PGPH11079)
Course Outline
School | School of Physics and Astronomy |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Postgraduate) |
Availability | Not available to visiting students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | This course is designed to help you to produce higher quality code, in less time and with less effort. These programming skills are applicable to any programming language and the course is illustrated with examples from C, Fortran 90, Java and Python.
Areas of specific relevance to parallel high-performance computing, including the use of batch systems, scientific libraries, profilers, and performance analysis, are also covered. |
Course description |
* Best practices for scientific computing.
* Fundamentals of operating systems, compilers and batch systems.
* Writing programs for people, programs that are modular, maintainable, and understandable.
* Using automated testing to help ensure the correctness of our programs.
* Using profiling and performance analysis to improve the efficiency of our programs.
* Using software development tools to achieve more with less effort, including integrated development environments, code browsers, debuggers, revision control, build management tools, automated test frameworks, and profilers.
You must have experience in a programming language e.g. C, C++, FORTRAN, Java or Python, and be familiar with programming concepts including conditionals, loops, arrays and functions. No knowledge of parallel programming is needed.
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | |
Other requirements | You must have experience in a programming language e.g. C, C++, Python, or FORTRAN, Java and must be familiar with programming concepts including conditionals, loops, arrays and functions. No knowledge of parallel programming is needed. A knowledge of bash shell is highly recommended.
|
Course Delivery Information
|
Academic year 2017/18, Not available to visiting students (SS1)
|
Quota: 40 |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 17,
Seminar/Tutorial Hours 8,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
73 )
|
Additional Information (Learning and Teaching) |
Please contact the School for further information
|
Assessment (Further Info) |
Written Exam
0 %,
Coursework
100 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
Two submissions:
* Source code developed in groups (groups are assigned on the basis of
preferred programming languages): 60%
* Report on performance experiments, written by each student individually: 40% |
Feedback |
Not entered |
No Exam Information |
Learning Outcomes
On completion of this course, the student will be able to:
- Develop code in a Linux/Unix environment.
- Develop code that is modular, robust, reliable, maintainable, efficient and understandable.
- Develop unit and regression tests.
- Use software development tools including integrated development environments, code browsers, debuggers, revision control, build management tools, automated test frameworks, and profilers
- Design, perform, analyse and write-up software performance experiments.
|
Additional Information
Graduate Attributes and Skills |
Not entered |
Keywords | PS (S1) |
Contacts
Course organiser | Dr Michael Jackson
Tel:
Email: |
Course secretary | Mr Ben Morse
Tel: (0131 6)51 3398
Email: |
|
|