Postgraduate Course: Programming Skills (PGPH11079)
|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
|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.
* 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)
||Other requirements|| 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.
Course Delivery Information
|Academic year 2016/17, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Lecture Hours 17,
Seminar/Tutorial Hours 8,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Additional Information (Learning and Teaching)
Please contact the School for further information
|Assessment (Further Info)
|Additional Information (Assessment)
* 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%
|No Exam Information
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.
|Graduate Attributes and Skills
|Course organiser||Dr Michael Jackson
|Course secretary||Ms Joan Strachan
Tel: (0131 6)50 5030
© Copyright 2016 The University of Edinburgh - 3 February 2017 4:58 am