Course Outline (Data Structures and Algorithms) 2021
Course Outline (Data Structures and Algorithms) 2021
Course Outline (Data Structures and Algorithms) 2021
Course Outline
Summer 2021
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 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:
Page 1 of 7
The University of Lahore CS-09203
2. Analysis of Wide Range of Data Structures 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. Analysis of data structures will lead us to know about the advantages and disadvantages of
different data structures available.
3. The comparison of different data structures and algorithms will help in selection of efficient
data structures and algorithms for our problems.
4. Prepare the students for more advanced material that students will encounter in later
courses.
5. Implement well-known data structures such as dynamic arrays, linked lists, stacks, queues,
trees and graphs in C++.
COURSE STRUCTURE:
1. Presentation by lecturer
2. Class mini tasks/assignments
3. Lab tasks
COURSE DURATION:
1. The class of 1.5 hours will be held twice a week.
2. However Extra Sessions may be scheduled if needed.
COURSE STYLE:
Page 2 of 7
The University of Lahore CS-09203
the instructor’s discretion.
The following books are recommended for the course. Students are expected to have
at least one book with them, whether their own, or from the library.
1. Data Structures, Algorithms, And Applications In C++, 2nd Edition,
Author: Sartaj Sahni
2. Fundamentals of Data Structures in C++
Author: E. Horowitz, S. Sahni, and D. Mehta, Computer Science Press.
3. Data Structures Using C++
Author: D. S. Malik
4. Data Structures and Algorithms in C++, 2nd Edition
Author: Micheal T. Goodrich, Roberto Tamassia and David Mount John Wiley and Sons,
Inc
5. Algorithms (4th Edition)
Author: Robert Sedgewick (Author), Kevin Wayne (Author)
6. Introduction to Algorithms
Author: Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein. MIT
Press
7. Classic Data Structures
Author: Samanta Debasis (Author)
8. Data Structures and Algorithms Analysis in C++
Author: By Clifford A Sheffard
9. Data Structures and Algorithms Analysis with C++ (4th Edition)
By Mark Allen Weiss
Course Outline:
The lecturers should aim to complete the following topics before the mid/final term
Page 3 of 7
The University of Lahore CS-09203
examination as prescribed in the course outline below:
Page 4 of 7
The University of Lahore CS-09203
MID-TERM EXAMINATION
16 Recursion
9
Divide & Conquer
Merge Sort (Algorithm, Implementation)
25 Heap Concepts
14
26 Heap Operations, Analysis
Page 5 of 7
The University of Lahore CS-09203
FINAL EXAMINATION
ASSESSMENT CRITERIA:
No. Assessment Percentage
1. Assignments & Project 15%
2. Quizzes 10%
3. Lab 20%
4. Midterm 20%
5. Final 35%
Total 100%
Note: The above criterion is not fixed. So, it can be changed as per respective teacher’s
understanding.
Attendance Requirements
You are expected to attend all lectures, tutorials, make up sessions and lab sessions, and any
other classroom activity. Where you fail to attend classes, you cannot expect the lecturer to
brief you on what you have missed. You are responsible for your attendance, not the
academic staff. Attendance at lab sessions will be strictly monitored, and failure to attend
will be taken into account. It is recommended to you to come in time.
General Information
Students are required to be familiar with the university code of conduct available on the
university website, study guide and prospectus, and to abide by its terms and conditions. In
addition, the following guidelines must also be followed:
Page 6 of 7
The University of Lahore CS-09203
Guidelines to Avoid Plagiarism
Whenever you copy more than a few words from any source, you must acknowledge that
source by putting the quote in quotation marks and providing the name of the author. Full
details must be provided in your bibliography. If you copy a diagram, statistical table, map,
etc., you must acknowledge the source.
Students are encouraged to co-operate, but collusion is a form of cheating. Students may
work together in obtaining references, discussing the content of the references and discussing
the assignment, but when they write, they must write alone.
Approval
Page 7 of 7
The University of Lahore CS-09203