0% found this document useful (0 votes)
85 views8 pages

CSC112 Algorithms and Data Structures

This document provides information about the CSC112 Algorithms and Data Structures course offered at COMSATS University Islamabad in Spring 2022. The course introduces fundamental data structures and algorithms, including arrays, lists, stacks, queues, trees, graphs, sorting, searching, and recursion. It is a 3-credit hour course with lectures, a laboratory session, readings from two textbooks, and assessments including quizzes, assignments, a midterm exam, and a final exam. The course aims to teach students to select appropriate data structures and algorithms to solve problems.

Uploaded by

Souban Javed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
85 views8 pages

CSC112 Algorithms and Data Structures

This document provides information about the CSC112 Algorithms and Data Structures course offered at COMSATS University Islamabad in Spring 2022. The course introduces fundamental data structures and algorithms, including arrays, lists, stacks, queues, trees, graphs, sorting, searching, and recursion. It is a 3-credit hour course with lectures, a laboratory session, readings from two textbooks, and assessments including quizzes, assignments, a midterm exam, and a final exam. The course aims to teach students to select appropriate data structures and algorithms to solve problems.

Uploaded by

Souban Javed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 8

CSC112 

Algorithms and Data Structures   Spring 2022 

COMSATS University Islamabad 
 

COURSE DESCRIPTION FILE 

CSC112 Algorithms and Data Structures 

DEPARTMENT OF ELECTRICAL & COMPUTER ENGINEERING 

   

COMSATS University Islamabad Page 1


CSC112 Algorithms and Data Structures   Spring 2022 

COMSATS University Islamabad 
 

COURSE DESCRIPTION FILE 

CSC112 Algorithms and Data Structures 

DEPARTMENT OF ELECTRICAL & COMPUTER ENGINEERING 

Prepared By:  Checked By:  Approved By: 


 
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
   

COMSATS University Islamabad Page 2


CSC112 Algorithms and Data Structures   Spring 2022 

Algorithms and Data Structures  
Course code:  
CSC112 (3+1) 

Prerequisites:  
CSC141: Introduction to Computer Programming 

Co requisites: 
CSC 241: Object Oriented Programming 

Course Catalog Description: 
This  course  provides  an  introduction  to  the  design  and  analysis  of  fundamental  data  structures  and 
algorithms. The topics cover: Introduction to design patterns; Basic algorithms analysis; Fundamental data 
structures  ‐  implementation  strategies  for  stacks,  queues  and  linked  lists;  Recursion;  Implementation 
strategies  for  tree  and  graph  algorithms;  Hash  tables;  Applications  of  data  structures  (e.g.  data 
compression  and  memory  management).  A  special  emphasis  is  placed  on  programming  and  hands‐on 
experience, meant to reinforce the theoretical aspects covered in lectures. 

Textbooks:  
1. Nell Dale, “C++ Plus Data Structures”, Jones & Bartlett Learning, 4th Edition 
2. Alfred  V  Aho,  John  E  Hopcroft  and  Jeffery  D  Ullman,  “Data  Structures  and  Algorithms”,  Pearson 
Education.  (Available in Pearson Publisher’s catalog) 

Reference Books:  
1. A Practical Introduction to Data Structures and Algorithm Analysis Clifford A. Shaffer Third Edition 
2. Robert Lafore, “Sam’s Teach Yourself Data Structures and Algorithms in 24 Hours”, Sams Techmedia 
3. Seymour Lipschutz and G A Vijayalakshmi Pai, “Data Structures”, Tata Mc Grew Hills 
4. Samiran Chattopadhyay, Debabrata Ghosh Dastidar and Matagini Chattopadhyay, “Data Structures 
through C Language”, BPB Publication 

Course Learning Objectives: 
The purpose of this course is to provide the students with solid foundations in the basic concepts of 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  about  abstract  data  types,  their  associated  algorithms  and  studying  their  computational 
complexities. Moreover, this course offers the students a mixture of theoretical knowledge and practical 
experience. 

Course Learning Outcomes: 
1. Upon completion of the course, students will discuss the use of primitive data types and built‐in data 
structure. (C1‐PLO1) 

COMSATS University Islamabad Page 3


CSC112 Algorithms and Data Structures   Spring 2022 

2. Employ different types of data structures such as arrays, lists, stack, queues, trees, and graphs. (C2‐
PLO1) 
3. Analyze sorting, searching, recursion, divide‐conquer, hashing techniques in C++/ Java language. (C4‐
PLO2) 
4. Write  programs that  use  each of the following data structures:  arrays, strings, linked lists, stacks, 
queues, and hash tables. (A3‐PLO5) 

Course Schedule: 
3 credit hours lecture 2 equal sessions / week 
One laboratory session/week (3 hours/session) 

Topics Covered: 

Body of knowledge identify by  No of 
Topics (Book’s chapter title or 
Unit   IEEE/ACM Guide line (Page 34,  teaching 
topics 
Appendix A)   hours 
Introduction, why do we need Data 
1  AL/Basic Analysis  Structures, Introduction to Algorithm  1.5 
Analysis, Big‐O Notation 
Linked Lists 
3  F/Data Structures  Doubly Linked List, Circular List, Linked Lists  4.5 
Vs. Arrays, Assignment 1 
Stacks, its implementation 
Stack Applications (Parsing, Arithmetic  3 
4  expression evaluation), Infix to pre‐fix and   
post‐fix conversion, Expression Evaluation 
F/Data Structures  from Post‐fix 
Queues: its implementation, Quiz 1 

Queue Applications: Circular Queue,  3 
 
Priority Queue  
Recursion 
6  PF/Recursion  3 
Implementing Recursion 
 
AL/Fundamental Algorithms  Bubble, Selection and Insertion sort 


 
  Merge sort, Quick sort 

Introduction to Trees, the basic concepts 
7  PF/Data Structures  Tree Traversals, Traversing Binary Trees  4.5 
(Level order, Pre order, Post order and In 

COMSATS University Islamabad Page 4


CSC112 Algorithms and Data Structures   Spring 2022 

order) Searching, inserting and deletion in 
and balancing of Binary Search Trees 

8  PF/Data Structures  AVL Trees, Quiz 2  1.5 

Heaps Assignment 2 
9  PF/Data Structures  3 
Heaps Contd. 
 Introduction to Graphs, Quiz 3 
 Graph Implementations Assignment 3 
10  PF/Data Structures  3 
 Graph Traversals: Breadth First Search 
and Depth First Search 
 
Dijkstra’s Shortest Path First Algorithm, 
10  PF/Data Structures  4.5 
Minimum Spanning Trees 
Hashing, Hashing Key Value Concept, 
Mapping functions, Handling the Collisions 
chaining, overflow areas, re‐hashing, using 
11  PF/Data Structures  neighboring slots (linear  3 
probing),quadratic probing, random 
probing 
Hashing Contd., Quiz 4 
12  PF/Data Structures  Huffman Coding, Assignment 4  3 
13 Revision 1.5 
Terminal Examination 12 
Total no. of Hours 42+3=45 

Assessment Plan: 
Theory  Quizzes (4)  15% 
  Homework assignments   10% 
  Mid‐term exam (in class, 60‐80 minutes)  25% 
  Terminal exam (3 hours)  50% 
  Total (theory)    100% 
Lab work  Lab reports (12)   25% 
  Lab Mid‐term exam    25% 
  Lab project and terminal exam    50% 
  Total (lab)    100% 
Final marks  Theory marks * 0.75 + Lab marks * 0.25   
 

COMSATS University Islamabad Page 5


CSC112 Algorithms and Data Structures   Spring 2022 

Learning Outcomes Assessment Plan (Tentative): 
Sr. #  Course Learning Outcomes  Assessment 
1.     Quiz 1 
2.     Quiz 2 
3.     Quiz 3 
4.     Quiz 4 
5.     Assignment 1 
6.     Assignment 2 
7.     Assignment 3 
8.     Assignment 4 
9.     Mid‐term Exam 
10.     Terminal Exam 
Table 1: Assessment Plan for Course Learning Outcomes 

Laboratory Experiences: 
Estimated Lab 
Sr. #  Lab Title 
Hours 
1.   Introduction, Recap of the previous programming concepts  3 
2.   Linked List Implementation  3 
3.   Stack Implementation with Applications  3 
4.   Queue Implementation with applications  3 
5.   Implementation of recursion  3 
6.   Sessional 1   
7.   Sorting Implementation  3 
8.   Quick and Merge Sort Implementation  3 
9.   Binary search tree implementation  3 
10.   AVL trees implementation  3 
11.   Sessional II   
12.   Binary Heaps Implementation  3 
13.   Implementation of graphs  3 
14.   Hashing Implementation  3 
15.   Huffman Coding Implementation  3 

Computer Resources: 
For the purposes of this course, the software such as Java/C++ are installed in the laboratory that is used 
for implementation of algorithms and data structures.  

Mapping Course Learning Outcomes (CLOs) to Program Learning Outcomes (PLOs): 

COMSATS University Islamabad Page 6


CSC112 Algorithms and Data Structures   Spring 2022 

PLO 1  Engineering  Knowledge:  An  ability  to  apply  knowledge  of  mathematics,  science, 
engineering fundamentals and an engineering specialization to the solution of complex 
engineering problems. 
PLO 2  Problem  Analysis:  An  ability  to  identify,  formulate,  research  literature,  and  analyze 
complex engineering problems reaching substantiated conclusions using first principles 
of mathematics, natural sciences and engineering sciences. 
PLO 3  Design/Development  of  Solutions:  An  ability  to  design  solutions  for  complex 
engineering  problems  and  design  systems,  components  or  processes  that  meet 
specified  needs  with  appropriate  consideration  for  public  health  and  safety,  cultural, 
societal, and environmental considerations. 
PLO 4  Investigation: An ability to investigate complex engineering problems in a methodical 
way  including  literature  survey,  design  and  conduct  of  experiments,  analysis  and 
interpretation  of  experimental  data,  and  synthesis  of  information  to  derive  valid 
conclusions. 
PLO 5  Modern  Tool  Usage:  An  ability  to  create,  select  and  apply  appropriate  techniques, 
resources, and modern engineering and IT tools, including prediction and modeling, to 
complex engineering activities, with an understanding of the limitations. 
PLO 6  The  Engineer  and  Society:  An  ability  to  apply  reasoning  informed  by  contextual 
knowledge  to  assess  societal,  health,  safety,  legal  and  cultural  issues  and  the 
consequent responsibilities relevant to professional engineering practice and solution 
to complex engineering problems. 
PLO 7  Environment  and  Sustainability:  An  ability  to  understand  the  impact  of  professional 
engineering  solutions  in  societal  and  environmental  contexts  and  demonstrate 
knowledge of and need for sustainable development. 
PLO 8  Ethics: Apply ethical principles and commit  to professional ethics and responsibilities 
and norms of engineering practice.  
PLO 9  Individual and Team Work: An ability to work effectively, as an individual or in a team, 
on multifaceted and /or multidisciplinary settings. 
PLO 10  Communication: An ability to communicate effectively, orally as well as in writing, on 
complex  engineering  activities  with  the  engineering  community  and  with  society  at 
large,  such  as  being  able  to  comprehend  and  write  effective  reports  and  design 
documentation, make effective presentations, and give and receive clear instructions.  
PLO 11  Project  Management:  An  ability  to  demonstrate  management  skills  and  apply 
engineering  principles  to  one’s  own  work,  as  a  member  and/or  leader  in  a  team,  to 
manage projects in a multidisciplinary environment. 
PLO 12  Lifelong Learning: An ability to recognize importance of, and pursue lifelong learning in 
the broader context of innovation and technological developments.  
 

COMSATS University Islamabad Page 7


CSC112 Algorithms and Data Structures   Spring 2022 

PLOs 

PLO10 

PLO11 

PL012 
PLO 9 
PLO1 

PLO2 

PLO3 

PLO4 

PLO5 

PLO6 

PLO7 

PLO8 
CLOs 
CLO1  C1                       

CLO2  C2                       

CLO3    C4                     

CLO4          A3               

Table 2: Mapping CLOs to PLOs 

Version  Applicable From 

Version 1  Fall 2016 

Version 2  Spring 2017 

Version 3  Fall 2017 

   

   
 

COMSATS University Islamabad Page 8

You might also like