Prerequisites: Satisfactory grades in CSCI 1620 and MATH 2030.
Objectives:
The main objective of this course is to obtain a thorough understanding
of how computer systems can be used to solve large scale problems
efficiently. To achieve this goal, several advanced data structures
and basic techniques of algorithm design will be introduced
and analyzed. The course covers several topics that include
the revision of linear data structures, the introduction of
non-linear data structures and their applications, sorting,
searching and the main concepts of complexity theory.
Teaching Methodology:
The coverage will be primarily through lectures, with homework
assignments and reading projects.
Grading:
Standard
grading scheme will be used:
95
% and above A+
90% - 94.9%
A
85% - 89.9%
B+
80% - 84.9%
B
75% - 79.9%
C+
70% - 74.9%
C
65% - 69.9%
D+
60% - 64.9%
D
Below 60%
F
The
breakup is as follows:
•
Two in-class exams (100 pts each)
• Final exam (150 pts)
• Quizzes (20 pts)
• Programming assignments & Homework (200 pts)
• Reading project (50 pts): Required for graduate students
and optional for undergraduate
students (can be used to improve overall grade percentage).
Credit Hours:
This
course is worth three credit hours. The graduate section will
not count towards any graduate degree in Computer Science. It
may however count towards a graduate degree in other disciplines
if approved by the appropriate graduate program committee.
Project Ideas:
Possible
project ideas:
-
Advance
graph algorithms
-
Data
Structures for database applications
-
Generic
algorithms
-
Data
structures for solving transportation problems
-
Advanced
searching techniques
-
Data
mining
-
Parallel
algorithms
-
Scheduling
techniques
Text Book:
Data Structures and Algorithm Analysis in C++, by Weiss.
(Chapters 1-9 plus Sections 10.1 and 10.2)
References:
-
Fundamentals of Data Structures in Pascal, by Horowitz
and Sahni.
-
Fundamentals of Computer Algorithms, by Horowitz and
Sahni.
-
Introduction to Algorithms, by Cormen, Leiserson and
Rivest.
-
Design
and Analysis of Algorithms, by Aho, Ullman and Hopecraft.
-
Algorithms, by Robert Sedgwick.
-
Introduction
to Graph Algorithms, by Ali and Sherwani.
|