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
email 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