CS2468 Data Structures and Data Management
Course Duration: One Semester
Credit Units: 3
Medium of Instruction: English
CS2360 Java Programming /or
CS2362 Computer Programming for Engineers & Scientists /or
CS2363 Computer Programming /or
CS2372 Fundamentals of Programming /or equivalent
Equivalent Courses: Nil
Exclusive Courses: Nil
Data structures are essential in computer science. This course aims to develop an understanding of the concepts and techniques of fundamental data structures, data management and simple file systems.
Course Intended Learning Outcomes (CILOs):
(state what the student is expected to be able to do at the end of the course according to a given standard of performance)
Upon successful completion of this course, students should be able to:
|No.||CILOs||Weighting (if applicable)|
|1.||describe the functionality of a data structure as an abstract data type; || |
|2.||implement an abstract data type in a programming language; || |
|3.||implement and test data structures for common structures; select an appropriate data structure from a given set of structures to solve a given problem; || |
|4.||develop the attitude to propose solutions through independent investigation; || |
|5.||develop the ability to design, implement, and apply data structures and data storage management to simple real life problems. || |
Teaching and learning Activities (TLAs):
(designed to facilitate students’ achievement of the CILOs)
Suggested lecture/tutorial/laboratory mix: 2 hrs. lecture; 1 hr. tutorial
Based on the Course ILOs, the teaching and learning activities of this course may include:
|ILO No||TLAs||Hours/week(if applicable)|
|Group Class Practice – The students have to form a group of two to solve a common programming problem. One of them is an abstract data type (ADT) user and the other is an ADT implementer. Given specifications of ADTs, the user has to write a user program to use defined operations to manipulate data. The implementer has to implement the operations to achieve data abstraction. This supports Course ILO #1 and #2. || |
|Individual Class Practices – The students have to implement an ADT with array and linked implementations without requiring user programs to make any change.The students have to implement or use ADTs such as stack, queue and tree to solve problems. This supports Course ILO #3 and #4. || |
|Quiz – In the quiz, the students have to give narrative-type answers or write simple functions in a programming language to test their understanding of fundamental concepts. This supports Course ILO #1, #2, #3, and #4. || |
|Project – The students have to form a group of two to complete the programming project. The project consists of a number of parts and the students can learn and practice different concepts and techniques in different parts.|
Part I: The students have to build an application for a real-life problem. The students have to define and implement an ADT. This part supports Course ILO #1 and #5.
Part II: The students have to design a structure to store the data and select an appropriate data structure to implement the structure. This part supports Course ILO #3.
Part III: In addition to common data operations such as retrieval, insertion, deletion and modification, the application has to support users to retrieve data from and store data to files. This part supports Course ILO #3 and #5.
|Assignment – The students have to finish two assignments through individual investigation.|
The first assignment is to apply the learnt data structures for problems, and the second one is to let the student combine several data structures to solve problems. This part supports Course ILO #4 and #5.
(designed to assess how well the students achieve the CILOs)
|ILO No||Type of assessment tasks/activities||Weighting (if applicable)||Remarks|
|CILO 1||Describe the functionality of a data structure as an abstract data type.|
Coursework – Describe the concept and explain the properties of an abstract data type.
Examination – Define an abstract data type and explain its functionality.
| || |
|CILO 2||Implement an abstract data type in a programming language.|
Coursework – Write programs to implement an abstract data type in a programming language.
Examination – Define an abstract data type in a programming language and write functions to implement defined operations.
| || |
|CILO 3||Implement and test data structures for common structures.|
Coursework – Write programs to implement and test common data structures.
Examination – Define the structure for common data structures and write functions to implement operations of data structures.
| || |
|CILO 4||Select an appropriate data structure from a given set of structures to solve a given problem.|
Coursework – Use learnt data abstract type and combine learnt data structures to solve problems and write programs to implement the solution by individual investigation.
Examination – Given a problem, propose an appropriate abstract data type to solve the problem and write program to implement the solution using the proposed abstract data type.
| || |
|CILO 5||Design and implement data storage management with simple file structures.|
Coursework – Make use of an abstract data type for indexing, write programs to store and retrieve data from files.
| || |
Grading of Student Achievement:
Examination duration: 2 hours
Percentage of coursework, examination, etc.: 30% CW; 70% Exam
Grading pattern: Standard (A+AA-…F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.
Abstract data types, data structures, linked lists, stacks, queues, binary trees, multiway trees, Btrees, sorting, searching, file processing, physical characteristics of data storage devices, access and retrieval times, updating files.
Department of Computer Science