F78AP Algorithmic Scientific Programming

Dr Fraser DalyDr Karamjeet SinghNurul Ain Toha

Course co-ordinator(s): Dr Fraser Daly (Edinburgh), Dr Karamjeet Singh (Malaysia), Nasreddine Megrez (Dubai), Nurul Ain Toha (Malaysia).

Aims:

• To introduce the use of algorithms to solve computational problems
• To equip students with fundamentals of computer programming; skills and techniques which may be applied in a wide variety of programming languages
• To have students create algorithms to solve computational problems in at least two programming languages used in modern data science (such as R and Python)

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: none.

Location: Dubai, Edinburgh, Malaysia.

Semester: 1.

Syllabus:

• Introduction to computational algorithms
• Conditional statements: if, else
• Loops: for, while
• Writing functions
• Recursion
• Vectors, arrays and matrices
• Graphics
Students will study the above using at least two programming languages (e.g. R and Python)

Learning Outcomes: Subject Mastery

At the end of this course, students should be able to:
• design and implement appropriate algorithms to solve computational problems
• understand the logical operation of computer programmes
• use appropriate control structures, loops and conditional statements within computer programmes
• use appropriate data structures within computer programmes

At the end of this course, students should be able to:
• systematically analyse the structure and operation of unfamiliar algorithms and computer programmes
• design algorithms and programmes to solve unfamiliar computational problems

Learning Outcomes: Personal Abilities

At the end of this course, students should be able to:
• use appropriate algorithms and computer programmes to solve problems relevant to modern data science and related industries

At the end of this course, students should be able to:

• apply their understanding of computer programming to independent study of unfamiliar programming languages

At the end of this course, students should be able to:
• design and implement appropriate algorithms to solve mathematical and statistical problems
• use appropriate software to write and execute computer programmes
• write computer code understandable to other users

Assessment Methods: Due to covid, assessment methods for Academic Year 2021-22 may vary from those noted on the official course descriptor. Please see the Computer Science Course Weightings and the Maths Course Weightings for 2020-21 Semester 1 assessment methods.

SCQF Level: 8.

Credits: 7.5.

Other Information

Help: If you have any problems or questions regarding the course, you are encouraged to contact the lecturer

Canvas: further information and course materials are available on Canvas