CSC8621 : Computing Foundations of Data Science

Semester 1 Credit Value: 10
ECTS Credits: 5.0


This module aims to introduce the fundamental computing concepts and techniques underpinning contemporary data science. The module aims to provide students with a grounding in program design and implementation, programming environments. Furthermore, it explores how to apply and devise algorithms for a particular problem.

This module places an emphasis on clear design and development of programs, teaching how to break problems down to provide simpler and easier-to-use solutions. Students will apply these skills at a practical level with a particular programming language, though the skills learnt here can be applied to any programming language.

Outline Of Syllabus

- What is programming?
- The building blocks and structure of computer programs.
- Tackling data analysis problems.
- Algorithms and some examples.
- Introduction to a programming language, and relevant libraries, for data analysis.
- Methods and data structures for data analysis.
- Case studies in software development within a data science context.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion221:0022:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesLecture221:0022:00N/A
Guided Independent StudyAssessment preparation and completion102:0020:00Practical/Lab report exercises
Scheduled Learning And Teaching ActivitiesPractical221:0022:00N/A
Guided Independent StudyIndependent study141:0014:00Background reading
Teaching Rationale And Relationship

Lectures are used for the delivery of theory and explanation of methods, illustrated with examples, and for giving general feedback on marked work. Practicals are used both for solution of problems and work requiring extensive computation and to give insight into the ideas/methods studied. A practical is associated with each lecture in order to provide sufficient hands-on training and rapid feedback on understanding.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M45Up to 3 programming assignments (1000 words as specified for each report
Report1M55Software development project and report. (Word count: up to 1500 words)
Assessment Rationale And Relationship

Programming assignments (approximately 3 pieces of work of approximately equal weight) followed by a larger piece of project work allow the students to develop their problem solving techniques, to practise the methods learnt in the module, to assess their progress and to receive feedback; the smaller pieces of work are thus formative as well as summative assessment.

The semi-structured interview facilitates a reflective discussion about how individual students have met the learning objectives of the module and how the principles of fundamental statistics are embedded in the functionality of their project work.

Reading Lists