Module Code | CSU22012 |
Module Name | Algorithms and Data Structures II |
ECTS Weighting [1] | 5 ECTS |
Semester Taught | Semester 2 |
Module Coordinator/s | Dr. Anthony Ventresque |
Module Learning Outcomes
On successful completion of this module, students will be able to:
- 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;
- 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.;
- Have gained experience in implementing effective new and existing algorithms;
- Have gained knowledge of different algorithm design approaches;
- Have gained experience both in working as an individual and in a team on designing and developing software solutions utilizing the most appropriate algorithms;
- 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 Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
Assignment 1 | Sorting Algorithms (individual assignment) | LO1, LO3, LO4 | 20% | Week 13 | Week 16 |
Assignment 2 | Graph Algorithms (individual assignment) | LO1, LO3, LO4 | 20% | Week 21 | Week 23 |
E-Test | MCQ Blackboard Quiz | LO1, LO3, LO4 | 20% | Week 19 | Week 19 |
Examination | In person examination | LO1, LO2, LO3, LO4, LO5, LO6 | 40% | TBD | TBD |
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 |
Lecture | 33 hours |
Laboratory | 11 hours |
Tutorial or seminar | 0 hours |
Other | 0 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 Hours | 116 hours |
Recommended Reading List
Main textbook:
- Algorithms (4th Edition), Robert Sedgewick and Kevin Wayne, Pearson Education, 2011. http://algs4.cs.princeton.edu/home/
- Introduction to Algorithms (3rd Edition), Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, MIT Press 2009. http://mitpress.mit.edu/books/introduction-algorithms
Module Pre-requisites
Prerequisite modules: CSU22011: Algorithms and Data Structures I
Other/alternative non-module prerequisites: N/A
Module Co-requisites
N/A