This course is an introduction to fundamental data structures in Computer Science. These data structures, and the algorithms that go with them, make up the standard toolkit for programmers regardless of language and application. We will use the Java programming language for representing both the data structures and also for developing simple programming projects that put them to use. Expect to do a significant amount of programming, as well as paper and pencil exercises.
Class is on Zoom through January 30th; office hours are currently planned exclusively for Zoom, though this may change once we’re back in person.
|11am-12:15pm class||11am-12:15pm class|
|1pm Prof. Greenberg (Zoom)||12:15pm Prof. Greenberg (GS)||1pm RE|
|2:30pm Venkat (Zoom)||2pm Cindy (GS 252)||2:30pm Venkat (Zoom)||2pm Cindy (GS 224)||2pm RF|
CS 284-A is associated with the recitations CS 284-RE (McLean 218B at 1pm on Fridays) and CS 284-RF (Morton 103 at 2pm on Fridays). If you are not in one of these sections, contact the registrar as soon as possible to switch recitation sections.
|1||Jan 18/20||Java||HW1 out; recitation 1 |
lecture notes, Rectangle.java, Main.java
|2||Jan 25/27||More Java!||recitation 2 |
lecture notes pt1, source code pt1, Exceptions.java, Quiz.java
lecture notes pt2
|3||Feb 1/3||Efficiency and asymptotics||HW1 due Thursday 11:59pm; HW2 out; recitation 3 |
lecture notes (software lifecycle), Two.java
lecture notes (efficiency)
|4||Feb 8/10||Lists using arrays||recitation 4 |
lecture notes pt1, AL.java
|5||Feb 15/17||Linked lists||recitation 5 |
lecture notes, AL.java (with iterators) LL.java
|6||Feb XX/24||Stacks (no class on Tuesday)||HW2 due Tuesday 11:59pm; recitation 6|
|7||Mar 1/3||Queues; recursion||HW3 out; recitation 7 |
lecture notes (stacks), lecture notes (queues), Factorial.java, RLL.java, LL.java (open recursion)
|8||Mar 8/10||Midterm||HW3 due Tuesday 11:59pm|
|9||Mar 15/17||Spring break|
|10||Mar 22/24||Binary trees; search trees||HW4; recitation 10 |
lecture notes (BSTs)
|11||Mar 29/31||More trees; heaps||recitation 11|
|12||Apr 5/7||Sorting||HW4 due Thursday 11:59pm; recitation 12 |
guest lecture notes; lecture (pt 1), lecture (pt 2)
|13||Apr 12/14||More sorting; sets and maps||HW5 out |
|14||Apr 19/21||Hashing||recitation 14 |
|15||Apr 26/28||Balanced trees||HW5 due Thursday 11:59pm|
According to the Spring 2022 final exam schedule, our exam is 8am-11am in X-X-218B on 5/12/2022, i.e., in our classroom (McLean 218B) on Thursday, May 12th.