CS 483 Spring 2005
Data Structures and Analysis of Algorithms


Time/Location:  Wednesday 7:20-10:00   Innovation Hall 132 Teaching Assistant:
Instructor: Jana Kosecka  Muhammad Abdulla  (mabdull2@gmu.edu)
Office hours:    Wednesday 2-3pm Office hours: 
Contact: Office 417 ST2, kosecka@gmu.edu, 3-1876  3-4:15pm  Tu, Thu
Course web page: http://www.cs.gmu.edu/~kosecka/cs483.html Office:  365 ST2

Course Scope: In this course, a thorough examination of several well-known techniques that are used for the design and analysis of algorithms will be covered. Topics to be covered include theoretical measures of algorithm complexity, sorting and selection algorithms, greedy algorithms, divide and conquer techniques, dynamic programming, graph algorithms, search strategies, and an introduction to the theory of NP-completeness. Additional topics may be covered if time permits. Students are expected to have taken prior undergraduate courses in data structures and algorithms, as well as calculus and discrete mathematics.

Prerequisites:
CS 310 and CS 330 Calculus (MATH 113, 114, 213) and MATH 125

Required Textbook:
Anany Levitin: The Design and Analysis of Algorithms, Addison Wesley 2003

Course Requirements,

Grading
Homeworks and Quizes 30% (about every 1-2 weeks)
Midterm Examination  30%
Final 40%

Policies

All required assignments must be completed by the stated due date and time. There will be absolutely no extensions for the homeworks (not even in the case of emergency).  Your lowest homework grade will not be counted towards your final grade.

Please note that all coursework is to be done independently.  Plagiarizing the homeworks will be penalized by maximum
negative credit and cheating on the exam will earn you an F in the course. See the GMU Honor Code System and Policies at http://www.gmu.edu/catalog/acadpol.html and http://www.cs.gmu.edu/honor-code.html.
You are encouraged  to discuss the material BEFORE you do the assignment.  As a part of the interaction  you can
discuss a meaning of the question or possible ways of approaching the solution. The homework should be written strictly
by yourself. In case your solution is based on the important idea of someone else please acknowledge that in your solution, to avoid any accusations.

You will be allowed to have one page of (8.5 x 11) of notes for the midterm and two pages (one sheet)
for the final. No copying of anything from the textbook or another person is allowed. You can
write some things  verbatim. You can also write your notes on the computer and print them.
The notes sheet will be handed in with the exam. 

The quiz will be a closed book exam - no notes will be allowed.


Important Dates:

Exam 1 -  Midterm
Exam 2 -   Final

List of Topics: 

Weekly Schedule, Readings, Assignments, Notes
Week 1. Introduction, Data Structures, Analysis Framework, Asymptotic Notation,



Some sample problems and exams
(The excercise numbers are from Cormen et. al textbook Introduction to Algorithms)
(chapter 1-2 Cormen) sample solutions
(chapter 4 Cormen) 
sample solutions
(chapter 5 Cormen) sample problems and solutions

Additional sample problems with solutions, which may help you to study
Problems 1 (.pdf)

Sample exams and quizes
Sample Midterm (.pdf) , Practice Final (.pdf)
,  Sample Quiz (.pdf)
Solutions to sample final (.pdf)