Skip to main content

Study information

Principles of Programming - 2025 entry

MODULE TITLEPrinciples of Programming CREDIT VALUE30
MODULE CODECOMM109Z MODULE CONVENERDr Phil Lewis (Coordinator)
DURATION: TERM 1 2 3
DURATION: WEEKS 11
Number of Students Taking Module (anticipated)
DESCRIPTION - summary of the module content
In this module you will learn the principles of good programming so that your code is efficient in its speed and use of resources. Topics include problem solving in Python; the design, implementation and evaluation of algorithms (with attention to time and space complexity); and the fundamentals of computer execution that govern program behaviour.
 
It will include the core skills needed to develop software, good practise in design using functions and object-orientated programming. You will learn about different algorithms used in common tasks such as sorting and searching, and how problems can be classed in terms of complexity. You will also learn to construct and optimise your own algorithms to different problems and how to evaluate their performance.
AIMS - intentions of the module

The aim of this module is to teach you how to solve problems effectively using code. You will learn practical skills in Python, how to design solutions (algorithms) and check if they are efficient, and you will get a basic understanding of how computers run your programs. This combination of skills is important because in the real world, it’s not enough for code to simply work; it also needs to be fast and handle data well. Knowing how a computer executes your instructions will help you write better, more efficient code, giving you a strong foundation for a future career in software development or technology.

INTENDED LEARNING OUTCOMES (ILOs) (see assessment section below for how ILOs will be assessed)

On successful completion of this module you should be able to:

Module Specific Skills and Knowledge

1. Program and run code in Python using best coding practises.
2. Understand common problems in computer science and corresponding algorithms and associated data structures. 
3. Understand how computers operate to carry out algorithms.

Discipline Specific Skills and Knowledge

4. Design code solutions using industry-standard approaches for software development and testing including usage of AI coding tools.
5. Design a corresponding algorithm to given problems in computer science, and be able to implement and evaluate the resulting solution.

Personal and Key Transferable / Employment Skills and Knowledge

6. Systematically analyse complex problems by deconstructing them into smaller, manageable sub-problems, and design a logical, step-by-step algorithmic solution to address them.
7. Critically evaluate alternative solutions to problems using objective criteria and effectively communicate the trade-offs and justification for a chosen technical approach.

 

SYLLABUS PLAN - summary of the structure and academic content of the module
The module is taught in two parts. The first covers good programming practise using the Python language, and the second considers algorithms, how they run on a computer and how to evaluate and optimise them. Topics will include: 
  • Python operations and data types; control and flow; data structures.
  • Program design and structure using functions.
  • Working with Files, Testing and exception handling.
  • Software development in Python and how to use AI coding tools.
  • Specification and pseudocode. 
  • Algorithms and data structure design
  • Fundamental algorithms for standard problems (e.g. searching, sorting). 
  • Classifying, measuring and evaluating algorithms including P and NP problems
  • Computer architectures and operating systems 
 
LEARNING AND TEACHING
LEARNING ACTIVITIES AND TEACHING METHODS (given in hours of study time)
Scheduled Learning & Teaching Activities 120 Guided Independent Study 180 Placement / Study Abroad 0
DETAILS OF LEARNING ACTIVITIES AND TEACHING METHODS
Category Hours of study time Description
Scheduled learning and teaching activities  120 Asynchronous online learning activities
Guided independent study 180 Including preparation for online content, reflection on taught material, wider reading and completion of assessments
     

 

ASSESSMENT
FORMATIVE ASSESSMENT - for feedback and development purposes; does not count towards module grade
Form of Assessment Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Problem sets 2 hours per week 1-7 Model answers, discussion with tutor in forum on ELE

 

SUMMATIVE ASSESSMENT (% of credit)
Coursework 100 Written Exams 0 Practical Exams 0
DETAILS OF SUMMATIVE ASSESSMENT
Form of Assessment % of Credit Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Programming coursework 50 20 hours 1, 4, 6-7 Written
Algorithms coursework 50 20 hours 1-7 Written

 

DETAILS OF RE-ASSESSMENT (where required by referral or deferral)
Original Form of Assessment Form of Re-assessment ILOs Re-assessed Time Scale for Re-assessment
Programming coursework  Replacement coursework 1, 4, 6-7 See below
Algorithms coursework Replacement coursework 1-7 See below

 

RE-ASSESSMENT NOTES

Students requiring reassessment or deferral will be given the opportunity for re-assessment at the next available assessment opportunity. For Term 1 / 2 starts - reassessment will be in August, for Term 3 starts re-assessment will be in January.

RESOURCES
INDICATIVE LEARNING RESOURCES - The following list is offered as an indication of the type & level of
information that you are expected to consult. Further guidance will be provided by the Module Convener

Basic reading:

  • Matthes, Eric, Python crash course a hands-on, project-based introduction to programming. ISBN : 9781718502710
  • Allen B. Downey, “Think Python: How to think like a Computer Scientist”, O’Reilly Media, 2012. ISBN: 978-1449330729. 
  • Cormen T, Leiserson C, Rivest R, Stein C, “Introduction to Algorithms”, 3rd edition, MIT Press, 2009. 
  • Aho, A., Ullman, J., Hopcroft, J., “Data Structures and Algorithms”, Addison Wesley, 1983. 
  • Stallings, W, “Computer Organization and Architecture: Designing for Performance”, 9th edition, Pearson, 2012. 
  • Stallings, W, “Operating Systems: Internals and Design Principles”, 7th edition, Pearson, 2011. 

ELE:

  • ELE.

Web based and Electronic Resources:

Other Resources:

Reading list for this module:

There are currently no reading list entries found for this module.

CREDIT VALUE 30 ECTS VALUE 15
PRE-REQUISITE MODULES None
CO-REQUISITE MODULES None
NQF LEVEL (FHEQ) 7 AVAILABLE AS DISTANCE LEARNING Yes
ORIGIN DATE Tuesday 30th September 2025 LAST REVISION DATE Wednesday 1st October 2025
KEY WORDS SEARCH Computer; programming; data; algorithms; problem solving; Python

Please note that all modules are subject to change, please get in touch if you have any questions about this module.