COMP10020 Introduction to Programming II

Academic Year 2023/2024

This module dives deep into how to use compiuter programming to solve problems, and is a module for all students interested in learning more about programming a computer to make it do what they want it to do. Students will learn important programming constructs and how to use these in a spscific programming language. Students will also learn to take a 'divide and conquer' approach to programming, in which a complex programming task is split into a set of simple procedures: pieces of program that are easy to write. These procedures are then combined to produce a completed program. Algorithms to solve significant problems will be developed using this approach. Many of the programming examples presented in this module will focus on data science - using data to answer real-world questions - one of the most interesting areas of modern computer science.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On completion of this module students should be able to:

1. Understand the use of procedures (functions, methods) in consturcting computer programs
2. Design algorithms to solve problems
3. Successfully write, compile, debug, and run programs using these constructs
4. Design solutions that use data to answer questions (data science)
5. Apply programming techniques to develop solutions to problems in the area of data science

Student Effort Hours: 
Student Effort Type Hours
Autonomous Student Learning








Approaches to Teaching and Learning:
The main teaching and learning approaches used in this module are lectures, lab work, task-based learning, group work and student-led readings. 
Requirements, Exclusions and Recommendations
Learning Requirements:


Module Requisites and Incompatibles
COMP10060 - Computer Sci for Engineers I, COMP10110 - Computer Programming I, COMP10120 - Computer Programming II, COMP10140 - Programming for Radiography I, COMP10150 - Programming for Radiography II, COMP10180 - Computer Programming II (O/L), COMP20080 - Computer Sci for Engineers II, MIS20050 - Prog for Bus Analytics II

Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Assignment: Various assignments involving computer programming. Varies over the Trimester n/a Alternative linear conversion grade scale 40% No


Multiple Choice Questionnaire: computer programming exam 1 hour End of Trimester Exam n/a Alternative linear conversion grade scale 40% No


Carry forward of passed components
Resit In Terminal Exam
Summer No
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment
• Online automated feedback

How will my Feedback be Delivered?

Feedback will follow each assessment component.

Name Role
Dr Amr Abdelhafez Lecturer / Co-Lecturer
Paul James Banahan Tutor
Diptasree Debnath Tutor
Tehsein Firoze Akhtar Tutor
Alec Parise Tutor
Lavan Perera Tutor
Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Thurs 10:00 - 10:50
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 10:00 - 10:50
Practical Offering 1 Week(s) - 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Tues 16:00 - 17:50
Practical Offering 2 Week(s) - 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Wed 16:00 - 17:50
Practical Offering 3 Week(s) - 22, 23, 24, 25, 26, 29, 30, 31, 32, 33 Thurs 16:00 - 17:50