Undergraduate Course: Scientific Computing Skills (EASC11005)
Course Outline
School | School of Geosciences |
College | College of Science and Engineering |
Course type | Standard |
Availability | Not available to visiting students |
Credit level (Normal year taken) | SCQF Level 11 (Year 5 Undergraduate) |
Credits | 20 |
Home subject area | Earth Science |
Other subject area | None |
Course website |
None |
Taught in Gaelic? | No |
Course description | MSci students will undertake a major 5th year project in GP 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. Despite much discussion on this topic, 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. The creation of 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, it is anticipated that 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)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | |
Other requirements | None |
Additional Costs | None |
Course Delivery Information
Not being delivered |
Learning Outcomes
On completion of this course, the student will be able to:
1. 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.
2. 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).
3. To achieve tasks involving numerical analysis/modelling in one of C, Fortran, Java (or another compiled language).
4. to use strategies for structuring and testing scientific computing code
5. to be able to write code which is appropriately commented and documented. |
Assessment Information
100% coursework.
Formative assessment (as required by regulations from 2013-14 onwards) in an interpreted data-analysis language (Example: read a large dataset, plot it in a variety of ways and interpret the results. All class to do the same exercise, using their interpreted language of
choice.) Does not contribute to final mark.
Short assessment using a compiled language. (Example: Solve a partial differential equation using finite differences for given initial / boundary conditions. All class to do the same exercise, using their
compiled language of choice.) 30% of total
Long exercise. Students do individual mini-projects set by the supervisor of their main research project, using the main language which is to be used in their main research project. 70% of total.
Note that the long exercise will require double-marking rather than moderating as each student will be doing a different problem. |
Special Arrangements
None |
Additional Information
Academic description |
Not entered |
Syllabus |
Not entered |
Transferable skills |
Not entered |
Reading list |
Not entered |
Study Abroad |
Not entered |
Study Pattern |
Not entered |
Keywords | Programming. Data analysis. |
Contacts
Course organiser | Dr Hugh Pumphrey
Tel: (0131 6)50 6026
Email: h.c.pumphrey@ed.ac.uk |
Course secretary | Mr Ken O'Neill
Tel: (0131 6)50 8510
Email: koneill3@exseed.ed.ac.uk |
|
|