Skip to main content


CSC2032 : Algorithm Design and Analysis

  • Offered for Year: 2024/25
  • Module Leader(s): Dr Jason Steggles
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus

Your programme is made up of credits, the total differs on programme to programme.

Semester 1 Credit Value: 10
ECTS Credits: 5.0
European Credit Transfer System


Knowledge of a range of key application areas where algorithmic solutions are required.
Understand the key issues in algorithm design.
Understand what makes a "good" algorithm.
Explore a range of techniques for algorithm design.
Ability to analyse an algorithm’s complexity.

Outline Of Syllabus

Introduction to Algorithms:
•       Introduce the idea of an algorithm
•       Documenting an algorithm and the use of pseudo code
•       Introduction to algorithm analysis

Fundamental Algorithmic Problems:
•       Searching
•       Sorting
•       String searching
•       Graph problems

Algorithm Analysis:
•       Asymptotic analysis of upper and average complexity bounds
•       Identifying differences among best, average, and worst case behaviours
•       Standard complexity classes
•       Using recurrence relations to analyze recursive algorithms
•       NP Complete problems

Algorithm Design Techniques:
•       General ideas for algorithm development
•       Brute-force algorithms
•       Greedy algorithms
•       Divide-and-conquer
•       Backtracking

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture111:0011:00Lectures (PIP)
Guided Independent StudyAssessment preparation and completion110:305:30Lecture follow-up
Guided Independent StudyAssessment preparation and completion301:0030:00Revision for module assessment
Guided Independent StudyAssessment preparation and completion11:301:30End of module assessment
Scheduled Learning And Teaching ActivitiesPractical51:005:00Tutorial problem solving class (PiP)
Guided Independent StudySkills practice101:3015:00Online tutorial exercises supported by sample solutions
Guided Independent StudyIndependent study101:3015:00Online study videos
Guided Independent StudyIndependent study62:0012:00Background study and reading
Guided Independent StudyIndependent study51:005:00Online formative assessment quizzes
Teaching Rationale And Relationship

Lectures (PiP) and online study videos will be used to introduce the key module material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning.

Tutorial exercises will be provided online and integrated into the study materials. These allow students to gain practical skills and understanding in the theory and techniques covered.

There will be a series of tutorial sessions (PiP) that will look at applying the techniques and skills developed in problem solving situations. Online quizzes will be used at key points in the module to help student check and reinforce their progress.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Description Length Semester When Set Percentage Comment
Digital Examination901A100Digital Exam
Formative Assessments

Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.

Description Semester When Set Comment
Prob solv exercises1MWeekly exercise supported by worked sample answers
Assessment Rationale And Relationship

The digital exam assessment given at the end of the module ensures students get the vital opportunity to go back over the material covered (this is important given the type of technical topics considered) and is very well suited to formally assessing the type of material covered in this module.

A range of formative assessments are used to support student’s self-study during the module and gauge their understanding as the course progresses.

Reading Lists