You are on page 1of 7

THE UNIVERSITY OF LAHORE

Course Outline

CS-2112, CS-2113 : Data Structures and Algorithms

Fall-2020
SCU 4 Credit(s)
Co-requisite (s) None
Pre-requisite(s) None
2 session lectures (90 min each)
Weekly tuition pattern 1 Lab (180 min each)
Mr. Ali Saeed (Course Instructor) and Mr. Muhammad Imran (Lab
Course Instructor Instructor)
Syllabus Designed By Mr. Ali Saeed

1-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.

2-Objectives
Upon successful completion of the course, a student should be:
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 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

Page 1 of 7
The University of Lahore
3-Outcomes
Students who successfully complete the course are supposed to be able to:
1. Design fundamental data structures as well as algorithm.
2. Analysis and construct wide Range of Data Structures Available
3. Comare Data Structures Based problems and their Analysis
4. Implementation of new Data Structures for the real time & industrial needs.
5. Have rigorous ‘hands-on’ experience with implementing different data structures in a
programming language

4-Course Structure

1. Lecture slides about the course and use of white Board for lecturer, and also tool used
for designing and development of the system
2. Class Activities (case studies using theoretical and practical tools and techniques) and
homework assignment
3. Assignments
4. Quiz

5- Course Duration
This course will be held twice a week of 1.5 hours class duration.

6- Course style
The course will be delivered in a classroom environment.

7- Additional Course Requirement


In addition to the objectives of this course, students are expected to gain skills to model and
verify the real time case studies of the concurrent systems using automatic model checking tools.

8- Text and Other Resources

8.1 Text
1. BookName :Data Structures Using C++ By Author :D.S.Malik
2. BookName : Data Structures and Algorithms in C++, 2nd Edition By
Author: Micheal T. Goodrich, Roberto Tamassia and David MountJohn
Wiley and Sons, Inc
3. BookName : Algorithms (4th Edition) By Author: Robert
Sedgewick (Author), Kevin Wayne (Author)

8.2 Reference Material

1. BookName : Introduction to Algorithms By Thomas H Cormen, Charles E


Leiserson, Ronald L Rivest, Clifford Stein MIT Press Available in Library
2. BookName : Classic Data Structures By Samanta Debasis (Author),
Available in Library

Page 2 of 7
The University of Lahore
3. Data Structures and Algorithms Analysis in C++ By Clifford A Sheffard

Reading material will be uploaded online

9- Course Outline
The lecturers are supposed to complete the following topics/sub-topics before the mid/final term
examination as prescribed in the course outline below:

Course Outline Plan


Overview of Data Structures
Introduction of Data Structures and Algorithm
Lecture 1 Memory Organization
Week # 1 Pointers, Arrays and their working
Static Array, Dynamic Arrays in detail
Lecture 2 Sorted/Un Sorted Array
Abstract Data Types (ADTs), Recursion
Asymptotic Notations
Basics, Efficiency of an algorithm.
Week # 2 Lecture 3
Measuring runtime complexity of an algorithm
Lecture 4 Time Complexity & Space Complexity of an algorithm
Time Complexity Analysis
Lecture 5 Linear & binary searching (Implementation,
Week # 3 run time analysis) Assignment: 01
Sorting Algorithms
Lecture 6
Bubble, Selection, Insertion, Merge , Quick
Link List
Introduction to Node and Linking

Lecture 7 Intro to List Data Structure


Week # 4 Operations of a Single Linked Quiz: 01, 20
List & implementation Minutes
Benefit of Single Linked List, Issues with Single Linked List
Lecture 8 Assignment: 01
The Interaction Introduction Submission
Double Link List
Week # 5 Lecture 9 Double Linked List
Comparison of Single Linked List with Double Linked

Page 3 of 7
The University of Lahore
List
Circular Linked List
Lecture 10
Comparison of Circular with Single & Doubly Linked List
Stacks
Lecture 11
Stack, basic concept
Week # 6
Implementation using arrays Assignment: 02
Lecture 12
Implementation using Linked List and applications
Queues
Lecture 13
Queue basic concept
Week # 7 Assignment: 02
Implementation using arrays Submission
Lecture 14
Implementation using Linked List and Quiz: 02, 20
applications Minutes
Circular & Priority Queue
Lecture 15
Week # 8 Circular & Priority Queue And their applications
Lecture 16 Huffman Coding Algorithm

Mid Term Examination

Tree Based Algorithms


Lecture 17
Trees concepts their applications
Week # 9
Analysis Binary Tree Heap
Lecture 18
Max Heap, Min Heap concepts Assignment: 03

Lecture 19 Trees Continue


Week # 10 Binary Search Tree, different operations.
Tree Traversal Breadth First Search , Depth Assignment: 03
Lecture 20
First Search and their Implementation Submission
Trees Continue
Lecture 21 Binary Search Tree, Applications and the
Implementation of trivial methods.
Week # 11
Quiz: 03, 20
Lecture 22 Pre Order , In order , Post Order Traversal Minutes
Example of Expression Tree , Post Fix and Infix
Balanced Trees
Balanced Trees their Implementation and
Week # 12 Lecture 23
Algorithmic Analysis Assignment: 04
Their Advantages
Lecture 24
Merge Sort, Quick sort
Week # 13 Hashing

Page 4 of 7
The University of Lahore
Static Hashing , Hash Functions Collision Resolution Techniques,
Lecture 25 Chaining , Open Addressing , Re Hashing

Implementation and their Algorithmic Assignment: 04


Analysis Submission
Quiz: 04, 20
Lecture 26 Evaluation of Expression (Infix to Postfix) Minutes
Evaluation of Expression (Evaluate Postfix expression, Infix to
Prefix)
Week # 14 Evaluation of Expression
Project
Lecture 27 Graph Theory in detail , Their Applications Submission
Adjacency Matrix ,Adjacency List
Lecture 28 Evaluation of Expression
Week # 15 Graph Traversals
Lecture 29 Graph Traversals , Breadth First Search , Depth First Search
Lecture 30 Example of Kruskal Algorithm And their Algorithmic Analysis
Week # 16 Graph Traversals
Lecture 31 Minimum Spanning Trees, Topological Sort
Lecture 32 Directed Graphs, Connected Components, Dijkstra’s Algorithm

10- Assessment Criteria

ASSESSMENT CRITERIA:
No. Assessment Percentage
1. Quiz/ Assignment 10%
2. Midterm 25%
3. Final 40%
4. Lab (Task + Project) 25 % (15+10) %
Total 100%

11- Attendance Requirements


You are expected to attend all lectures, seminars, tutorials, and lab sessions or any other
classroom activity announced. 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

Page 5 of 7
The University of Lahore
staff. Attendance at tutorials and lab sessions will be strictly monitored, and failure to attend will
be taken into account.
Note:Minimum of 75% Attendance in lectures/lab sessions/seminars (if any) are required for a
student to sit in the Final-Term examination.
Etiquette: Please keep all cell phones turned OFF during class. If your activities during class are
deemed disruptive, you will be asked to leave.

12- Submission and Collection of Assignment


All assignments should be handed in at the beginning of the class sessions when they are due. All
assignments may be handed back during scheduled classes.

13- General Information


Students are required to be familiar with the university code conduct, and to abide by its terms
and conditions.

13.1 Copying of Copyright Material by Student


A condition of acceptance as a student is the obligation to abide by the University’s policy on the
copying of copyright material. This obligation covers photocopying of any material using the
University’s photocopying machines, and the recording off air, and making subsequent copies, of
radio or television broadcasts, and photocopying textbooks. Students who flagrantly disregard
University policy and copyright requirements will be liable to disciplinary action under the Code
of Conduct.

13.2 Academic Misconduct


Please refer to the Code of Conduct for definitions and penalties for Academic Misconduct,
plagiarism, collusion, and other specific acts of academic dishonesty. Academic honesty is crucial
to a student's credibility and self-esteem, and ultimately reflects the values and morals of the
University as a whole. A student may work together with one or a group of students discussing
assignment content, identifying relevant references, and debating issues relevant to the subject.
Academic investigation is not limited to the views and opinions of one individual, but is built by
forming opinion based on past and present work in the field. It is legitimate and appropriate to
synthesize the work of others, provided that such work is clearly and accurately referenced.
Plagiarism occurs when the work (including such things as text, figures, ideas, or conceptual
structure, whether verbatim or not) created by another person or persons is used and presented as
one’s own creation, unless the source of each quotation or piece of borrowed material is
acknowledged with an appropriate citation. Encouraging or assisting another person to commit
plagiarism is a form of improper collusion and may attract the same penalties. To prevent
Academic Misconduct occurring, students are expected to familiarize themselves with the
University policy, the Subject Outline statements, and specific assignment guidelines. Students
should also seek advice from Subject Leaders on acceptable academic conduct.

13.3 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. The recommended way is to show this under the diagram. If you quote
any statistics in your text, the source should be acknowledged. Again full details must be
provided in your bibliography. Whenever you use the ideas of any other author you should
acknowledge those, using the APA (American Psychological Association) style of referencing.

Page 6 of 7
The University of Lahore
Students are encouraged to co-operate, but collusion is a form of cheating. Students may use any
sources (acknowledged of course) other than the assignments of fellow students. Unless your
Subject Leader informs you otherwise, the following guideline should be used: 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

13.4 Referencing For Written Work

Referencing is necessary to acknowledge others' ideas, avoid plagiarism, and allow readers to
access those others’ ideas. Referencing should:
1. Acknowledge others' ideas
2. Allow readers to find the source
3. Be consistent in format and
4. Acknowledge the source of the referencing format

To attain these qualities, the school recommends use of either the Harvard or American
Psychological Association style of referencing, both of which use the author/date.

13.5 Referencing Standards


APA style referencing

14-Approval

Checked by, Approved by,

Page 7 of 7
The University of Lahore

You might also like