Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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