CSU22012 – Algorithms and Data Structures II

Module CodeCSU22012
Module NameAlgorithms and Data Structures II
ECTS Weighting [1]5 ECTS
Semester TaughtSemester 2
Module Coordinator/s  Dr. Anthony Ventresque

Module Learning Outcomes

On successful completion of this module, students will be able to:

  1. Have the ability to evaluate algorithms in terms of their running time and memory space requirements and classify those algorithms in the major complexity classes using appropriate performance models;
  2. Be able to identify the most suitable data structures and algorithms for each programming problem based on the parameters of the problem, the advantages and limitations of each data structure and algorithm, the resources available, the desired performance criteria etc.;
  3. Have gained experience in implementing effective new and existing algorithms;
  4. Have gained knowledge of different algorithm design approaches;
  5. Have gained experience both in working as an individual and in a team on designing and developing software solutions utilizing the most appropriate algorithms;
  6. Have gained experience in communicating their solutions through writing, demonstrations and presentations.

Module Content

  • Recursion vs iteration;
  • Greedy algorithms;
  • Divide and conquer;
  • Graph algorithms;
  • Searching and Sorting algorithms;
  • Dynamic Programming algorithms.

Teaching and Learning Methods

  • 3 hours of lectures, 1 hour of laboratories per week.
  • Individual coursework assignments.
  • Quizzes and e-tests.

Assessment Details

Assessment ComponentBrief DescriptionLearning Outcomes Addressed% of TotalWeek SetWeek Due
Assignment 1Sorting Algorithms (individual assignment)LO1, LO3, LO420%Week 13Week 16
Assignment 2Graph Algorithms (individual assignment) LO1, LO3, LO420%Week 21Week 23
E-TestMCQ Blackboard QuizLO1, LO3, LO420%Week 19Week 19
ExaminationIn person examinationLO1, LO2, LO3, LO4, LO5, LO640%TBDTBD

Reassessment Details

In person Examination 2hrs 100%.

Contact Hours and Indicative Student Workload

Contact Hours (scheduled hours per student over full module), broken down by:44 hours
Lecture33 hours
Laboratory11 hours
Tutorial or seminar0 hours
Other0 hours
Independent Study (outside scheduled contact hours), broken down by:72 hours
Preparation for classes and review of material (including preparation for examination, if applicable)36 hours
Completion of assessments (including examination, if applicable)36 hours
Total Hours116 hours

Recommended Reading List

Main textbook:

Module Pre-requisites

Prerequisite modules: CSU22011: Algorithms and Data Structures I

Other/alternative non-module prerequisites: N/A

Module Co-requisites

N/A

Module Website

Blackboard