Skip to main content

Module

CSC2032 : Algorithm Design and Analysis

  • Offered for Year: 2021/22
  • Module Leader(s): Dr Jason Steggles
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semesters
Semester 1 Credit Value: 10
ECTS Credits: 5.0

Aims

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
Guided Independent StudyAssessment preparation and completion11:301:30End of module assessment
Guided Independent StudyAssessment preparation and completion201:0020:00Revision for module assessment
Guided Independent StudyAssessment preparation and completion201:0020:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesLecture201:0020:00Lectures
Guided Independent StudySkills practice81:008:00Tutorial exercises supported by sample solutions
Guided Independent StudyIndependent study41:004:00Online formative assessment quizzes
Guided Independent StudyIndependent study126:3026:30Background study and reading
Total100:00
Teaching Rationale And Relationship

Lectures 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.

Tutorials will be used to provide the opportunity for students to gain practical skills and understanding in the theory and techniques developed during lectures. Additional quizzes will be provided to give further opportunities for students to check and develop their understanding and skills.

Note: should the situation mean that in-person teaching is restricted then the plan will be to revert to a similar style of delivery as used in 2020/21 based on short videos and online help sessions.

Assessment Methods

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

Exams
Description Length Semester When Set Percentage Comment
PC Examination901A100PC Exam
Formative Assessments
Description Semester When Set Comment
Prob solv exercises1MWeekly tutorial exercise supported by worked sample answers
Computer assessment1MWeekly online quiz providing automatic feedback on performance.
Assessment Rationale And Relationship

The pc 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. In the event that circumstances prevent the exam taking place then a 24 hour take home assessment will be used (as was done in 2020/21).

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

Timetable