0% found this document useful (0 votes)
22 views5 pages

Data Structures and Algorithms Handbook

The document is a course handbook for 'Data Structure and Algorithm' (CSC211) at COMSATS University Islamabad, Lahore Campus, covering the course structure, objectives, contents, assessment methods, and policies for the Spring 2024 semester. It outlines theoretical and practical components, including topics such as arrays, stacks, queues, trees, and graphs, with a focus on implementing algorithms in C language. The assessment includes exams, quizzes, and lab performance, with a minimum passing mark of 50%.

Uploaded by

sp23-bai-030
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)
22 views5 pages

Data Structures and Algorithms Handbook

The document is a course handbook for 'Data Structure and Algorithm' (CSC211) at COMSATS University Islamabad, Lahore Campus, covering the course structure, objectives, contents, assessment methods, and policies for the Spring 2024 semester. It outlines theoretical and practical components, including topics such as arrays, stacks, queues, trees, and graphs, with a focus on implementing algorithms in C language. The assessment includes exams, quizzes, and lab performance, with a minimum passing mark of 50%.

Uploaded by

sp23-bai-030
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/ 5

COMSATS University Islamabad, Lahore Campus

Defence Road, Off Raiwind Road, Lahore


​ ​

COURSE HANDBOOK

1 Course Title​ Data Structure and Algorithm


2 Course Code​ CSC211
3 Credit Hours 4(3,1)
4 Semester​ Spring2024
5 Resource Person Abdul Karim Shahid
6 Supporting Team Members
7 Contact Hours (Theory) 3 hours per week
8 Contact Hours (Lab) 3 hours per week
9 Office Hours​
10 Course Introduction

This module will introduce students to the fundamental concepts of Data structures, and they
will study how to write efficient algorithms. Students will learn theoretical concepts about
different data structures, and the application of data structures to solve different problems. The
theoretical background will let students to implement those concepts in the lab keeping in mind
the real-world problems.

11 Learning Objectives
The aim of this course is to cover basic and in-depth concepts of Algorithms and Data Structures.
Students will learn how data structures are helpful to solve different problems. It will provide
foundation in learning advanced algorithm analysis course. Student can use C language for the
purpose of implementation, and they will learn generic concepts which will be used for
developing different software applications. The knowledge of C language is expected as strong
background.
Students should be able to:
●​ Basic and in-depth concepts of Data Structures and Algorithms to solve different software
problems.
●​ Selection of appropriate Data Structure and Algorithm for specified application.
●​ How appropriate Data Structures and algorithms impact performance of software?
●​ Solve different problems using Arrays, Stacks, Queues, Link Lists, Trees, Heaps, Hash
Tables and Graphs.
●​ Use of different sorting techniques and their efficiency.
●​ Students will be able to translate Algorithm ideas into working practical applications.

12 Course Contents
The module consists of theory and practical portion. Theory part will consist of class lecture that
will introduce theoretical concepts of Data Structures and Algorithms. The lab part will focus on
the practical application of the concepts delivered in class to solve different problems. Exercises,
assignments and projects assigned in lectures will be supervised in lab session. Students will be
encouraged to come up with their own ideas and concepts to solve different problems.
13 Lecture Schedule
Weeks Topic of Lecture Reading Assignment
Week 1 ●​ Course Overview, Introduction to Different Book+ Handouts
Data Structures. Memory Management of
basic data types.
Week 2 ●​ Algorithms, flow charts, pseudocodes
Week 3 ●​ Arrays, Insertion and Deletion in Arrays, Book + Handouts
row major order, column major order,
Two-dimensional Arrays, Multi-dimensional
Arrays.
Week 4 ●​ Stacks, Operations on stacks, Infix, Postfix Book+ Handouts
and Prefix notations, Infix to Postfix
conversion, postfix evaluation, Tower of
Hanoi

Week 5 ●​ Queues, Operation of Queue (Insertion & Book + Handouts


deletion), Types of Queues (Circular,
Priority, Dequeue etc), Priority & Dequeue(
Insertion & Deletion)
Week 6 & 7 ●​ Basic concepts of pointers Book+ Handouts
●​ Link Lists, creation of link list, operations of
link list(traversal, insertion, deletion)
Week 7 ●​ Circular & doubly link list, circular doubly Handouts
link list (insertion, deletion)
Week 8 ●​ MedTerm Exam
Week 9 ●​ Concepts of Tree, Type of trees, Creation of Handouts
tree using array, Traversal of Tree.
Week 10 ●​ Creation of tree using link list, Traversal of Book+ Handouts
Tree.

Week 11 ●​ Binary search tree (creation, Insertion, Handouts


Traversal), Height Balanced Trees
Week 12 ●​ , Heap (Min & Max heap), Heapify
Week 13 ●​ Searching (Linear, Binary), Introduction to
Hashing, Algorithms, Hash Functions,
Week 14 ●​ Memory Organization of Hash, Collision in
Hashing, Hash Function Techniques
Week 15 ●​ Sorting (Insertion, Bubble, Quick, Heap), Book + Handouts
Introduction to Graphs (Implementation
using Array & Link List)
Week 16 ●​ Graph operations, Memory representations Handouts
of Graphs using Array & Link List,
Traversal(Depth First and Breadth First
Algorithms), Dijkstra Algorithm( Shortest
Path)
14 Lab Schedule
Sessions Topics
Week 1 & 2 Exercise on Array Data structure.
Week 3 Practice on assignments of 2D Arrays,
Week 4 Stack Exercises, solving practical problems using Stack. Conversion &
evolution of Infix to Postfix, Tower of Hanoi
Week 5 Queues practice assignments, Circular Queue, Application of priority queues.
Week 6 & 7 Implementation of link list and types of linked list
Week 8 Implementation of link list and types of linked list
Week 9 MidTerm Exam
Week 10 Circular and Doubly Link List
Week 11 Implementation of Tree, Transversal methods etc
Week 12 Implementation of BST, Transversal methods etc, Heap Creation
Week 13 Implementations of searching techniques, Hashing
Week 14 Hash Functions and its techniques
Sorting (Insertion Sort, quick sort, bubble sort, Heap Sort)
Week 15

Week 16 Implementation of Graphs


15 Course Assessment
The assessment of this module shall have followed breakdown structure

Theory Part

MidTerm Exam 25%


Final Exam 50%
Quiz (4 per semester) 10%
Assignments (4 per semester) 15%
Practical / Lab Part
Performance or experiments 25%
MidTerm Exam 25%
Final Exam 50%

The minimum pass marks for each course shall be 50%. Students obtaining less than 50% marks
in any course shall be deemed to have failed in that course. The correspondence between letter
grades, credit points, and percentage marks at CUI shall be as follows:
Grades Letter Grade Credit Points Percentage Marks

A ( Excellent) 4.00 85 and above


A- 3.66 80-84
B+ 3.33 75-79
B (Good) 3.00 71-74
B- 2.66 68-70
C+ 2.33 64-67
C (Average) 2.00 61-63
C- 1.66 58-60
D+ 1.30 54-57

D (Minimum passing) 1.00 50-53


F (Failing) 0.0 Below 50
Note: The marks to be assigned to students shall be in whole numbers and are not same as
followed in the annual system of Lancaster University.
16 Assessment Schedule (Tentative)
Month 2 and 3 1st Assignment, 2nd Assignment and 2 Quizzes
Month 4 3rd Assignment and Quiz
Month 4 and 4.5 Assignment (Project) and Quiz
17 Format of Assignment
This course indoctrinates the following format for all assignments except code:
1.​ Paper Size: A4
2.​ Left Margin: 2 Inches
3.​ Right Margin: 1 Inch
4.​ Top Margin: 0.5 Inch
5.​ Bottom Margin: 0.5 Inch
6.​ Font: Times New Roman
7.​ Font Size:
a.​ Main Heading 14
b.​ Sub Heading 12
c.​ Text 12
d.​ Titles 16
8.​ Font Color: Black
9.​ Line Spacing: 1.5
10.​ Diagrams & Charts: Need not be colored
11.​ Title page must be designed as guided by resource person in class
12.​ Number of Pages: No Limit
13.​ Reference Style: APA (If applicable)

Code will be submitted in text files that can be compiled with specified programming language
compiler.

18 Text Book ●​ “Classic Data Structures”, by D. Samanta.


●​ “Data Structure—A Pseudocode Approach with C”,
by Richard F. Gilberg, Behrouz A. Forouzan
●​ “Data Structures using C and C++”, by Yadidyah
Langsam, Moshe J. Augenstein, Aaron M.
Tenenbaum.
●​ A Common-Sense Guide to Data Structures and
Algorithms, Jay Wengrow, Pragmatic Bookshelf,
2020.
19 Reference Books ●​ “Schaum’s Outlines of Data Structures with C++”, by
John R. Hubbard.
●​ “Programming and Data Structures ”, by Ashok
N.Kamthane
20 Plagiarism
Plagiarism involves the unacknowledged use of someone else’s work, usually in coursework, and
passing it off as if it were one’s own. Many students who submit apparently plagiarised work
probably do so inadvertently without realising it because of poorly developed study skills,
including note taking, referencing and citations; this is poor academic practice rather than
malpractice. Some students, particularly those from different cultures and educational systems,
find UK academic referencing/acknowledgement systems and conventions awkward, and
proof-reading is not always easy for dyslexic students and some visually-impaired students. Study
skills education within programmes of study should minimise the number of students submitting
poorly referenced work. However, some students plagiarise deliberately, with the intent to
deceive. This intentional malpractice is a conscious, pre-mediated form of cheating and is
regarded as a particularly serious breach of the core values of academic integrity. The
Programme has zero tolerance for intentional plagiarism.
Plagiarism can include the following:
1.​ Collusion, where a piece of work prepared by a group is represented as if it were the
student’s own;
2.​ Commission or use of work by the student which is not his/her own and representing it as
if it were, e.g.:
a.​ purchase of a paper from a commercial service, including internet sites, whether
pre-written or specially prepared for the student concerned
b.​ submission of a paper written by another person, either by a fellow student or a
person who is not a member of the university;
3.​ Duplication (of one’s own work) of the same or almost identical work for more than one
module;
4.​ The act of copying or paraphrasing a paper from a source text, whether in manuscript,
printed or electronic form, without appropriate acknowledgement (this includes quoting
directly from another source with a reference but without quotation marks);
5.​ Submission of another student’s work, whether with or without that student’s knowledge or
consent;
6.​ Directly quoting from model solutions/answers made available in previous years;
7.​ Cheating in class tests, e.g.
a.​ when a candidate communicates, or attempts to communicate, with a fellow candidate
or individual who is neither an invigilator or member of staff
b.​ copies, or attempts to copy from a fellow candidate
c.​ attempts to introduce or consult during the examination any unauthorised printed or
written material, or electronic calculating, information storage device, mobile phones
or other communication device
d.​ Personates or allows him or her to be impersonated.
8.​ Fabrication of results occurs when a student claims to have carried out tests, experiments
or observations that have not taken place or presents results not supported by the evidence
with the object of obtaining an unfair advantage.
These definitions apply to work in whatever format it is presented, including written work,
online submissions, group work and oral presentations.
21 Attendance Policy
Every student must attend 80% of the lectures/seminars delivered on this course.
2 Field Trips/Case Studies/Seminars/Workshop
Not Applicable

You might also like