ICS 2105: DATA STRUCTURES AND ALGORITHMS (45 LECTURE HOURS)
Pre-requisite: SMA 2100 Foundations of Mathematics
Course Purpose This course provides skills on how data may be structured and instructions sequenced in algorithms and programmes as well as the relationship between appropriate data and control structures and tasks from the real world. It gives a basic understanding of how common computational problems can be solved efficiently on a computer. Programme learning outcomes By the end this course, the student should be able to: 1. Apply principles of abstraction and encapsulation as expressed by data structures 2. Appreciate and apply Abstract Data Types in problem specification 3. Use dynamic data to write memory efficient programs 4. Analyze algorithms to determine their efficiency (in terms of computation and memory resources) 5. Apply the various analysis methods to optimize algorithms Course Description Abstract data types, concepts, data models, and analysis of algorithms. Elementary data structures such as arrays, lists, records, sets. Stacks, queues, and binary trees. Sorting and searching algorithm. Recursion. Teaching Methodology Lectures, laboratory exercises, assignments and projects Instructional Materials LCD projectors, computers, white boards, appropriate software Course Evaluation CATs/Assignment/Presentation 30 % Final Examination 70 % Total 100% Course Text Books 1. Data Abstraction and Problem Solving in C++ by Carrano-Helman-Veroff ISBN-10: 0321433327 2. Data Structures and Algorithm by Aho., A.V., Hocroft, J.E., and Ullman, J.B. ISBN 0- 13-660911 3. Data Structures and Algorithms in Java, fiftheditionISBN0131469142 Reference Text Books 1. Data Structures and Algorithms by Wayne Amsbury ISBN-10: 0132576279 2. Fundamentals of Data Structures in C by Ellis, Howaractz, Sartaj Sahim and Susan Anderson-Fred ISBN: 0-929306-40-6. ISBN:) ISSN 1985-1553. 3. A fast string searching algorithm Comm. ACM, 20 (1977), pp. 762–772 ISSN 0105- 8517. Reference Journals 1. Journal of Computing ISSN: 2151-9617. 2. Directory of Open Access (DOAJ): Computer Science ISSN: 19800436 3. 978-0- 929306-40-7 3. MichaelT.GoodrichandRobertoTamassiaISBN0-929306-37-6 Course Journals 1. 1 Oxford Journals: The Computer Journal ISSN 1460-2067 2. 2 Computer Science Journals (CSC Journals String Matching with Context Dependent Errors Tech. Report Dipartimento di Informatica, Universitá di Pisa (1987) ISSN: 0001-0782