BSc Computer Science / Course details

Year of entry: 2024

Course unit details:
Introduction to Programming 1

Course unit fact file
Unit code COMP16321
Credit rating 20
Unit level Level 1
Teaching period(s) Semester 1
Available as a free choice unit? Yes


This course introduces the basic concepts of imperative computer programming using the Python language. The basic principles of becoming a good programmer will be taught through two lectures a week, one in a ‘TED-talk’ style and the second being a live coding session. In addition there are weekly offline workshops designed to test your logical thinking and problem solving, and finally, a weekly laboratory session giving you a chance to put all of your new skills into practice.



Unit title Unit code Requirement type Description
Introduction to Programming 2 COMP16412 Co-Requisite Compulsory
COMP16321 has co-requisite of COMP16412


By the end of this course unit students will be able to:

  • Write simple python programs using best practice methods
  • Optimise & correct a pre-existing code base
  • View and complete programming tasks in a logical manner


Learning outcomes

  • Explain basic programming constructs and describe their manifestation in different programming languages.                              
  • Explain what a given (simple) program does.
  • Design programs to solve given (simple) problems.
  • Implement maintainable solutions to problems using appropriate development tools.
  • Evaluate the quality of code (correctness, maintainability, efficiency).
  • Estimate the development time needed to implement a solution to a problem.
  • Identify appropriate programming resources (tools, libraries) needed to implement a solution to a problem.  




Week 1: Variable, Types and State
Week 2: Iteration
Week 3: Selection
Week 4: File Handling
Week 5: Creating Functions
Week 6: Reading Week
Week 7: Packages and Libraries
Week 8: Graphics and Key Binding
Week 9: Validation and Exceptions
Week 10: Searching and Sorting Algorithms
Week 11: General Introduction to OOP
Week 12: Revision Week

Teaching and learning methods


22 in total, 2 per week


12 in total, each one hour long, run as an offline session designed to enhance your skills as a programmer


12 in total, each is a two-hour session assisted by an academic and TAs. Labs are formatively assessed and are designed to aid with coursework in this course unit.


Assessment methods

Method Weight
Written exam 50%
Practical skills assessment 50%

Feedback methods

Formative feedback during workshops, laboratories and MCQs. Summative feedback with assessments.

Recommended reading


Study hours

Scheduled activity hours
Lectures 22
Practical classes & workshops 24
Independent study hours
Independent study 154

Teaching staff

Staff member Role
Gareth Henshall Unit coordinator

Return to course details