F78AP Algorithmic Scientific Programming

Dr Fraser DalyDr Karamjeet SinghAbdullah Almasri

Course co-ordinator(s): Dr Fraser Daly (Edinburgh), Dr Karamjeet Singh (Malaysia), Abdullah Almasri (Malaysia), Dr Haslifah Hasim (Dubai).

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:
- Maths (F1) Course Weightings 2021/22
- Computer Science (F2) Course Weightings 2021/22
- AMS (F7) Course Weightings 2021/22

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 course leader.

Canvas: further information and course materials are available on Canvas