Click here to start your application. Apply now

Academic Handbook MSc Artificial Intelligence and Ethics

Programming for Data Applications Course Descriptor

Course Code LDSCI7234 Faculty Data Science
UK Credit 15 US Credit N/A
FHEQ Level 7 Date Approved June 2023
Core attributes N/A
Pre-requisites None
Co-requisites None

Course Summary

This course is designed to equip students with the knowledge and skills necessary to work with data in high-level programming languages such as Python. The course covers topics such as data structures, functions, object oriented programming and software development lifecycles. Throughout the course, students will engage in hands-on activities that will allow them to work in teams and apply the concepts learned in class to solve real-world problems. By the end of the course, students will be able to write and test programs that load, transform, analyse, and visualise data – a workflow used often in industry and academia. There is a particular focus on resource efficiency and sustainable development.
Prerequisites: Students should have a basic understanding of programming concepts, including variables, data types, loops and functions.

Course Aims

  • Apply design principles in the construction of software systems.
  • Employ object-oriented design practices to develop libraries and applications.
  • Apply key programming concepts to load, process, analyse, and visualise data.

Learning Outcomes

On successful completion of the course, students will be able to:

Knowledge and Understanding

K1d Demonstrate a comprehensive understanding and knowledge of different data structures, master current programming practices and produce clear, concise and well documented code.
K2d Demonstrate critical awareness of applying design principles and best programming practices in the construction of current software systems.
K3d Demonstrate a degree of originality in applying data science theory, methods and tools to translate data into clear actionable insights.


K4d Critically review and identify capabilities and limitations in programming with data practices, and propose directions for further innovation.

Subject Specific Skills

S1d Critically assess the design and implementation of current programming practices in a software lifecycle.



S2d Critically evaluate current programming practices to load, process, analyse and visualise text data and apply them originally.


S3d Demonstrate the ability to design and develop object-oriented methodologies for data science applications.


S4d Identify appropriate programming practices within a professional, legal and ethical framework for addressing data management and use, security, equality, diversity and inclusion (EDI) and sustainability issues.


Transferable and Professional Skills

T1d Demonstrate initiative in leading and participating in teams for delivering programming projects according to specification.
T2d Consistently display an excellent level of technical proficiency in written English and command of scholarly terminology, so as to be able to deal with complex issues in a sophisticated and systematic way.


T3d Demonstrate initiative in working independently, effectively, and to deadlines


T4d Communicate effectively to both technical and non-technical audiences through oral presentations, software demonstrations, and written reports.


Teaching and Learning

This course has a dedicated Virtual Learning Environment (VLE) page with a syllabus and range of additional resources (e.g. readings, question prompts, tasks, assignment briefs, discussion boards) to orientate and engage you in your studies.
The scheduled teaching and learning activities for this course are:
Indicative total learning hours for this course: 150
Lectures/Labs: Typically one lecture and one lab session per week:

  • Version 1: All sessions in the same sized group, or
  • Version 2: most of the sessions in larger groups; some of the sessions in smaller groups

Faculty hold regular ‘office hours’, which are opportunities for students to drop in or sign up to explore ideas, raise questions, or seek targeted guidance or feedback, individually or in small groups.
Course information and supplementary materials are available on the University’s Virtual Learning Environment (VLE).
Students are required to attend and participate in all the formal and timetabled sessions for this course. Students are also expected to manage their directed learning and independent study in support of the course.

Employability Skills

  • Skills in writing and analysing complex code
  • Presentation skills in presenting code accordingly
  • Skills in organisation of written and coding discourse
  • Skills in being able to read, understand and comprehend the code



During the course, students will be assessed to check their understanding of concepts via weekly exercises to be done using Python code.


Students will be assessed during the course by means of set assignments.

AE: Assessment Activity Weighting (%) Online submission Coding Notebook Submission
1 Coding Assignment  50% No Yes Code and 2500 word explanation
2 Coding Assignment 50% No Yes Code and 2500 word explanation

The assessment will consist of two written coding assignments which the student will have to do to the set guidelines for coding. These assignments will be assessed in accordance with the assessment aims set out in the Programme Specification. 


Students will receive formal feedback in a variety of ways: written (including via email correspondence); oral (within one-to-one tutorials or on an ad hoc basis) and indirectly through discussion during group tutorials. Student’s will also attend Collections in which they will receive constructive and developmental feedback on their  performance.

Feedback is provided on summative assessment and is made available to the student either via email, the VLE or another appropriate method.

Indicative Reading

Note: Comprehensive and current reading lists for courses are produced annually in the Course Syllabus or other documentation provided to students; the indicative reading list provided below is used as part of the approval/modification process only.


Allen B. Downey (2015) Think Python: How to Think Like a Computer Scientist. O’Reilly Media.

Paul Deitel and Harvey Deitel (2019) Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud. Pearson.

Electronic Resources

Students can visit courses on Datacamp, Coursera and Udemy to watch videos on Python Programming.

Indicative Topics

Students will study the following topics: 

  • Mathematical expressions, vectors, and matrices
  • Data structures in Python
  • Control flow statements
  • Functions and modules
  • Automated testing
  • Creating functions
Title: LDSCI7234 Programming for Data Applictaions Course Descriptor

Approved by: Academic Board

Location: Academic Handbook/Programme specifications and Handbooks/ Postgraduate Programme Specifications

Version number Date approved Date published  Owner Proposed next review date Modification (As per AQF4) & category number
1.0 June 2023 June 2023 Alexandros Koliousis April 2028
Print/Save PDF