0% found this document useful (0 votes)
2 views3 pages

Course Outine Data Structures and Algorithms

The course 'Data Structures and Algorithms' (HCE/HHE/HSE 111) is designed for students with programming experience and focuses on the analysis and design of fundamental data structures. Key learning outcomes include understanding algorithm theory, applying abstract data types, and analyzing algorithms, with course content covering recursion, lists, trees, sorting algorithms, and graphs. Assessment is through continuous evaluation (50%) and a final exam (50%), incorporating group assignments, individual tests, and a group project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views3 pages

Course Outine Data Structures and Algorithms

The course 'Data Structures and Algorithms' (HCE/HHE/HSE 111) is designed for students with programming experience and focuses on the analysis and design of fundamental data structures. Key learning outcomes include understanding algorithm theory, applying abstract data types, and analyzing algorithms, with course content covering recursion, lists, trees, sorting algorithms, and graphs. Assessment is through continuous evaluation (50%) and a final exam (50%), incorporating group assignments, individual tests, and a group project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

COURSE OUTLINE

Course Name: Data Structures and Algorithms


Course Code: HCE/HHE/HSE 111
Lecturer:
Contact Details: Cell:
E-mail
Prerequisites: This course is intended for students who have
programming experience.

Overview:
This course covers analysis and design of fundamental data structures and engages learners to
use data structures as tools to algorithmically design efficient computer programs that will cope
with the complexity of actual applications.

Learning outcomes:
Upon successful completion of this course, you should be able to
• Explain the algorithm theory and data structures on a general level.
• Explain the systematic methods of efficiently organizing and accessing data in data
structures and algorithms.
• Identify the properties and structural patterns in data structures.
• Apply abstract data types to the design of data structures.
• Analyse algorithms using a mathematical notation and experimental studies.
• Perform comparative analysis of the typical data structures and algorithms.
• Design and analyse recursive algorithms in data structures.
• Write code in pseudo code and high-level programming languages for the
implementation of various data structures and algorithms.
Course Content:

Unit 0 - Course administration and introduction


1. Course introduction
2. Problem solving
Unit 1 – Recursion and Algorithm Complexity
The student will be able to
1. Unfold the recursive program by coding it non-recursively.
2. Create the stack frames for a recursive program.
3. Describe time-complexity issues - definitions of Big-O.
4. Analyse algorithms to determine their running time and the order of their running time.
Unit 2 -Lists, Stacks and Queues
The student will be able to
1. Use and implement Array Lists and Linked Lists.
2. Describe the algorithms for manipulating singly, doubly, and circular linked lists
3. Built in data structures: tuples etc
4. Describe the algorithms for manipulating stacks and queues.
5. Use and Implement stacks and queues.

Unit 3 - Trees
The student will be able to
1. Describe the algorithms for tree traversals, insertions, deletions.
2. Implement and use Binary Search trees, Heaps/Priority Queues.
3. Represent a priority queue using an array.

Unit 4 – Sets, Maps and Hash Tables


The student will be able to
1. Describe the algorithms for Sets and Maps.
2. Implement and use Sets, Maps and Hash Tables.
Unit 5– Sorting Algorithms
The student will be able to
1. Implement and compare different sorting algorithms.
2. Analyse several sorting algorithms to determine their running time and the order of their
running time.
Unit 6 – Balanced Trees and Graphs
The student will be able to
1. Compare balanced trees to un-balanced trees.
2. Describe ALV trees and Red-Black trees.
3. Understand graph terminology and algorithms.
4. Represent a graph as adjacency matrix, adjacency list.

Methods of evaluation:

The course is assessed through continuous assessment and a final examination. Continuous
assessment will constitute 50% while the final examination will constitute 50% of the final
mark. Continuous assessment will be in the form of two group assignments (30%), three
individual tests (20%) and one group project. The final examination will be will be 3 hours.

Teaching-training activities:
-Lectures
- Self-study
- Teacher-led group activities
- Peer assessment
- Presentations

You might also like