|A0||Assert statement|| Learn about the assert statement and practice using
This helpful ppt file about the assert statement comes from Tony Hoare, author of Quicksort: Assert early and assert often (ppt)
|A1||Classes|| Practice developing a class. A1Handout.pdf
genealogies (pdf files): gries, sampson, birrell advisor
|A2||Functions|| Practice writing Java functions, mainly dealing with Strings.
|A3||Linked Lists||Introduce you to "linked lists". A3handout.pdf DLL.java|
|A4||Recursion on trees||Write methods to process trees in an interesting application. a4handout.pdf a4skeleton.zip|
|A5||Paint program||Learn about GUIs!!! a5Handout.pdf a5skeleton.zip|
|A6||Heaps||Implement a min-heap a6handout.pdf a6skeleton.zip|
|A7||Shortest path||Implement Dijkstra's shortest path algorithm a7handout.pdf a7skeleton.zip|
|A8||Planet X||Fly to Planet X to rescue a ship in distress and then return safely to Earth. Not officially released. Don't ask questions yet. a8handout.pdf a8skeleton.zip|
|HW1||Presenting algorithms in English; the asignment statement|| 1. Turn to the course webpage "Explaining how Java constructs are executed or evaluated": ... cs2110/2017sp/online/explainJava/explainJava.html
2. Read the introduction, about execution versus evaluation, and about syntax versus semantics.
3. Watch the video on Presenting an algorithm in English.
4. Watch the video Executing the assignment statment (click on "See this page").
Here's the page: https://tinyurl.com/y9vdormh
5. Do homework assignment HW1, which is below the video. See the CMS for the due date.
|Rec 2||Exceptions||Exception problem set: docx pdf Due date: 1 week after recitation (Wed)|
|Rec 3||Invariants||Invariant problem set: docx pdf Due date: 1 week after recitation (Wed)|
|Rec 7||Iterable||Iterable problem set: iterableProblemSet.pdf DLLTest.java Due date: 1 week after recitation (Wed)|
|Rec 8||I/O||I/O problem set: IOProblems.java Due date: Monday after recitation|
Automated Cheating Detection
We use an automated system that uses sophisticated artificial intelligence techniques combined with program analysis tools to notice unusual similarities between programs turned in by different people. These tools really work and are quite hard to fool. So, while it might seem tempting to borrow a solution from a buddy, change the variable names and comments, or reorder the statements, the tools would be very likely to figure out what you did.
The tool we use, called Moss, was developed by a Cornell PhD, now a professor at Stanford, over 20 years ago.
We take cheating seriously, and cheating with an attempt to cover it up is grounds for failing the course outright. Realistically, it is much easier to just do the assigned problems than to get away with handing in code someone else wrote, because short of rewriting that code completely from scratch, we’ll catch it.
So you’ve been warned: It is difficult to get away with cheating in CS2110. Please do your own work, and talk to an instructor, a TA, or a consultant, as often as needed if you get stuck and need help. We’ll get you back on track.