Don't just imagine your future at University, experience it first-hand!

Step into the shoes of an undergraduate student and join us for our upcoming on-campus Discover Days in Science, Engineering and Fashion. These days are tailored exclusively for Year 12s who are interested in taking their academic journey to the next level. Find your favourite subject now!

Find out more about our Discover Days in Science, Engineering and Fashion

BSc Computer Science and Mathematics / 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