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 other areas of other fields. It's rarely the language that matters in a program, it's the data structures and how they relate. And range of elegant Algorithms is possible only if we have appropriate Data Structures for the Job.
The purpose of this course is to provide the students with solid foundations in the basic concepts of programming: data structures and algorithms. The main objective of the course is to teach the students how to select and design data structures and algorithms that are appropriate for problems that they might encounter. This course is also about showing the correctness of algorithms and studying their computational complexities.

**COURSE OBJECTIVES**
1. To understand the design of fundamental data structures as well as algorithms that operate on them.
2. Analysis of Wide Range of Data Structures as well as Algorithms Available.
3. Comparison of Data Structures Based on their Analysis.
4. Implementing new Data Structures for the real time & industrial needs.
5. To provide rigorous ‘hands-on’ experience with implementing different data structures in a programming language.

**COURSE OUTCOMES**
By the end of this course, Students will understand:
1. Purpose and mathematical background of algorithm analysis and be able to apply this to determine the run time and memory usage of algorithms.
2. Abstract data types of stacks, queue and de-queue.
3. Variety of ways that linearly and weakly ordered data can be stored, accessed, and manipulated.
4. Characteristics and optimal behavior of hash tables for access and retrieval.

General Information

PROGRAMMING LANGUAGES
Although there is no restriction of Language, however C++ will be followed.
TOOLS
Although there is no restriction of IDE, however we will be using , Visual Studio 2010 or higher versions.
RECOMMENDED TEXT BOOKS
1. "Data Structures Using C++" By D.S.Malik.
2. "Data Structures and Algorithms in C++", 2nd Edition By Micheal T. Goodrich, Roberto Tamassia and David Mount John Wiley and Sons, Inc.
3. "Algorithms" (4th Edition) By Robert Sedgewick & Kevin Wayne
4. "Introduction to Algorithms" By Thomas H Cormen, Charles E Leiserson,Ronald L Rivest, Clifford Stein MIT Press.
5. "Classic Data Structures" By Samanta Debasis.
6. "Data Structures and Algorithms Analysis in C++" By Clifford A Sheffard.
ASSESSMENT CRITERIA
No. | Assessment | Percentage
1. | Project/Presentation | 10%
2. | Assignments + Quiz | 10%
3. | Midterm | 20%
4. | Final | 40%
5. | Lab | 20%
Total | 100%
Useful Links:
1) Dictionary of Algorithms and Data Structures:
https://xlinux.nist.gov/dads/
2) http://algs4.cs.princeton.edu/home/
3) Sorting Algorithms Animations:
https://www.toptal.com/developers/sorting-algorithms/
4) The Sound of Sorting:
http://panthema.net/2013/sound-of-sorting/
5) Sorting visualizations by Carlo Zapponi:
http://sorting.at/
6) Analysis of Algorithms:
http://algs4.cs.princeton.edu/14analysis/
7) Algorithms Cheat Sheets:
http://algs4.cs.princeton.edu/cheatsheet/
8) Big-O Cheat Sheet:
http://bigocheatsheet.com/
9) C++ Programming Help:
https://www.tutorialspoint.com/cplusplus/
10) Building a Computer:
http://introcs.cs.princeton.edu/java/71boolean/
11) Theory of Computing:
http://introcs.cs.princeton.edu/java/51language/
12) Linear Algebra:
http://introcs.cs.princeton.edu/java/95linear/

Announcements

DSA Final Result on SIS Portal
8/28/17 4:40 PM

Please, check your final result on University SIS Portal. No further queries will be entertained now. Best of luck for your future endeavour.

DSA Final Result Queries
8/27/17 2:54 PM

The final result of Data Structures and Algorithms course has been posted on Piazza under the section of Exam. Your result will also be available on University SIS Portal on Monday August 28, 2017 at 2:00 pm. If you have any query related to final result, you can email me at my email address: muhammad.umer@cs.uol.edu.pk before 12 O'clock tomorrow. After tomorrow, no query would be handled.

Note:

Your assignments grading evaluated on following factors:

  • Timely submission
  • Plagiarism 
  • Desired output results
DSA Final Result
8/27/17 2:33 PM

Sr. No.

Reg. No.

Student Name

Quiz

Assignment

Lab

Mid

Final

Total

1

BSSE02151027

ALI WARIS

5

13

19

19

28

84

2

BCS02143242

IMRAN NADEEM

4

12

18

15

34

83

3

BSSE02151051

HAIDER KAMAL

4

10

16

18

33

81

4

BSSE02151029

TAYYBA FAISAL

5

12

19

15

24

75

5

BSSE02151005

HAFIZA FATIMA MAJEED

4

12

16

16

22

70

6

BSSE02143226

MUHAMMAD AFTAB

2

9

16

13

25

65

7

BCS02123153

NOUMAN WASEEM

0

8

14

17

23

62

8

BCS02143111

MOHSIN JABBAR

2

9

16

9

25

61

9

BCS02121025

WAHEED AHMAD

0

6

13

10

31

60

10

BSSE02143067

ABDUL REHMAN

0

8

15

7

30

60

11

BCS02123088

MUHAMMAD SALMAN

0

4

13

11

22

50

12

BCS02123188

USMAN KHALID

0

9

17

11

13

50

13

BCS02123682

DANIAL WAHEED

1

5

16

11

17

50

14

BCS02133036

HAFIZ BILAL TARIQ

2

7

13

9

19

50

15

BCS02133524

TASAWER BASHIR

0

6

16

9

19

50

16

BCS02143172

HAIDER HUSSAIN CHAUD

5

6

16

17

6

50

17

BCS02153278

HAFIZ MUHAMMAD QASIM

1

7

12

15

15

50

18

BCS02143040

FAHAD AYUB

4

7

12

5

6

34

19

BCS02141080

MUSTAFA HASSAN

0

6

10

11

6

33

20

BCS02123215

RIZWAN SATTAR

1

6

10

4

7

28

21

BSSE02153037

MUHAMMAD RIZWAN

0

11

17

17

20

65

22

BSSE02153098

ATIQA NOOR

0

8

16

11

20

55

23

BSSE02153239

SHAFAQ AYYUB

0

6

13

17

14

50

24

BSSE02153236

ABDUL FASIH

0

5

10

7

10

32

Final Exam Course Contents (Updated)
8/21/17 6:01 PM

Here are following course contents included in Final Exam:

Searching and Sorting Algorithms
Stack, basic concept,
Implementation using arrays.
Implementation using Linked List and applications.
Queue basic concept.
Implementation using arrays.
Implementation using Linked List and applications.
Circular Queue And their applications
Viva and Revision

Trees concepts their applications , Analysis
Binary Tree
Min-Heap and Max-Heap Concepts, Operations, Analysis
Binary Search Tree, Different Operations.
Balanced Trees (AVL Trees), Their Implementation and Algorithmic Analysis
Pre Order , In order , Post Order Traversal
Example of Expression Tree , Post Fix and Infix
Evaluation of Expression (Infix to Postfix)
Evaluation of Expression (Evaluate Postfix expression, Infix to Prefix)
Evaluation of Expression (Prefix to Postfix)

Graph Theory in detail , Their Applications 

Lecture10.pdf has been added to class homepage under Resources
8/15/17 8:19 PM

The teaching staff has posted a new lecture notes resource.

Title: Lecture10.pdf
http://www.piazza.com/class_profile/get_resource/j3ujhem44xc14x/j6dqhapv38f10

Lecture date: Aug 15, 2017

You can view it on the course page: https://piazza.com/uol.edu.pk/summer2017/cs2112/resources

Lecture09.pdf has been added to class homepage under Resources
8/11/17 3:00 PM

The teaching staff has posted a new lecture notes resource.

Title: Lecture09.pdf
http://www.piazza.com/class_profile/get_resource/j3ujhem44xc14x/j67oxw0koi11uv

Lecture date: Aug 11, 2017

You can view it on the course page: https://piazza.com/uol.edu.pk/summer2017/cs2112/resources

Lecture08.pdf has been added to class homepage under Resources
8/11/17 2:58 PM

The teaching staff has posted a new lecture notes resource.

Title: Lecture08.pdf
http://www.piazza.com/class_profile/get_resource/j3ujhem44xc14x/j67ou1o1ihg6in

Lecture date: Aug 10, 2017

You can view it on the course page: https://piazza.com/uol.edu.pk/summer2017/cs2112/resources

Quiz # 2: Stacks and Queues (Submission Deadline Extended)
8/07/17 11:32 AM

Please, submit your quiz on the following link till tomorrow (Tuesday). After deadline, you cannot submit it, so, stick to due date and time.

https://goo.gl/2TKxMQ

 

Submission Deadline:

Tuesday 08, 2017, 12:00 PM.

 

Staff Office Hours
NameOffice Hours
Rao Muhammad Umer
When?
Where?