F27SP Introduction to Programming 1

Chin Zi Hau

Course co-ordinator(s): Chin Zi Hau (Malaysia).

Aims:

This course is aimed at students enrolled in the BSc Data Sciences programme and it introduces computer programming language fundamentals suitable for a data scientist using a relevant programming language, e.g., python.

Detailed Information

Course Description: Link to Official Course Descriptor.

Pre-requisites: none.

Location: Dubai, Edinburgh, Malaysia.

Semester: 1.

Syllabus:

  • Introduction to computer science, algorithms, computer architecture and operating system
  • Concepts of variables, data types, assignments, arithmetic operators, expressions
  • Conditions, boolean logic, logical operators, ranges
  • Control statements: if/else, loops (for, while)
  • String manipulation: indexing, subscript operator, slicing, concatenating, converting strings to numbers and vice versa
  • Running, Sharing, Reading, commenting and documenting programmes
  • Functions: reducing redundancy and complexity; formal/actual arguments, named argument; program structure and design; recursive functions
  • Sequences: Lists, tuples, byte sequences, byte arrays; iteration; basic list operators, replacing, inserting, removing, searching items
  • Manipulating files; text files: reading/writing; formatted text files

Learning Outcomes: Subject Mastery

  • Understanding, analysing and characterising an information processing problem
  • Design an algorithm to solve problem in pseudocode
  • Mastering procedural programming constructs: variables, types, operators, assignments
  • Selecting appropriate control structures: conditional and iterative
  • Designing modular programmes with functions, arguments and return
  • Understanding and designing recursive functions
  • Understanding the differences between compiled and interpreted languages and interpreting error messages
  • Reading, commenting, and documenting a procedural program
  • Writing programs with string processing
  • Representing and manipulating data using lists and tuples
  • Reading/writing text and numbers from/to flat and structured (e.g. CSV) files
  • Installing interpreter, using interactive shell, editing, saving and running scripts using simple EDI (e.g. VS code)
  • Sharing work with peers using version control systems
  • Installing and operating debugger to track code execution
  • Managing code in files and directories

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: 7.

Credits: 15.