CS2303 Data Structures for Media

Course Duration: One Semester

Credit Units: 3

Level: B2

Medium of Instruction: English

Prerequisites:
CS2331 Problem Solving & Programming /or
CS2332 Object-Oriented Programming /or
CS2333 Object-Oriented Programming for Media

Precursors: Nil

Equivalent Courses: Nil

Exclusive Courses: Nil

Course Aims:
This course aims to introduce a number of data structures and the mathematical tools for analysing their performance.  Data structures that are commonly used for medias are highlighted. 

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.

evaluate and choose the appropriate data structures to solve problems;

 

2.

analyse and compare data structures;

 

3.

customize and apply specific data structures for media needs.

 

Teaching and learning Activities (TLAs):
(designed to facilitate students’achievement of the CILOs)

Teaching pattern:
Suggested lecture/tutorial/laboratory mix:
2 hrs. lecture; 1 hr. tutorial.

ILO No

TLAs

Hours/week
(if applicable)

CILO 1

Journal: As a learning and knowledge sharing tool, students are required to keep a journal to record learning progress and summarize personalized Q&A, in particular to accumulate experiences on this CILO.

 

CILO 2

Project: Students are required to do two projects. The first one is a simple extension of the materials taught in class while the second one is either an implementation of some complicated data structures taught in class or a study on an advanced data structure not covered in class. Both projects require the students to do some analysis on data structures and also give the students an opportunity to demonstrate their abilities to apply knowledge learned to solve new problems. The project should be documented in a project report.

 

CILO 3

Project: The second project will be focused on achieving this CILO, where students are encouraged to use the data structures they learned in class or by themselves to media needs, for example, games.
Presentation: Class participation is an important part of learning for this course.  Students are required to present their second project in class.  The teacher will provide some basic background information for the related presented topics.  In this way, students who present can practice their abilities to explain things clearly while knowledge on different topics prepared by different groups can be shared among them.  This activity also supports this CILO.

 

Assessment Tasks/Activities:
(designed to assess how well the students achieve the CILOs)

ILO No

Type of assessment tasks/activities

Weighting
(if applicable)

Remarks

CILO 1

Coursework: The quality of the journal that students keep and their performance in the two quizzes through the semester will be used to evaluate this CILO.

 

 

CILO 2

Coursework: The two projects both involve some analysis tasks for the students.  The quality of the reports for the two projects will be used to evaluate this CILO.
Final Exam: final exam will cover questions that assess students' ability to analyse and compare data structures.

 

 

CILO 3

Coursework: The quality of the second project will be used to assess this CILO.
Final Exam: The questions in Part B (where students can choose two questions out of three) will test whether the students have achieved this CILO.

 

 

Grading of Student Achievement:
Refer to Grading of Courses in the Academic Regulations (Attachment) and to the Explanatory Notes.

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.

Keyword Syllabus:

Complexities of programs: notation, average and worst case analysis, complexities of common programming constructs; Linked lists; Trees; Game trees; Abstract data types: stacks, queues, heaps, disjoint sets;  Hash tables;  Representation of vectors and bitmaps; Quadtrees and Octrees; Geometric structures.

Related Links
Department of Computer Science