|Module Name||Algorithms and Data Structures II|
|ECTS Weighting||5 ECTS|
|Semester taught||Semester 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.
- 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 Component||Brief Description||Learning Outcomes Addressed||% of total||Week set||Week Due|
|Assignment 1||Sorting algorithms (individual assignment)||LO1, LO3, LO4||20%||13||16|
|Assignment 2||Graph algorithms (individual assignment)||LO1, LO3, LO4||20%||21||23|
|E-test||MCQ blackboard quiz||LO1, LO3, LO4||20%||19||19|
|Final Assignment||Applications of sorting, searching and graph algorithms (group assignment)||LO1, LO2, LO3, LO4, LO5, LO6||40%||TBD||TBD|
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|
|Tutorial or seminar||0 hours|
|Independent study (outside scheduled contact hours), broken down by:||0 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
Algorithms (4th Edition)
Robert Sedgewick and Kevin Wayne
Pearson Education 2011
Introduction to Algorithms (3rd Edition)
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
MIT Press 2009
Prerequisite modules: Java programming
Other/alternative non-module prerequisites: Java programming