spring2016_datastructures.pdf

4
EE 231 Data Structures Lecture Schedule See the Time Table Semester 4th, Spring 2016 (Session 2014) Credit Hours Three Pre-requisite Introduction to Computing EE 230- Programming Fundamentals. Instructor(s) Dr Kashif Javed Ms Ifrah Saeed Contact [email protected] Office Room # 210, first floor Office Hours TBA Teaching Assistant(s) N/A Lab Schedule See the Timetable Course Description The course will cover: Algorithm analyses in terms of their computing time. Various data structures and their strengths and weaknesses. Various sorting techniques. Graphs. Shortest-Path algorithms. Expected Outcomes Upon completion of this course, students will be able to: to analyze and compare algorithms in terms of their computing time. to pick and choose among various data structures, the correct one according to their application requirement analyze applications based on Graphs Textbooks REQUIRED: Mark Allen Weiss, "Data Structures and Algorithm Analysis in C", Addison- Wesley OPTIONAL/REFRENCES: 1. Robert Sedgewick, “Algorithms in C”, 3rd Edition, Pearson Education 2. Cormen, Leiserson, Rivest, Stein, “Introduction to Algorithms”, McGraw-Hill Grading Policy Class Participation: 10 Quizzes: 20 Mid Term: 30 Final Term: 40 Total: 100

Upload: muhammad-usman-aslam

Post on 14-Jul-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Spring2016_DataStructures.pdf

EE 231 Data Structures

Lecture Schedule See the Time Table Semester 4th, Spring 2016 (Session 2014)

Credit Hours Three Pre-requisite Introduction to Computing EE 230- Programming

Fundamentals.

Instructor(s) Dr Kashif Javed Ms Ifrah Saeed Contact [email protected]

Office Room # 210, first floor Office Hours TBA

Teaching Assistant(s)

N/A Lab Schedule See the Timetable

Course Description

The course will cover: Algorithm analyses in terms of their computing time. Various data structures and their strengths and weaknesses. Various sorting techniques. Graphs. Shortest-Path algorithms.

Expected Outcomes

Upon completion of this course, students will be able to: to analyze and compare algorithms in terms of their computing time. to pick and choose among various data structures, the correct one according

to their application requirement analyze applications based on Graphs

Textbooks

REQUIRED: Mark Allen Weiss, "Data Structures and Algorithm Analysis in C", Addison- Wesley OPTIONAL/REFRENCES: 1. Robert Sedgewick, “Algorithms in C”, 3rd Edition, Pearson Education 2. Cormen, Leiserson, Rivest, Stein, “Introduction to Algorithms”, McGraw-Hill

Grading Policy

Class Participation: 10 Quizzes: 20 Mid Term: 30 Final Term: 40 Total: 100

Page 2: Spring2016_DataStructures.pdf

Lecture Plan

Lecture

No. Course Contents Textbook Ref. Week*

1 Introduction to Data Structures, Goals and Aims of the course Ch.1 1

2 Mathematical Review, Review of Induction and Recursion Ch.1 1

3 Asymptotic Analysis for analyzing Algorithms, Big –Oh, Big-theta and other asymptotic notations Ch.2 2

4 Calculating the relative growth rate of two functions, Running Time Calculations. Ch.2 2

5 Max-Subsequence Problem, Analysis of Running Time. Ch.2 3

6 Max-Subsequence Problem (continued), Binary Search Algorithm, Analysis of Running Time. Ch.2 3

7 Euclidean GCD Algorithm, Exponentiation Algorithm, Analysis of Running time. Ch.2 4

8 Abstract Data Types (ADT), The List ADT, Comparison of Arrays and Linked Lists. Applications. Ch.3 4

Quiz-1 4

9 Programming Implementation of The List ADT using Arrays. Ch. 3 5

10 Programming Implementation of The List ADT using Linked Lists. Ch. 3 5

11 The Stack ADT and its implementation using Arrays. Ch. 3 6

12 The Stack ADT and its implementation using Linked Lists. Stack Applications Ch. 3 6

13 The Queue ADT, its implementation and applications Ch. 3 7

14 Discussion of End Problems Ch. 3 7

Mid Term Examination 8

15 Trees and their Traversals, Binary Trees. Ch. 4 9

Page 3: Spring2016_DataStructures.pdf

16 Binary Trees and their applications Ch. 4 9

17 The Search ADT and its implementation Ch. 4 10

18 Hashing, Hash Tables, their working and applications. Ch. 5 10

19 Separate Chaining, Open Addressing with linear probing. Ch. 5 11

20 Open Addressing with quadratic probing, Rehashing and Extendible Hashing. Ch. 5 11

21 Open Addressing with quadratic probing, Rehashing and Extendible Hashing. (continued) Ch. 5 12

22 Discussion of End Problems Ch. 5 12

Quiz-2 12

23 Priority Queues and their applications. Ch. 6 13

24 Binary Heaps and their applications. Ch. 6 13

25 Sorting Algorithms, Insertion Sort. Ch. 7 14

26 Shell Sort and it variants Ch. 7 14

27 Merge Sort, Quick Sort. Ch. 7 15

28 Graphs and their applications. Breadth First Search. Ch. 9 15

29 Minimum Spanning Trees and shortest-path Algorithms. Ch. 9 16

30 Discussion 16

Final Term Examination

Page 4: Spring2016_DataStructures.pdf

Lab Schedule

Exp. No. Description Week

1 Introduction to Microsoft Visual Studio/Eclipse and Revision of C concepts 1

2 Learning how to debug C programs 2

3 Measuring the running time empirically 3

4 Working with Lists 4

Lab Exam 1 5

5 Working with Stacks 6

6 Working with Queues 7

Mid Break 8

7 Working with Binary Trees 9

Lab Exam 2 10

8 Working with Binary Search Trees 11

9 Working with Hash Tables 12

10 Working with Sorting Algorithms 13

Lab Exam 3 14