0% found this document useful (0 votes)
105 views

Data Structures (CS2001) Course Outline

The document provides information about the CS2001 - Data Structures course offered at National University of Computer & Emerging Sciences, Lahore. The course is a 3 credit hour core course with prerequisites of Object Oriented Programming. It introduces students to data structures and algorithms and prepares them to select appropriate data structures for computational problems. The course learning outcomes include understanding data structures and algorithms, evaluating different data structures, and designing data structures to solve real-world problems. The course will be evaluated based on assignments, quizzes, midterms, and a final exam.

Uploaded by

Humayun Raza
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
105 views

Data Structures (CS2001) Course Outline

The document provides information about the CS2001 - Data Structures course offered at National University of Computer & Emerging Sciences, Lahore. The course is a 3 credit hour core course with prerequisites of Object Oriented Programming. It introduces students to data structures and algorithms and prepares them to select appropriate data structures for computational problems. The course learning outcomes include understanding data structures and algorithms, evaluating different data structures, and designing data structures to solve real-world problems. The course will be evaluated based on assignments, quizzes, midterms, and a final exam.

Uploaded by

Humayun Raza
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

NATIONAL UNIVERSITY

of Computer & Emerging Sciences, Lahore

FASTSchoolofComputing
CS2001 – Data Structures
FALL 2023

Instructor Name: Hira Butt Email: [email protected]


Office Location: Old-Admin Block (M-107) infront of Lab 4

Course Information
Program: BS(CS,SE,DS,R) Credit Hours: 3 and (1 for Lab)
Type: Core Pre-requisites: Object Oriented Programming

Course Description/Objectives/Goals:
• Introduce students with data structures and their associated algorithms.
• Introduce the concept of efficient data structures and how this efficiency can be measured. •
Prepare students to select appropriate data structure for a given computational problem.

Course Learning Outcomes (CLOs):


The course learning outcomes of this course are:
1. Understand basic concepts of data structure and algorithms.
2. Evaluate different data structures in terms of memory and time requirement
3. Design appropriate data structures to solve real world problems related to the program
4. Determine bugs in programs and recognize required operations with data structures

Course Textbooks:
• Mark Allen Weiss, Data structures and algorithm analysis, Pearson Education, 2007. •
Adam Drozdek, Data structures and algorithms in C++, Course technology, 2004. • Nell
Dale, C++ Plus Data Structures, 3rd Edition, Jones and Bartlett, 2003.
• Michael T. Goodrich, Roberto Tamassia and David M. Mount, Data structures and algorithms, 2nd
Edition, John Wiley & Sons, 2011.

(Tentative) Grading Criteria:


Assignments - (15 %) Quizzes - (10 %) Midterms - (30 %) Final Exam - (45 %) • Grading scheme for
this course is Absolute under application of CS department's grading policies. • Minimum
requirement to pass this course is to obtain at least 50% absolute marks.
Course Policies:
o Quizzes will be announced.
o All assignments and course work must be done individually.
o Plagiarism in any work (Labs, Quiz, Assignment, Midterms, and Final Exam) from any source,
Internet or a Student will result in F grade or deduction of absolute marks.
o No Late Submissions or Makeup Quizzes.
o 80% attendance is required for appearing in the Final exams.

Tentative Weekly Schedule


Lectu Topics
re
Coun
t
1 Introduction

3 Time Complexity Analysis and Asymptotic Bounds

4 Linked Lists:
Singly linked lists, doubly linked lists, Circular lists
Link list iterators

2 Stacks:
Operations (Push, Pop)
Applications: Expression Evaluation, Backtracking,

1 Queues:
Operations (Enqueue, Dequeue)
Applications: Lee’s Algorithm, Josephus Problem

Mid 1
2

Recursion: with Time complexity Analysis

3 Trees:
Binary trees and their traversals
+ Binary search trees (Search, Insertion, and Deletion)
Height Balanced Binary Search Trees
3
AVL Trees (Insertion, Deletion)

3 Heaps:
Heaps (Insertion, Deletion and Search)
Applications:
Heap sort
Data compression and Huffman coding

Mid 2
3 Hashing:
Hash tables and hash functions
Collision resolution methods
Universal hashing (Optional)
Bit vectors and bloom filters (Optional)

3 Graphs:
Storage (Adjacency List, Adjacency Matrix)
Search: Breadth first search, Depth first search
Applications: Connection, Finding Paths, Cycles

You might also like