Principles of Programming - 2025 entry
| MODULE TITLE | Principles of Programming | CREDIT VALUE | 30 |
|---|---|---|---|
| MODULE CODE | COMM109Z | MODULE CONVENER | Dr Phil Lewis (Coordinator) |
| DURATION: TERM | 1 | 2 | 3 |
|---|---|---|---|
| DURATION: WEEKS | 11 |
| Number of Students Taking Module (anticipated) |
|---|
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.
On successful completion of this module you should be able to:
Module Specific Skills and Knowledge
2. Understand common problems in computer science and corresponding algorithms and associated data structures.
Discipline Specific Skills and Knowledge
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
7. Critically evaluate alternative solutions to problems using objective criteria and effectively communicate the trade-offs and justification for a chosen technical approach.
- 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
| Scheduled Learning & Teaching Activities | 120 | Guided Independent Study | 180 | Placement / Study Abroad | 0 |
|---|
| 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 |
| 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 |
| Coursework | 100 | Written Exams | 0 | Practical Exams | 0 |
|---|
| 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 |
| 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 |
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.
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:
- Think Python website: http://www.greenteapress.com/thinkpython/
- Python language website: http://www.python.org
Other Resources:
Reading list 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.


