0% found this document useful (0 votes)
18 views2 pages

cs202 Outline 2016

This document provides information about a Data Structures course offered at Lahore University of Management Sciences in Spring 2016. It outlines the course details including instructor information, class times, credit hours, prerequisites, objectives, topics, textbooks, and session plan. The course introduces fundamental data structures and algorithms, analyzing their time and space complexities. Topics include arrays, linked lists, stacks, queues, trees, hashing, sorting, graphs, and advanced data structures. Student assessment includes programming assignments, homeworks, quizzes, midterm and final exams.

Uploaded by

Salman Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views2 pages

cs202 Outline 2016

This document provides information about a Data Structures course offered at Lahore University of Management Sciences in Spring 2016. It outlines the course details including instructor information, class times, credit hours, prerequisites, objectives, topics, textbooks, and session plan. The course introduces fundamental data structures and algorithms, analyzing their time and space complexities. Topics include arrays, linked lists, stacks, queues, trees, hashing, sorting, graphs, and advanced data structures. Student assessment includes programming assignments, homeworks, quizzes, midterm and final exams.

Uploaded by

Salman Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Lahore University of Management Sciences

CS202/EE202 – Data Structures


Spring 2016

Instructor Dr. Ihsan Ayyub Qazi


Class Timings 4:30pm-5:45pm, Monday/Wednesday
Room No. SBASSE 9-114A, Computer Science Department, LUMS
Office Hours TBA
Email [email protected]
Telephone +92 42 3560 8368
Teaching Assistants (TAs) TBA
Course URL LMS (https://lms.lums.edu.pk)

Course Basics
Credit Hours 3 credit hours
Lecture(s) 2 Per Week Duration 75 mins
Tutorial (per week) 1 Per Week Duration 60 mins

Course Distribution
Core CS Majors, EE Majors, and 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 search engines (e.g., Google, Bing), social networking applications (e.g., Facebook,
Twitter), embedded systems (e.g., cell phones, robots), and DNA analysis. This course will introduce the fundamentals of data
structures and will provide a thorough understanding of how to systematically organize data in a computer system. In addition, this
course will introduce students to analytical tools for comparing data structures in terms of their time and space complexities.
Moreover, students will appreciate the importance of programming structures, abstractions, and algorithms for improving the
efficiency of computer programs.

COURSE PREREQUISITE
• CS 200 Introduction to Programming

COURSE OBJECTIVES
• To understand the design of fundamental data structures as well as algorithms that operate on them
• To understand the fundamental tradeoffs in the design of the data structures
• To introduce tools for analyzing the time and space complexity of data structures
To provide rigorous ‘hands-on’ experience with implementing different data structures in a programming language

Learning Outcomes
• Students will be able to understand basic data structures
• Students will become aware of how data structures are used in real-world applications
• Students will understand the fundamental tradeoffs that exist in the design of data structures
• Students will be able to compare the time and space efficiency of different data structures
• Students will be able to appreciate how changing application requirements can lead to new data structures
• Students will be able to write programs to efficiently manipulate, store, and retrieve data

Grading Breakup and Policy


Programming Assignment(s) + Homeworks: 30%
Quiz(s): 20%
Midterm Examination: 20%
Final Examination: 30%
Lahore University of Management Sciences

Examination Detail
Yes/No: Yes
Midterm Duration: 3 hours
Exam Preferred Date: TBA
Exam Specifications: TBA
Yes/No: Yes
Final Exam Duration: 3 hours
Exam Specifications: TBA

Textbook(s)/Supplementary Readings
Required Textbooks
• (GTM) Data Structures and Algorithms in C++ by Michael T. Goodrich, Roberto Tamassia, and David Mount (2nd Edition)
• (Weiss) Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss (2nd Edition)

Session Topics Recommended Readings


1 Overview: Data Structures, Abstract Data Types, and Applications
2 Analysis Tools: Experimental Analysis, Asymptotic Notation (GTM) Chapters 4.1-4.2 + (Weiss) Chapter 6
3 Analysis Tools: Asymptotic Analysis, Arrays (GTM) Chapters 3.1-3.4 + (Weiss) Chapters 16
4 Arrays, Lists (Singly Linked List, Doubly Linked List), Stacks Above + (GTM) Chapters 5.1+(Weiss) Chapter 17, 16
5 Stacks, Queues (GTM) Chapters 5.1-5.3 + (Weiss) Chapter 16
6 Trees: Foundations, Tree Traversals (GTM) Chapters 7.1, 7.2 + (Weiss) Chapter 18.1
7 Trees: Tree Traversals, Binary Trees Above + (GTM) Chapters 7.3 + (Weiss) Chapter 18.4
8 Binary Trees: Analysis, Applications (GTM) Chapters 7.3 + (Weiss) Chapter 18.2, 18.3
9 Binary Search Trees (BST): Basics, BST Analysis (GTM) Chapters 10.1 + (Weiss) Chapter 19.1-19.3
10 Balanced Binary Trees: AVL Trees (GTM) Chapters 10.2 + (Weiss) Chapter 19.4
11 Balanced Binary Trees: AVL Trees, Red-Black Trees (optional) (GTM) Chapters 10.5 + (Weiss) Chapter 19.4, 19.5
12 Hash Tables: Hash Functions (GTM) Chapters 9.2 + (Weiss) Chapter 20.1, 20.2
13 Hash Tables: Chaining, Open Addressing (GTM) Chapters 9.2 + (Weiss) Chapter 20.3
14 Midterm Exam
15 Priority Queues: Foundations, Binary Heaps (GTM) Chapters 8.1-8.3 + (Weiss) Chapter 21.1
16 Heaps: Binary Heaps, HeapSort (GTM) Chapters 8.3 + (Weiss) Chapter 21.1, 21.2
17 Sorting: Insertion Sort, Selection Sort, Mergesort (GTM) Chapters 11.1 + (Weiss) Chapter 9.1-9.5
18 Sorting: Quicksort, Bucket-Sort, Radix-Sort (optional) (GTM) Chapters 11.2, 11.3 + (Weiss) Chapter 9.6-9.8
19 Data Compression: Applications, Huffman Coding (GTM) Chapters 12.4 + (Weiss) Chapter 13.1 + Notes
20 Tries: Standard, Compressed, Suffix Tries (GTM) Chapters 12.5
21 Graphs: Basics, Data Structures for Graphs (GTM) Chapters 13.1, 13.2 + (Weiss) Chapter 15.1
22 Graph Traversals: Depth First Search, Breadth First Search (GTM) Chapters 13.3 + (Weiss) Chapter 15.2
23 Weighted Graphs: Minimum Spanning Trees, Topological Sort (GTM) Chapters 13.6 + (Weiss) Chapter 15.5
24 Weighted Graphs: Directed Graphs, Connected Components (GTM) Chapters 13.4, 13.5 + (Weiss) Chapter 15.5
25 Shortest-Path Algorithms: Dijkstra’s Algorithm (GTM) Chapters 13.5 + (Weiss) Chapter 15.3
26 Network Flow Problem, Advanced DS: Distributed Hash Tables Slides/Notes
27 Advanced DS: Bloom Filters, Memory Locality Slides/Notes
28 Advanced DS: Parallel Algorithms/DS + Course Review Slides/Notes

You might also like