Lahore Garrison University: Course Syllabus Description

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Lahore Garrison University

Departments of Computer Science


Main Campus, Sector C, Phase VI, DHA Lahore
Ph:042-37181821-22, Email. info@lgu.edu.pk

COURSE
SYLLABUS DESCRIPTION

Course Title Data Structure & Algorithms


Course code CSC331
Degree o Bachelor of Science in Computer Science BS (CS)
o Bachelor of Science Information Technology BS (IT)
o Bachelor of Science Software Engineering BS (SE)
Semester Fall 2018
Year 2nd
Credits 4(3+1)

Total Lecturing Hours 42


Total Lab Hours 28
Prerequisites
Students should have taken the following courses in prior semesters.
o Programming Fundamentals

Course Page http://112.103.0.4/moodle/course/view.php?id=34

The aim of this course is to cover basic and in-depth concepts of Data
Structures and Algorithms. Students will learn how data structures are
helpful to solve different problems. It will provide foundation in
Specific learning advanced algorithm analysis course. Student can use C++
Educational Objective 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++ languages is expected as strong
background.

Course Instructors Kashaf Ad-Dooja, Haider Ahad & Umair Waqas


Teaching Assistants Ms. Kiran Amjad
Teaching Language English
Office Hours 0800 – 1600 Hrs (Student can visit personally by appointment only )
Abstract data types, complexity analysis, Big Oh notation, Stacks
List of Topics Covered (linked lists and array implementations), Recursion and analyzing
recursive algorithms, divide and conquer algorithms, Sorting
algorithms (selection, insertion, merge, quick, bubble, heap,
shell, radix, bucket), queue, dequeuer, priority queues (linked and
array implementations of queues), linked list & its various types,
sorted linked list, searching an unsorted array, binary search for
sorted arrays, hashing and indexing, open addressing and
chaining, trees and tree traversals, binary search trees, heaps, M-
way tress, balanced trees, graphs, breadth-first and depth-first
traversal, topological order, shortest path, adjacency matrix and
adjacency list implementations, memory management and
garbage collection.

o Basic and in-depth concepts of Data Structures and Algorithms


to solve different software problems.
o Selection of appropriate Data Structure and Algorithm for
specified application. How appropriate Data Structures and
algorithms impact performance of software?
Learning Outcomes
o Solve different problems using Arrays, Stacks, Queues, Link
Lists, Trees, Heaps, Hash Tables and Graphs.
o Use of different sorting techniques and their efficiency.
Students will be able to translate Algorithm ideas into working
practical applications.
o Lab / Project / Assignment work to test knowledge,
development / application skills and documentation skills done
Assessment individually.
o Written / lab / online exam with theoretical / practical questions
to test knowledge
Assessment Language o English

o Sessional 25
Quizzes (10)
Evaluation Criteria and Project (05)
Criteria for Awarding Assignments (10)
Marks o Midterm Exam 25
o Final Exam 50
o Lab Evaluation is also based on the above given pattern.

o Nell Dale : C++ Plus Data Structures, Latest Edition, Jones &
Text Book
Bartlett
o Data Structure using C/C++ by Mark Alan.
Reference Books
o Yadidyah Langsam, Moshe J. Augenstein, Aaron M.
Tenenbaum: Data Structures using C and C++.
o Dr. Sohail Aslam: Data Structures Handouts.
o Graph Theory & Algorithms by Dr. M. Ashraf Iqbal
Software Use o DEV C++ , Visual Studio, Eclipse

Detailed Lectures Schedule

Week Lecture Course Contents Evaluation Sign.


Course Overview, Introduction to Different Data
Lec. 1 Structures. Data Types, Primitive Data types, Non –
Week 1
Primitive Data Types
Abstract data types, (ADT’s), Data Structures, Lists,
Lec. 2
ADT List Operations
Lec. 3 Complexity Analysis & Big Oh Notation Assign - 1
Week 2
ADT Stacks, ADT Stack Operations and
Lec. 4
implementation
Infix, Prefix, Postfix notation, Conversions.
Lec. 5
Postfix Expression Evaluation.
Week 3
Lec. 6 Queue , Dequeue & its implementation using arrays Quiz - 1

Lec. 7 Priority queues, Circular queues using arrays


Week 4
Lec. 8 Recursion and analyzing recursive algorithms Assign - 2

Lec. 9 Divide and conquer algorithms,


Week 5
Lec. 10 Sorting algorithms

Lec. 11 Intro. & Implementation of List as Singly Link List


Week 6
Lec. 12 Implementation of Queue as Singly Link List Quiz - 2

Lec. 13 Solving stack problems using Link List


Week 7
Lec. 14 Revision

Mid Term Exam

Week 8 Lec. 15 Intro. & Applications of Doubly Link List (DLL)

Lec. 16 Queue / Stack Operations implementation using DLL


Week 9 Lec. 17 Intro. & Applications of Circular Link List (CLL)

Lec. 18 Queue / Stack Operations implementation using CLL Quiz - 3

Lec.19 Josephus Problem Assign - 3


Week 10
Binary Tree, Strictly Binary Tree, Complete Binary
Lec. 20
Tree, Implementation of BST

Week 11 Lec. 21 Tree Traversal: Three Tick method


Lec. 22 AVL Trees, Operations on AVL Tree Quiz - 4

Week 12 Lec. 23 Heaps, Min Heaps, Max Heaps


Lec. 24 Min Balanced BST, Max Balanced BST

Week 13 Lec. 25 Graphs, Types of Graphs


Lec. 26 Adjacency matrix and adjacency list implementations Assign - 4
Hashing. Hashing Techniques, Collisions & Collisions
Week 14 Lec. 27
Avoidance Methods
Lec. 28 Memory management and garbage collection

You might also like