01:198:112:T7 - Data Structures - Summer 2019 

Staff/Office Hours

Instructor:

               Kuo Zhang  Email: kz181@cs.rutgers.edu  Office Hour: Wed 3pm-4pm@Core340

TA:

              Aayush Mandhyan   Email: am2447@scarletmail.rutgers.edu   Office Hour: Mon 2pm-4pm@CORE246
              Fan Zhang    Email:fz110@rutgers.edu   Office Hour: Wed 11am-1pm@CORE331
              Jiatong Li    Email:jl2312@scarletmail.rutgers.edu   Office Hour: Tue 2pm-4pm@CBIM Cubicle J.

Syllabus

Course Coordination

There are 2 sections/lectures in this course, taught by Shiyu Zhou (Section T6) and Kuo Zhang (Section T7). Students in both lectures will have the same exams and same assignments, and will be graded under the same set of rules. 
Please note the recitation schedule of the two sections may be different, depending on the instructor's teaching progress. 

We use Sakai as the course management system. Course announcement, assignments, notes and various resources will be posted on Sakai

Grading Policies

30% programming assignments
10% quizzes 
15% midterm exam1
15% midterm exam2
30% final exam

The final letter grade cut-offs for the two sections (T6 and T7) may be different. The instructors will determine the final letter grade cut-offs only for their respective sections.

Exams

There will be two midterm exams and one final exam. They will both be closed text and closed notes written exams (paper and pencil, NOT on computer).  The exam dates have been posted AT THE START OF THE SEMESTER, so DO NOT MAKE TRAVEL PLANS for that day. If you do, you may NOT be given a makeup exam.

There is NO pre-scheduled general makeup exam. A makeup exam may be given to specific individuals only on the basis of a legitimatedocumented conflict, or a university approved reason, or any other emergency that is deemed a legitimate reason for taking a makeup.
 

Programming Assignments

There will be 3 required Java programming assignments. 
 

Quiz:

There will be 5 in-class quizzes throughout the course, each taking about 10 minutes.

Course Schedule (For Section T7)

Date

 Topics in Lecture

Requisite reading

 Recitation/Problem Sets   Assignment
5/29 Wed
  • Intro of cs112
  • Linked List

Chapter 1: Object-Oriented Programming in Java - Sections 1.1 and 1.2

Chapter 3: Efficiency of Algorithms - Entire chapter, all sections

   
6/3  Mon
  •  Linked List

Chapter 1: Objected-Oriented Programming in Java - Section 1.13 generics

  •  PS 1 Big O
 
6/5 Wed
  • ArrayList
  • Circular Linked Lists
  • Double Linked Lists

Chapter 1: Objected-Oriented Programming in Java - Section 1.13 generics (1.13 intro and 1.13.1 ArrayList) , Section 1.5 exceptions 

   
 6/10 Mon
  •   Stack, Queue

Stack 7.1, 7.2.1, 7.3;
Queue 6.1, 6.3, 6.5
 

  • PS 2 Linked List
 
  • Assignment 1 Started
  • Due 6/23
 6/12 Wed
  •  Queue
  • Sequencial Search
Sequential Search:4.2, 4.2.1, 4.2.2 
  •  PS 3 Linked List, Recursion
 
 
 6/17 Mon
  •  Binary Search
Binary Search 5.2.2     
 6/19 Wed
  •  BST

BST textbook 10.2, 10.3

Or videos:Video1 video2 Video3 

  • PS 4 Stack, Queue 
 
 6/24 Mon
  •  BST

BST textbook 10.2, 10.3

Or videos:Video1 video2 Video3 

 
  • PS 5 Sequencial Search, Binary Search 
 
 6/26 Wed
  •  Exam1 (80 min)
     
7/1 Mon
  • BST / AVL Tree
 
  • PS 6 BST 
 
 
7/3 Wed
  • AVL tree
     
7/8 Mon
  • Huffman Coding
Huffman coding 9.5.1,2,3 
  •  PS 7 AVL Tree
 
7/10 Wed
  • Hash Table

HASH TABLE Intro, 12.1 (Motivation), 12.2 (Hashing), 12.3.3 (Collision resolution using chaining)

 
  •  PS 8 Huffman Coding
 
7/15 Mon
  • Hash Table and Heap
     
7/17 Wed
  • Heap

 Supplement Videos: Implement a heap in Java part 1, Implement a heap in Java part 2

  •  PS 9 Hash Table
 
7/22 Mon

Graph Representation, DFS

Video: Graph Types and representation 

Video: Graph adjacency linked list representation

 
  • PS 10 Heap
 
7/24 Wed

Exam 2 (80 min)

     
7/29 Mon
  • DFS, BFS, Topsort

Supplement Videos: video_dfs_1,video_dfs_2,

video_bfs_1, video_bfs_2,

Topological Sort using DFS

   
7/31 Wed
  • Dijkstra's
Supplement Video:Dijkstra Algorithm 
  •  PS 11 Graph Representation, Traversal
 
8/5 Mon
  • Sorting
 
  •  PS 12 Dijkstra, Topsort
 
8/7 Wed
  • Sorting

Supplement Videos:QuickSort 1,

QuickSort 2 

   

8/12 Mon

  • Review
   
  •  PS 13 Sorting
 

8/14 Wed

  • Final Exam
     

Note:

Problem Sets/Recitation

A problem set will be posted immediately after the corresponding topic is covered in the lecture(s).  The problem sets are VERY IMPORTANT. Doing these diligently and with understanding will go a long way toward getting a good grade in this course. The TAs will hold recitations and discuss problems in problem sets with you. Each recitation will take the last 40 minutes of the lecture time. The recitation schedule is subject to change, depending on the teaching progress. The following problem sets are available