[go: up one dir, main page]

0% found this document useful (0 votes)
699 views3 pages

Data Structures: Course Objectives

This course provides students with foundations in data structures and algorithms. Students will learn to analyze algorithms, implement classic structures like linked lists and trees, and advanced structures including balanced search trees and hash tables. The course teaches sorting, searching, recursion, and graph algorithms. Students will practice problem solving by selecting appropriate data structures and algorithms. Upon completing the course, students will understand different data structure applications and be able to design and analyze algorithms.

Uploaded by

Munawar Jamal
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)
699 views3 pages

Data Structures: Course Objectives

This course provides students with foundations in data structures and algorithms. Students will learn to analyze algorithms, implement classic structures like linked lists and trees, and advanced structures including balanced search trees and hash tables. The course teaches sorting, searching, recursion, and graph algorithms. Students will practice problem solving by selecting appropriate data structures and algorithms. Upon completing the course, students will understand different data structure applications and be able to design and analyze algorithms.

Uploaded by

Munawar Jamal
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/ 3

Data Structures

Course Description:

The purpose of this course is to provide the students with solid foundations in the basic
concepts of programming: 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 also about
comparing algorithms and studying their correctness and computational complexity.
This course offers the students a mixture of theoretical knowledge and practical
experience using JAVA.

Course Objectives:
• Learn basic techniques of algorithm analysis (Big Oh analysis)
• Learn to write recursive and iterative methods.
• Learn the implementation of classic data structures such as linked list, Array List,
trees, and etc.
• Learn the advanced data structures such as balanced search trees, hash tables,
priority queues etc.
• Learn various kind of sorting algorithms including comparison sorts, divide and
conquer sorts etc.
• Learn some graph data structures and their algorithms
• Learn to become a master in utilizing the standard data structure library of a
major programming language (e.g. java.util in Java 5)
• Learn to become a master in analyzing problems and writing program solutions
to problems using appropriate data structures and algorithms.

Course Outcome:
After the completion of this course students have:

• Understanding of different data structures that are suitable for problems to be


solved efficiently.
• Understanding of problem solving paradigm.
• Understanding of the design and analysis of algorithms based on different data
structures.
• Understanding of the algorithms complexity for both iterative as well as for
recursive approaches.
• Understanding of sorting and searching techniques.
• Understanding to implement data structures and algorithms.
• Understanding of how common computational problems can be solved efficiently
on a computer.
Text Books:
• Algorithms by Robert Sedgwick
• Data Structures and Algorithms using Java by Moshe J. Augenstein, Yedidyah
Langsam , Aaron M. Tenenbaum
• Data Structures using java by Robert Lafore

Reference Books:
• Data Structures and Algorithms in Java (4th edition) by Michael T. Goodrich and
Roberto Tamassia
• Data Structures & problem solving using JAVA by Mark Allen Weiss
• Data Structures with Java by William H. Ford
• Java: How to program, Deiteland Deitel

Course Outline week wise:


1. Introduction
2. Arrays
3. Linear search and binary search
4. Asymptotic Analysis (big-O notation)
5. Lists
a) Singly link lists
b) Doubly link lists
c) Circular link lists
6. Stacks and its applications
7. Queues
a) Simple queues
b) Priority queues
c) Circular queues
8. Recursion
a) Linear recursion
b) Binary recursion
9. Binary Trees
a) Binary search tree construction
b) tree traversals (in-order, pre-order, post-order)
c) Binary tree application (Huffman Encoding)
10. Searching
a) Sequential search
b) Indexed sequential search
c) Binary search
d) Tree search
e) Hashing
11. Sorting
a) Bubble sort
b) Insertion sort
c) Selection sort
d) Quick sort
e) Heap sort
f) Merge sort
g) Radix sort
12. Balanced Binary trees
a) B-trees
b) Red-Black trees
c) AVL trees
13. General n-array trees

Tools/Languages:
Data structure animation
(**http://www.csse.monash.edu.au/~dwa/Animations/index.html**)
Eclipse editor for Java programming
Netbeans Editor (optional)
JAVA programming language

Grading Policy:
Midterm Exams: 20%
Final Exam: 30%
Quiz : 10%
Home Assignments: 10%
Lab work: 20%
Project: 10%

You might also like