|Back to CS Home Page|
Computer Science Course Information
|Course No.||CIS 610||Sections||261|
|Title||Data Structures & Algorithms|
|Prerequisite(s)||1.CIS 335 (Data Str & Algorithms), or CIS 505 or equivalent.
2.Math 226 (Discrete Math).
|Instructor|| Stephen Chappell
|Instructor Office Hours|
|Description||Intensive study of the fundamentals of data structures and algorithms. Presents the definitions, representations, processing algorithms for data structures, general design and analysis techniques for algorithms. Covers a broad variety of data structures, algorithms and their applications including linked lists, various tree organizations, hash tables, strings, storage allocation, algorithms for searching and sorting, and a selected collection of other algorithms. Programs are assigned to give students experience in algorithms, data structure design and implementation.|
Divide-and-Conquer Technique and Recurrences
Basic Data Structures (Self-Review)
Linked-Lists, Stacks, Queues, Trees
Other Data Structures
Priority Queues, Heaps
Balanced Search Trees: AVL Trees
Other balanced search trees (self-study)
Red-Black Trees and B-Trees
Integer-Sorting: Bucket-Sort, Radix Sort
Basic Sorting Algorithms:
Insertion-Sort, Bubble-Sort, Selection Sort, Mergesort, Heapsort, Quicksort, Selection (Kth smallest element)
Algorithm Design Techniques
Graph Algorithms, Graph Definitions, Graph Represenations, Graph Traversals
Single-Source-Shortest-Paths Algorithm (Dijkstra)
Strings and Pattern Matching Algorithms
|Text Book(s)||Algorithm Design: Foundations, Analysis, and Internet Examples by Michael Goodrich and Roberto Tamassia.
|Time & Place||Tuesday 5:20 PM - 8:20 PM
Camden County College
Rohrer Center 212
Cherry Hill, NJ
|Other Info||Course Schedule
09/06/05 Administrivia; Algorithm Analysis; Sorting, Sets, & Selection 1, 4
09/13/05 No class
09/20/05 Basic Data Structures 2
09/27/05 Search Trees & Skip Lists 3
10/04/05 Fundamental Techniques 5
10/11/05 Graphs 6, 7
10/18/05 Midterm Exam
10/25/05 Network Flow & Matching 8
11/01/05 Text Processing 9
11/08/05 Number Theory & Cryptography 10
11/15/05 Network Algorithms 11
11/22/05 Computational Geometry 12
11/29/05 NP-Completeness 13
12/06/05 Algorithmic Frameworks 14
12/13/05 Final Exam
Grading: 30% - Exams; 70% - Assignments (8 - 10)
Attendance: You are expected to attend class. If you cannot attend class, then you are responsible for any missed work. Excessive absences will have a negative impact on your grade.
Assignments: Assignments are to be turned in when they are due, as a hard-copy of the program listing or via email. Late assignments will lose 10 points each week that they are late. Assignments not turned in by the end of the semester will receive a 0.
Exams: There will be two exams. If you are unable to attend class on the day of an exam, contact the instructor at least 24 hours prior to the exam to make arrangements for a makeup.
Academic Honor Code
The NJIT academic honor code
(http://www.njit.edu/academics/honorcode.php)applies in full to this
class. Note in particular that copying programs, in full or in part, is
forbidden. You may discuss ideas and concepts with your fellow
students, but you may NOT copy any code.