| Back to CS Home Page |
Computer Science Course Information |
| Course No. | CIS 610 | Sections | 001 |
| Title | Data Structures & Algorithms |
| Course Website | http://www.cs.njit.edu/~perl/ |
| Prerequisite(s) | CIS 114 (Intro to Computer Science II), or CIS505 or equivalent.
Math 226 (Discrete Math). |
| Instructor | Yehoshua Perl |
| 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 | Course Outline:
Analysis Techniques Induction, Recursion Recurrence Relations Basic Data Structures Abstract Data Types Linked List Stacks Queues Trees Tree Traversals Huffman Codes Priority Queues, Heaps Search Trees Binary Search Trees Hashing Searching Algorithm Sequential Search Binary Search Sorting Algorithms Basic Algorithms Insertion Sort Bubble Sort Selection Sort Integer Sorting Bucket Sort Radix Sort Advanced Algorithms Merge Sort Heap Sort Quick Sort Graph Algorithms Graph Traversals Shortest Path Problems Minimum Spanning Tree Algorithm Design Techniques Divide and Conquer Greedy Method Dynamic Programming |
| Text Book(s) | Algorithm Design, Foundations, Analysis, and Internet Examples by Michael T. Goodrich, Roberto Tamassia. Wiley 2002.
Additional References: 1. Cormen, Leiserson, Riverst, Introduction to Algorithms, McGraw-Hill, 1990. 2. Aho, Hopcroft and Ullman, Data Structures & Algorithms, Addison-Wesley, 1987. 3. S. Sahni, Data Structures, Algorithms and Applications in C++, McGraw-Hill, 1998. |
| Time & Place | Mondays & Wednesdays 1:00 PM - 2:25 PM Info 1400 |
| Other Info | • Policies on all Assignments:
1. Programming assignments must be done in C++. 2. You must do all assignments individually. No teamwork. 3. Writing assignments should be submitted a week after being assigned. No late submissions. Programming assignments are for several weeks. 4. Hand in all assignments at the beginning of the class period on the due date. 5. Two large programming assignments, late penalty: 10% per week. • Evaluation: Write Assignments 10%-15% Programming Assignments 25%-30% Midterm 25% Final 35% 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. |