Introduction to Programming 1

Course unit fact file
Unit code COMP16321
Credits 20
Unit level Level 1
Teaching period(s) Semester 1
Offered by Department of Computer Science

Overview

Programming is a core skill in the digital era, underpinning innovation in virtually every domain of computing, from web and mobile apps to scientific research and intelligent systems. This unit introduces students to the foundational concepts of programming through Python, a widely-used and versatile programming language known for its readability and broad ecosystem.

The course begins by exploring the building blocks of programming: variables, data types, and control structures such as selection and iteration. From these fundamentals, students’ progress into practical techniques like file handling and modular programming using functions. They will learn to structure their programs using functions, leverage external libraries and packages, and apply best practices for writing clean, maintainable, and secure code.

As students gain confidence, they will investigate more applied topics such as graphical interfaces and animation, enabling the development of interactive applications. Object-oriented programming principles will be introduced to illustrate how complex software systems are structured and maintained. The course also places a strong emphasis on real-world applicability, teaching secure coding practices and exploring how to visualize data effectively, skills increasingly vital across industries.

Throughout the unit, students will not only learn how to write Python programs, but also how to think computationally, analysing problems, designing algorithmic solutions, and evaluating code quality in terms of performance, maintainability, and correctness. They will build confidence in estimating development effort, selecting appropriate libraries and tools, and reflecting on the purpose and structure of existing code.

By combining theory, hands-on programming, and creative problem-solving, this unit equips students with the essential skills to begin their journey as confident, capable software developers. 

Pre/co-requisites

Unit title Unit code Requirement type Description
Introduction to Programming 2 COMP16412 Co-Requisite Compulsory

COMP16412 is a co-requisite which means it must be taken with this unit.

Aims

This course offers a comprehensive introduction to programming through Python, one of the most accessible and widely used programming languages today. Students will explore core programming concepts including variables, control structures, functions, file handling, and modular design. The curriculum also covers practical skills such as using libraries, building graphical user interfaces, implementing animations, and visualising data. With an emphasis on writing maintainable and secure code, students will gain the confidence to analyse, design, and implement solutions to real-world problems. Through a blend of foundational theory and hands-on coding experience, this course equips learners with the essential tools and mindset to begin their journey as capable, problem-solving developers. 

Learning outcomes

ILO 1: Evaluate the quality of code (correctness, maintainability, efficiency).

ILO 2: Estimate the development time needed to implement a solution to a problem.

ILO 3: Explain what a given (simple) program does.

ILO 4: Design programs to solve given (simple) problems.

ILO 5: Explain basic programming constructs and describe their manifestation in different programming languages.

ILO 6: Identify appropriate programming resources (tools, libraries) needed to implement a solution to a problem.

ILO 7: Implement maintainable solutions to problems using appropriate development tools.

Syllabus

Week 1: Variable, States & Types
Week 2: Selection & Iteration
Week 3: File Handling
Week 4: Functions
Week 5: Packages & Libraries
Week 6: Reading Week
Week 7: Graphics & User Interfaces
Week 8: Graphics & Animation
Week 9: Secure Coding
Week 10: General Intro to OOP
Week 11: Data Visualisation in Python
 

Teaching and learning methods

Lectures [10 in total]
Videos [ various each week]
Workshops [8 in total]
Drop-In Laboratory Session [1 per week]
Formative Quizzes [1 per week]
Additional Reading 
 

Employability skills

Analytical skills
Innovation/creativity
Project management
Oral communication
Problem solving
Written communication

Assessment methods

Method Weight
Written exam 70%
Practical skills assessment 30%

Feedback methods

Workshops, Drop-In Labs, Discussion Boards, Formal through Coursework

Study hours

Scheduled activity hours
Assessment written exam 2
Lectures 11
Practical classes & workshops 22
Work based learning 40
Independent study hours
Independent study 125

Teaching staff

Staff member Role
Gareth Henshall Unit coordinator