Course Information
COMP2119 Introduction to Data Structures and Algorithms

COMP2119 Introduction to Data Structures and Algorithms

2017-18
Instructor(s):Kao Benjamin
(Class A) No. of credit(s):6
Yiu S M
(Class B)
Yiu S M
(Class C)
Recommended Learning Hours:
Lecture: 34.0
Tutorial: 5.0
Pre-requisite(s):COMP1117 or CSIS1117 or ENGG1002 or ENGG1111 or ENGG1112
Co-requisite(s):COMP2123 or CSIS1122 or CSIS1123
Mutually exclusive with:  
Remarks:

Course Learning Outcomes

1. [Mathematics foundation]
understand the concept of time, space complexity and analyze the time and space complexities of an algorithm and a data structure.
2. [Data structures]
understand well-known generic data structures such as stack, queue, tree and related algorithms and apply them to solve problems.
3. [Problem solving]
design new data structures and algorithms to solve problems.
4. [Implementation]
implement selected data structures and algorithms.
Mapping from Course Learning Outcomes to Programme Learning Outcomes
 PLO aPLO bPLO cPLO dPLO ePLO fPLO gPLO hPLO iPLO j
CLO 1T,P
CLO 2T,P
CLO 3T,P
CLO 4T,P

T - Teach, P - Practice
For BEng(CompSc) Programme Learning Outcomes, please refer to here.

Syllabus

Calendar Entry:
Arrays, linked lists, trees and graphs; stacks and queues; symbol tables; priority queues, balanced trees; sorting algorithms; complexity analysis.

Detailed Description:

Mathematics foundation Mapped to CLOs
Growth of functions, recurrences, time and space complexity1
Basic data structures and algorithms Mapped to CLOs
Array, linked list, stack, queue, trees, hashing, graphs, sorting and searching algorithms2, 3, 4
Advanced data structures and algorithms Mapped to CLOs
Balanced tree, heap, priority queue, sorting in linear time2, 3, 4
Lower bound Mapped to CLOs
Techniques for proving lower bounds, lower bound for sorting1

Assessment:
Continuous Assessment: 40%
Written Examination: 60%

Teaching Plan

Please refer to the corresponding Moodle course.

Moodle Course(s)

COMP2119A
COMP2119B
COMP2119C