You are on page 1of 3

Lahore University of Management Sciences

CS 202 / EE 202 Data Structures
Fall 2016-17

Instructor Shafay Shamail
Room No. 9-113A, CS Department, SBASSE Building
OSPR, Academic Block
Office Hours 11:00 AM – 12:00 PM Tue Thu
Email sshamail@lums.edu.pk
Telephone 8187
Secretary/TA Muhammad Faisal / TBA
TA Office Hours TBA
Course URL (if any) lms.lums.edu.pk

COURSE BASICS
Credit Hours 3
Class Room TBA
Class Timings 9:30 AM – 10:45 AM Tue Thu
Lecture(s) Nbr of Lec(s) Per Week 2 Duration 75 Minutes
Recitation/Lab (per week) Nbr of Lec(s) Per Week None Duration
Tutorial (per week) Nbr of Lec(s) Per Week As per Need Duration

COURSE DISTRIBUTION
Core CS Majors, EE Majors, CS Minors
Elective All
Open for Student Category All
Close for Student Category None

COURSE DESCRIPTION
Data structures are essential building blocks for designing efficient algorithms. Thus, they play a central role in computer science
and are important in many areas of electrical engineering, computational biology, computational finance, etc. They are used in a
variety of applications today including web search (e.g., Google, Bing), social networking (e.g., Facebook, Twitter), embedded
systems (e.g., cell phones, robots), and DNA analysis. This course will introduce the fundamentals of data structures and shall
provide a thorough understanding of systematic ways for organizing data in a computer system. In addition to introducing a variety
of data structures and algorithms, this course will provide exposure to analytical tools for comparing data structures in terms of
their time and space complexities. Moreover, students will appreciate that the right programming structures, abstractions and
algorithms are necessary for improving the efficiency and complexity of computer programs.

COURSE PREREQUISITE(S)

CS 200 Introduction to Programming

(2nd Edition) .Tenenbaum M Aaron. Roberto Tamassia. Lahore University of Management Sciences UNDERGRADUATE PROGRAM LEARNING GOALS & OBJECTIVES (PLO) COURSE LEARNING OBJECTIVES (CLO)  CLO 1 1. To introduce tools for analyzing the time and space complexity of data structures
  CLO 3 3. store. Students will understand the fundamental design choices made in data structures and their reasoning  LO 3 3. To provide rigorous ‘hands-on’ experience with implementing different data structures in a programming language LEARNING OUTCOMES (LO)  LO 1 1. Augenstein J Moshe . and David Mount (2nd Edition) • (Weiss) Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss (2nd Edition) • (YMT) Data Structures Using C AND C++. Langsam Yedidyah . and retrieve data PROGRAM LEARNING GOALS AND COURSE LEARNING OBJECTIVES COURSE ASSESSMENT ITEM OBJECTIVES GRADING BREAKUP AND POLICY Assignment(s) + Home Work: 30% Quiz(s) + Class Participation: 20% Midterm Examination: 20% Final Examination: 30% EXAMINATION DETAIL Yes/No: Yes Midterm Duration: 75 Minutes (In class) Exam Preferred Date: Week 7 Exam Specifications: Course covered till mid term Yes/No: Yes Final Exam Duration: 3 hours Exam Specifications: Complete Course Textbook(s)/Supplementary Readings Recommended Textbooks • (GTM) Data Structures and Algorithms in C++ by Michael T. To understand the design of fundamental data structures as well as algorithms that operate on them  CLO 2 2. Students will be able to write programs to efficiently manipulate. Goodrich. Students will become aware of several commonly used data structures in real-world applications  LO 2 2. Students will be able to compare the time and space efficiency of different data structures
  LO 4 4.

1 + (Weiss) Chapter 4.2 12 B Trees.4 + (Weiss) Chapter 10.6 23 Directed Graphs.2+Notes 20 Tries (Standard.2.6 18 Sorting (Quicksort.1 2 Analysis Tools.6 7 Tree Traversals (continued). Applications) (YMT) Chapter 1.1-8.3 + (Weiss) Chapter 3.1.6 14 Midterm Exam 15 Priority Queues.1 + (Weiss) Chapter 3.1.1. Radix-Sort [optional].5 + (Weiss) Chapter 9.3 13 Hashing/Hash Tables (GTM) Chapters 9.2 16 Binary Heaps.3 + (Weiss) Chapter 4.1.1 22 Graph Traversals (Depth First Search.3 + (Weiss) Chapter 9. Doubly.3 + (Weiss) Chapter 6. Stacks Above + (GTM) Chapters 5.5 + (Weiss) Chapter 12.2.5 17 Sorting (Insertion Sort.1.2 + (Weiss) Chapter 5. 7.2.5 26 Network Flow Problems Notes 27 Advanced DS: Distributed Hash Tables & Bloom Filters Notes 28 Review Notes .3.3 25 Shortest-Path Algorithms.1-5. 7. BST Analysis (GTM) Chapters 10. Circular Linked Lists) (GTM) Chapters 3.2 3 Arrays.2 + (Weiss) Chapters 1.3 + (Weiss) Chapter 6.2 9 Binary Search Trees (BST). Binary Heaps (GTM) Chapters 8. Abstract Data Types.1 + (Weiss) Chapter 7.1-5. Bucket-Sort [optional]) (GTM) Chapters 11. Queues (GTM) Chapters 5. Topological Sort (GTM) Chapters 13.2 + (Weiss) Chapter 5. Mergesort) (GTM) Chapters 11. Breadth First Search) (GTM) Chapters 13.4-5.3.4. Multi-way Trees (GTM) Chapters 9.2 + (Weiss) Chapter 9. Suffix) (GTM) Chapters 12.2 + (Weiss) Chapter 4. 9.1-3. Binary Trees Above + (GTM) Chapters 7. Lahore University of Management Sciences Session Topics Recommended Readings 1 Overview (Data Structures.4 + (Weiss) Chapter 9. 13. Minimum Spanning Trees (GTM) Chapters 13.4 + (Weiss) Chapters 3.1.5 4 Lists (continued).5 + (Weiss) Chapter 10.4 11 AVL Trees Above + (GTM) Chapters 10. HeapSort (GTM) Chapters 8.7 6 Introduction to Trees.6 + (Weiss) Chapter 9.3 + (Weiss) Chapter 4. 1.3 10 Huffman Coding (GTM) Chapters 10.1.3 + (Weiss) Chapter 7. Compressed.2 24 Shortest-Path Algorithms (including Dijkstra's Algorithm) (GTM) Chapters 13.1. Tree Traversals (GTM) Chapters 7.2.1-4.2 8 Binary Trees (continued) (GTM) Chapters 7.2 + (Weiss) Chapter 4. Lists (Singly. 4.7 19 Data Compression (Huffman Coding) (GTM) Chapters 12. Asymptotic Notation (GTM) Chapters 4.2 21 Graphs. 11. 7. 3. Data Structures for Graphs (GTM) Chapters 13.6 5 Stacks. 6. 9.