ST101W Half Unit
Programming for Data Science
This information is for the 2025/26 session.
Course Convenor
Christine Yuen
Availability
This course is compulsory on the BSc in Mathematics with Data Science. This course is available on the BSc in Accounting and Finance, BSc in Actuarial Science, BSc in Actuarial Science (with a Placement Year), BSc in Mathematics, Statistics and Business, Erasmus Reciprocal Programme of Study and Exchange Programme for Students from University of California, Berkeley. This course is available with permission as an outside option to students on other programmes where regulations permit. This course is available with permission to General Course students.
This course has a limited number of places (it is capped) and demand is typically very high. Students who have this course as a compulsory course are guaranteed a place.
Course content
The primary focus of the course is to cover principles of computer programming with a focus on data science applications.
The topic covered will include variables, basic data types, data structures and sequences, control flow structures, modularisation, functions, variable and function scoping, testing and debugging, errors and exception handling, and data input-output operations using file systems and operating system standard input-output; principles of object-oriented programming including objects, classes, methods, encapsulation, inheritance, and polymorphism; principles of functional programming languages such as use of immutable data, flow control using functional calls and recursions; practical aspects of algorithmic concepts such as searching.
The course will primarily use Python programming language, but may also discuss and provide references to how the fundamental programming concepts are implemented in other programming languages, in particular, R.
Teaching
20 hours of seminars and 20 hours of lectures in the Winter Term.
This course has a reading week in Week 6 of Winter Term.
Students are required to install Python on their own laptops and use their own laptops in the classes and lectures.
Formative assessment
Students will be expected to produce 5 problem sets in the WT.
The problem sets will consist of computer programming exercises in Python programming language.
Indicative reading
Essential Reading:
- J. V. Guttag, Introduction to Computation and Programming using Python, Second Edition, The MIT Press, 2017
- P. Gries, J. Campbell, J. Montojo, Practical Programming: An Introduction to Computer Science Using Python 3.6, Third Edition, Pragmatic Bookshelf, 2018
Additional Reading:
- W. Mckinney, Python for Data Analysis, 2nd Edition, O'Reilly, 2017
- A. B. Downey, Think Python: How to Think like a Computer Scientist, 2nd Edition, O'Reilly Media, 2015
- J. Zelle, Python Programming: An Introduction to Computer Science, 3rd edition, Franklin, Beedle & Associates, 2016
Assessment
Exam (70%), duration: 120 Minutes, reading time: 15 minutes in the Spring exam period
Continuous assessment (30%)
The exam will be an invigilated on-campus 'e-exam'.
Key facts
Department: Statistics
Course Study Period: Winter Term
Unit value: Half unit
FHEQ Level: Level 4
CEFR Level: Null
Total students 2024/25: Unavailable
Average class size 2024/25: Unavailable
Capped 2024/25: NoCourse selection videos
Some departments have produced short videos to introduce their courses. Please refer to the course selection videos index page for further information.
Personal development skills
- Self-management
- Problem solving
- Application of information skills
- Communication
- Application of numeracy skills
- Commercial awareness
- Specialist skills