Back to CS Home Page |
Computer Science Course Information |
Course No. | CIS 610 |
Sections | 261 |
Title | Data Structures & Algorithms |
Course Website | http://www.steveswebshed.com/njit/cis610_syllabus_2003smr.html |
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. |
Topics | Analysis Techniques
Induction Recursion Recurrence Relations Divide-and-Conquer Technique and Recurrences Basic Data Structures (Self-Review) Linked-Lists, Stacks, Queues, Trees Other Data Structures Priority Queues, Heaps Hash Tables Search Trees Binary-Search-Trees Balanced Search Trees: AVL Trees Other balanced search trees (self-study) Red-Black Trees and B-Trees Sorting Algorithms 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 Divide-and-Conquer Greedy Method Dynamic Programming Graph Algorithms, Graph Definitions, Graph Represenations, Graph Traversals Connected Components Single-Source-Shortest-Paths Algorithm (Dijkstra) All-Pairs-Shortest-Paths Algorithm Minimum-Cost-Spanning-Tree Algorithms Text Processing Strings and Pattern Matching Algorithms |
Text Book(s) | Algorithm Design: Foundations, Analysis, and Internet Examples by Michael Goodrich and Roberto Tamassia.
Wiley, 2002. |
Time & Place | Tuesday 5:20 PM - 8:20 PM
Camden County College Rohrer Center 212 Route 70 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. |