Download Course Syllabus

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Course Title
:
Data Structures and Algorithms
Course Code
:
DCO20105
Semester Hours (SH)
:
4
SH in Sem A
:
4
Credit Unit
:
3
Level
:
2
Pre-requisites
:
DCO10103 Object-Oriented Programming and Design
Pre-cursor
:
Nil
Semester A
:
Lectures
Laboratories
26
26
Total Hours
(Group Size)
:
Lectures
Laboratories
26
26 (20)
:
1
Teaching pattern
Weighting
1.
Aims and Objectives
1.1
Aims
The aims of this course are:
1.2
(a)
Aware the dependence of execution time, bandwidth and memory requirements on the data
structures and algorithms chosen;
(b)
Reason informally about algorithm and data structure correctness and complexity;
(c)
Intelligent selection of algorithms and representations; and
(d)
Programming using C++ and the Standard Template Library.
Objectives
On completion of this course, students should be able to:
(a)
design and implement abstract data types, data structures and invariants;
(b)
perform simple algorithm analysis;
(c)
define basic data structures for sorting and searching;
(d)
implement trees and graphs data structures; and
(e)
perform C++ programming with the STL.
2.
Syllabus
2.1
Introduction to C++
The Basic Language: expressions and types, statement functions, input, output, program organisation,
debugging and testing.
Pointers and references: C++ memory model, pointers, pointer arithmetic, references, memory
management, and C-style Strings.
Object-based programming: classes, constructors and destructors, operator overloading, function
objects, and defined Types. Template functions and template classes.
Object-Oriented Programming: Object-Oriented Programming and Polymorphism.
Algorithms and Recursion: algorithms, recursive functions, and recursive types.
Performance Analysis and Measurement: program analysis and asymptotic analysis
2.2
Problem Solving with the Standard Template Library
Overview, containers, iterators, and algorithms of STL.
Sequential container types, vectors, matrices, linked lists, stacks, queues, graphs, and graph
exploration.
Trees data model, binary tree, binary search trees. Hash tables and hash tables implementation.
3.
Teaching Methods
This course adopts the Carnegie Technology Education, SSD5 teaching materials. All materials will be
covered in formal lectures. Students access the reading assignments through Internet and textbooks.
On-line testes are used to monitor the student progress and provide feedback to the students.
Laboratories are practical exercises of the concepts taught in the lectures.
4.
Assessment
Coursework
Examination
5.
30% (a series of multiple choice quizzes and exercises)
70% (on-line examinations,
2 examinations of 2 hours each, spread over a semester.)
Booklist
Budd, T.: Data Structures in C++ Using the Standard Template Library, Addison-Wesley, 1998
Schildt, H.: C++: The Complete Reference, 3rd Edition, McGraw-Hill, 1998