Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
603 views

CSC211 Data Structures and Algorithms

This document provides a course description file for CSC211 Data Structures and Algorithms offered in Spring 2022. The course introduces fundamental data structures and algorithms, including linked lists, stacks, queues, trees, graphs, recursion, sorting, and hashing. It will be taught over 45 hours consisting of lectures and laboratory sessions. Students will be assessed through quizzes, assignments, a midterm exam, and a final exam. The goal is for students to learn to select and design 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
0% found this document useful (0 votes)
603 views

CSC211 Data Structures and Algorithms

This document provides a course description file for CSC211 Data Structures and Algorithms offered in Spring 2022. The course introduces fundamental data structures and algorithms, including linked lists, stacks, queues, trees, graphs, recursion, sorting, and hashing. It will be taught over 45 hours consisting of lectures and laboratory sessions. Students will be assessed through quizzes, assignments, a midterm exam, and a final exam. The goal is for students to learn to select and design 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
You are on page 1/ 7

CSC211 

Data Structures and Algorithms  Spring 2022 

COMSATS University Islamabad 
 

COURSE DESCRIPTION FILE 

CSC211 Data Structures and Algorithms 

DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING 

   

COMSATS University Islamabad Page 1


CSC211 Data Structures and Algorithms  Spring 2022 

COMSATS University Islamabad 
 

COURSE DESCRIPTION FILE 

CSC211 Data Structures and Algorithms 

DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING 

Prepared By:  Checked By:  Approved By: 


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

COMSATS University Islamabad Page 2


CSC211 Data Structures and Algorithms  Spring 2022 

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

Prerequisites:  
CSC103: Programming Fundamentals 

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. Aaron M. Tenenbaum, “Data Structures Using C and C++”, Pearson Education, 2nd Edition 
2. Dharmender Sing Kushwaha, Arun Kumar Misra, “Data Structures a Programming Approach with C”, 
PHI.  

Reference Books:  
1. Robert Sedgewick, Kevin Wayne, “Algorithms”, Addison‐Wesley, 4th Edition 
2. Thomas H. Cormen “Introduction to Algorithms”, The MIT Press, 2nd Edition 
3. Reema Thareja, “Data Structures using C”, Oxford University Press, 2nd Edition 

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. Ability to describe different types of data structures and algorithms and their applications. (C2‐PLO1) 
2. Develop computer programs to implement different types of data structures (such as arrays, lists, 
stack, queues, trees, and graphs) and their associated algorithms. (C3‐PLO2) 
3. Analyze algorithms such as sorting, searching, recursion, divide‐conquer, hashing techniques etc. (C4‐
PLO2) 
4. Write programs that use data structures (arrays, strings, linked lists, stacks, queues, graphs and hash 
tables etc) and algorithms. (A3‐PLO5) 

COMSATS University Islamabad Page 3


CSC211 Data Structures and Algorithms  Spring 2022 

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  1.5 
Structures. 
Linked Lists 
2  F/Data Structures  Doubly Linked List, Circular List, Linked Lists  4.5 
Vs. Arrays, Assignment 1 
Stacks, its implementation 
Stack Applications (Parsing, Arithmetic  3 
3  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 
5  PF/Recursion  3 
Implementing Recursion 
 
Introduction  to  Algorithm  Analysis,  Big‐O 
Notation.  

AL/Fundamental Algorithms  Bubble, Selection and Insertion sort.  3 
 

Merge sort, Quick sort 

Introduction to Trees, the basic concepts 
Tree Traversals, Traversing Binary Trees 
7  PF/Data Structures  (Level order, Pre order, Post order and In  4.5 
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. 

COMSATS University Islamabad Page 4


CSC211 Data Structures and Algorithms  Spring 2022 

 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   

Learning Outcomes Assessment Plan (Tentative): 
Sr. #  Course Learning Outcomes  Assessment 
1.     Quiz 1 
2.     Quiz 2 
3.     Quiz 3 
4.     Quiz 4 

COMSATS University Islamabad Page 5


CSC211 Data Structures and Algorithms  Spring 2022 

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.   Singly Linked List Implementation  3 
3.   Doubly Linked Lists and Circular Linked Lists Implementation  3 
4.   Stack Implementation with Applications  3 
5.   Queue Implementation with applications  3 
6.   Sessional 1   
7.   Implementation of recursion   3 
8.   Sorting Implementation  3 
9.   Quick and Merge Sort Implementation  3 
10.   Binary search tree implementation  3 
11.   Sessional II    
12.   AVL trees implementation  3 
13.   Binary Heaps Implementation  3 
14.   Implementation of graphs  3 
15.   Hashing Implementation  3 
16.   Huffman Coding Implementation  3 

 
   

COMSATS University Islamabad Page 6


CSC211 Data Structures and Algorithms  Spring 2022 

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

Mapping Course Learning Outcomes (CLOs) to Program Learning Outcomes (PLOs): 
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 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. 
 
PLOs 

PLO10 

PLO11 

PL012 
PLO 9 
PLO1 

PLO2 

PLO3 

PLO4 

PLO5 

PLO6 

PLO7 

PLO8 
CLOs 
CLO1  C2                       

CLO2    C3                     

CLO3    C4                     

CLO4          A3               

Table 2: Mapping CLOs to PLOs 

Version  Applicable From 

Version 1  Fall 2019 

   

   

   

   
 

COMSATS University Islamabad Page 7

You might also like