Dr. Paul A. G. Sivilotti
Associate Professor
Computer Science and Engineering
Site Navigation
CSE 494M/J — Software Development in Java
Autumn 2007
| Instructor | Prof. Paul Sivilotti |
|---|---|
| TA | Shain Bergman |
| Time/Place | MWF, 9:30–10:18, in DL 266 |
| Syllabus | see here |
| Newsgroup | Carmen discussion groups |
| Resources | see here |
| Credits | U 3 |
Handouts
| Lecture | Day | Date | Topic | Notes | Textbook | Other |
|---|---|---|---|---|---|---|
| 1 | W | Sept 19 | Overview | slides | 1.1 | HelloWorldApp (source, listing, output) |
| 2 | F | Sept 21 | Primitives and References | slides | 1.2–1.4, 2, 3.1–3.3 | PrimitiveConversions
(source,
listing,
output), AliasByAssignment (source, listing, output) |
| 3 | M | Sept 24 | Eclipse | slides | Pocket Guide | |
| 4 | W | Sept 26 | Classes and Objects | slides | 4 | PencilA
(source,
listing), PencilB (source, listing) |
| 5 | F | Sept 28 | Classes and Objects II | slides | 5.1, 5.2, 5.4, 6 | Colors
(source,
listing), SafePencil (source, listing) |
| 6 | M | Oct 1 | Interfaces | slides | 13.1 | |
| 7 | W | Oct 3 | Javadoc | slides | 5.4 | Javadoc494MJTags.txt RandomWithParity (source, listing, documentation), AlternatingCoin (source, listing, documentation), UnfilteredRandom (source, listing, documentation) |
| 8 | F | Oct 5 | Immutability | slides | 5.3 | |
| 9 | M | Oct 8 | JUnit | slides | Pocket Guide part V | TestRandom
(source,
listing
output), RandomWithParityTest (source, listing), MoneyTest (source, listing) |
| 10 | W | Oct 10 | Generics | slides | 14 | Pencil
(source,
listing), LeadedPencil (source, listing), BoxOfPencils (source, listing), BoxOfStrings (source, listing), Box (source, listing), PlasticBox (source, listing), TestBox (source, listing), |
| 11 | F | Oct 12 | Interface Inheritance | slides | 7.1, 7.2 | |
| 12 | M | Oct 15 | Implementation Inheritance | slides | 8.1 | |
| 13 | W | Oct 17 | Inheritance Implications | slides | 8.2 | DivConqTemplate
(source,
listing), QuickSortDesc (source, listing), QuickSort (source, listing), RandomWithParityTest (source, listing), AlternatingCoinTest (source, listing), UnfilteredRandomTest (source, listing), |
| 14 | F | Oct 19 | Equality and Core Methods | slides | 7.3 | |
| 15 | M | Oct 22 | Exceptions | slides | 9 | |
| 16 | W | Oct 24 | midterm | |||
| 17 | F | Oct 26 | Collections | slides | 16 | |
| 18 | M | Oct 29 | Collections II | see lecture 17 | ||
| 19 | W | Oct 31 | Assertions | slides | 3.4 | |
| 20 | F | Nov 2 | Factories | slides | ||
| 21 | M | Nov 5 | File I/O | slides | 10 | |
| 22 | W | Nov 7 | Logging and Debugging | slides | ||
| 23 | F | Nov 9 | CVS | slides | ||
| M | Nov 12 | no class | ||||
| 24 | W | Nov 14 | Swing | slides | 17, 18 | LabelTest
(source,
listing,
output), TextFieldTest (source, listing, output), ButtonTest (source, listing, output), bug1.png, bug2.png |
| 25 | F | Nov 16 | Nested Classes | slides | 13.2, 13.3 | ArraySorter (source, listing) |
| 26 | M | Nov 19 | Networking | slides | 19.2 | PortProbe
(source,
listing), DayTime (source, listing), ReverseServer (source, listing), ReverseClient (source, listing), ReverseClientSlow (source, listing), ReverseServerMT (source, listing), SerialS (source, listing), SerialC (source, listing), TimeServerDG (source, listing), TimeReceiverDG (source, listing), h.txt |
| 27 | W | Nov 21 | Type Bounds | slides | 14.2 | ArrayOps (source, listing) |
| F | Nov 23 | no class | ||||
| 28 | M | Nov 26 | Singleton | slides | ||
| 29 | W | Nov 28 | Reflection | slides | ||
| 30 | F | Nov 30 | MVC | slides | BigBlob
(source,
listing), CalcMVC (source, listing), CalcModel (source, listing), CalcView (source, listing), CalcController (source, listing), CalcV3 (source, listing), CalcViewController (source, listing) |
Labs
Labs must be turned in by the start of lecture on the day they are due. For the policy on late labs, see the syllabus.
Labs are turned in using Carmen.
| Number | Due Date | Description | Other Files and Resources |
|---|---|---|---|
| 1 | Lecture 3 | Warm Up | |
| 2 | Lecture 6 | Classes and Encapsulation | TestBigNaturalSimple.java |
| 3 | Lecture 9 | Interfaces | Graded.java (documentation), LetterGrade.java |
| 4 | Lecture 12 | Immutability and JUnit | |
| 5 | Lecture 15 | Generics and Subtyping | Prisoner.java,
LightBulb.java, Brave.java, Timid.java, AsynchCon.java |
| 6 | Lecture 18 | Equality | |
| 7 | Lecture 21 | Collections Framework | MultiSetOfChar.java
(documentation),
TestDenseMultiSetOfCharSimple.java, FrequencyLibrary.java, TestDenseFrequencyLibrarySimple.java, Profiler.java |
| 8 | Lecture 24 | File I/O | |
| 9 | Lecture 30 | CVS and Swing |
Exams
| Quiz | Day, time |
|---|---|
| Midterm | Wed, Oct 24, in class |
| Final | Tuesday December 4, 7:30–9:18 AM |
Contact Information
| Dr. Paul Sivilotti | Shain Bergman | |
|---|---|---|
paolo (at cse) |
bergmash (at cse) |
|
| office | Dreese 695 | Caldwell 112D |
| phone | 292-5835 | 247-6115 (during office hrs only) |
| hours | Wed. 12:30 – 1:30 pm Fri. 10:30 – 11:30 am |
Tue. 9:30 – 11:00 am |