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. Ivana Dusparic

Module Learning Outcomes

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

  • LO1 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.
  • LO2 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.
  • LO3 Have gained experience in implementing effective new and existing algorithms.
  • LO4 Have gained knowledge of different algorithm design approaches.
  • LO5 Have gained experience both in working as an individual and in a team on designing and developing software solutions utilizing the most appropriate algorithms
  • LO6 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%1316
Assignment 2Graph algorithms (individual assignment) LO1, LO3, LO420%2123
E-testMCQ blackboard quizLO1, LO3, LO420%1919
Final AssignmentApplications of sorting, searching and graph algorithms (group assignment) LO1, LO2, LO3, LO4, LO5, LO640%TBDTBD


Reassessment Details

Real-time 2 hour online Blackboard exam. 100%

Contact Hours and Indicative Student Workload

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

Recommended Reading List

Main textbook:
Algorithms (4th Edition)
Robert Sedgewick and Kevin Wayne
http://algs4.cs.princeton.edu/home/
Pearson Education 2011

Introduction to Algorithms (3rd Edition)
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
http://mitpress.mit.edu/books/introduction-algorithms
MIT Press 2009

Module Pre-requisites

Prerequisite modules: Java programming

Other/alternative non-module prerequisites: Java programming

Module Co-requisites

None

Module Website

Blackboard