Undergraduate Course: Scientific Computing Skills (EASC11005)
|School||School of Geosciences
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 5 Undergraduate)
||Availability||Not available to visiting students
|Summary||MEarthPhys students undertake a major 5th year project in Geophysics and/or meteorology, spread over two semesters. These projects can be drawn from a diverse range (reflecting staff research interests). Many involve interfacing with existing software for analysing data, using a variety of programming languages. Building on such existing software is often essential to meaningful progress in the research project. No programming language has been identified as a standard that all students can be taught and that would serve for all potential projects. Furthermore, the only language that students have been taught so far is an interpreted data-analysis language. A professional scientist should also have been exposed to traditional compiled languages (C, Fortran etc.) and should understand some of the differences between the two types of language. Some, but not all, students will therefore be faced with a significant need to gain skills in programming as well as learning the geophysics/meteorology relevant to their project. This course is intended to ensure due credit is available to students for achieving that up-skilling in scientific computing, while allowing all project work to be assessed on a common basis (i.e., assuming no limitations arising from difficulty in acquiring computing skills). Students will thus take this course as a means of gaining the scientific computing skills that are necessary to the performance of their level 11 research project, i.e., they will follow an individually agreed approach to learning the programming language necessary for their project. The approach to learning could include auditing or taking courses within the University where relevant and available (in which case credits would not be double counted). More commonly, a number of reasonably demanding tasks will be devised requiring data reading, data manipulation and programming of mathematical operations. Each student will develop code in both a compiled language and a data-analysis language in order to achieve their agreed tasks in their particular programming environments, the scale of the tasks being intended to require ~200 hours of effort. Where the student's project does not require both a compiled and a data-analysis language, the languages to be used will be selected by the CO. As well as providing students with scientific computing experience explicitly on their transcript, the student experience should be enhanced in that students will not be dissuaded from choosing projects requiring mature computing skills.
Entry Requirements (not applicable to Visiting Students)
|| Students MUST have passed:
Computational Modelling for Geosciences (EASC09035)
||Other requirements|| Students MUST also take Geoscience Research Project (GESC11002).
|Additional Costs|| None
Course Delivery Information
|Academic year 2017/18, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Written Exam: 0%, Course Work: 100 %, Practical Exam: 0%
||A short exercise will be set and marked near the start of the semester for feedback purposes only
Weekly classes will consist of small-group discussions allowing verbal feedback.
The first assessed exercise is set and marked early enough in the semester to provide useful feedback for the second exercise.
Examples of feedback can be found here: http://www.ed.ac.uk/schools-departments/geosciences/teaching-organisation/staff/feedback-and-marking
|No Exam Information
On completion of this course, the student will be able to:
- To understand the difference between a compiled language and an interpreted language and to appreciate which class of languages is suited to which sorts of problems
- To achieve tasks involving data handling, mathematical manipulation, and data visualisation, in one of Matlab, IDL, Python/numpy/matplotlib, R, PerlDL (or another interpreted data-analysis language).
- To achieve tasks involving numerical analysis/modelling in one of C, Fortran, Java or another compiled language.
- To use strategies for structuring and testing scientific computing code.
- To be able to write code which is appropriately commented and documented.
|Graduate Attributes and Skills
|Keywords||Programming. Data analysis.
|Course organiser||Dr Hugh Pumphrey
Tel: (0131 6)50 6026
|Course secretary||Miss Sarah Thomas
Tel: (0131 6)50 8510