CSE 421 — Software Development in Java
Winter 2012


Instructor Paolo Bucci
TAs 10:30 section: Justin Vayda
1:30 section: Jingwei Xu
Time/Place MWF, 10:30–11:18, McPherson Lab 1040
MWF, 1:30–2:18, Dreese Lab 305
Syllabus see here
Discussion/Help Piazza Forums
Resources see here
Credits U 3

Note: Information that appears in this font, below, is not yet officially posted. While the material is available for you to look at if you like, it is subject to change before its official posting.

Handouts

Lecture Day Date Topic Notes Textbook (Core Java, 8th ed) Other
1 W Jan 4 Overview 6-up
2-up
p. 1–24 HelloWorldApp (source, listing, output)
2 F Jan 6 Primitives and References 6-up
2-up
p. 35–53, 71–102 PrimitiveConversions (source, listing, output),
AliasByAssignment (source, listing, output)
3 M Jan 9 Eclipse 6-up
2-up
p. 25–28
4 W Jan 11 Classes and Objects 6-up
2-up
p. 105–132 PencilA (source, listing),
PencilB (source, listing)
5 F Jan 13 Classes and Objects II 6-up
2-up
p. 132–161 Artifact (source, listing),
ArtifactTester (source, listing, output),
Colors (source, listing),
SafePencil (source, listing)
M Jan 16 No class
6 W Jan 18 Interfaces 6-up
2-up
p. 242–248 Salaried (source, listing),
Employee (source, listing)
7 F Jan 20 Javadoc 6-up
2-up
p. 162–166 cse421JavadocTags.txt
RandomWithParity (source, listing, documentation),
AlternatingCoin (source, listing, documentation),
UnfilteredRandom (source, listing, documentation),
StackOfInteger (source, listing, documentation),
StackOfIntegerOnArray (source, listing, documentation)
8 M Jan 23 Immutability 6-up
2-up
p. 53–63
9 W Jan 25 JUnit 6-up
2-up
TestRandom (source, listing output),
RandomWithParityTest (source, listing)
10 F Jan 27 Generics 6-up
2-up
p. 613–618, 621–622, 626–630 Pencil (source, listing),
LeadedPencil (source, listing),
BoxOfPencils (source, listing),
BoxOfStrings (source, listing),
Box (source, listing),
PlasticBox (source, listing),
TestBox (source, listing),
11 M Jan 30 Interface Inheritance 6-up
2-up
12 W Feb 1 Implementation Inheritance 6-up
2-up
p. 171–182 Person (source, listing),
Student (source, listing),
SmartPerson (source, listing),
OsuStudent (source, listing),
SimpleClient (source, listing), output)
13 F Feb 3 Inheritance Implications 6-up
2-up
p. 183–192 DivideAndConquerSortingMachine (source, listing),
QuickSortMachine (source, listing),
RandomWithParityTest (source, listing),
UnfilteredRandomTest (source, listing),
AlternatingCoinTest (source, listing)
14 M Feb 6 Equality and Core Methods 6-up
2-up
p. 192–204
15 W Feb 8 Exceptions 6-up
2-up
p. 551–571 BadDataException (source, listing),
DataAnalyzer (source, listing),
DataSetReader (source, listing)
16 F Feb 10 Midterm
17 M Feb 13 Collections 6-up
2-up
p. 649–706 SimpleIterator (source, listing), output)
18 W Feb 15 Collections II 6-up
2-up
HashMapDemo (source, listing, output),
PrintArray (source, listing, output)
19 F Feb 17 Assertions slides p. 571–575
20 M Feb 20 Factories slides
21 W Feb 22 File I/O slides p. 63–71
22 F Feb 24 CVS/SVN slides
23 M Feb 27 Swing slides p. 281–318 SampleLabel (source, listing, output),
SampleTextField (source, listing, output),
SampleButton (source, listing, output),
bug1.png, bug2.png
24 W Feb 29 Nested Classes slides p. 258–275, 323–360 LabelTest (source, listing, output),
TextFieldTest (source, listing, output),
ButtonTest (source, listing, output),
bug1.png, bug2.png,
ArraySorter (source, listing, output)
25 F Mar 2 MVC slides p. 361–368 BigBlob (source, listing),
CalcMVC (source, listing),
CalcModel (source, listing),
CalcView (source, listing),
CalcController (source, listing),
CalcV3 (source, listing),
CalcViewController (source, listing)
26 M Mar 5 Logging and Debugging slides p. 575–611 Loggers (source, listing)
Student (source, listing, output)
27 W Mar 7 Type Bounds slides p. 619–621, 630–640 ArrayOps (source, listing),
Filter (source, listing)
28 F Mar 9 Singleton slides

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. Please submit each lab by zipping or tarring all the requested files for that lab into a single file which you then upload to the Carmen dropbox. Furthermore, please name this zip or tar file according to your own last name.

You can submit each lab as many times as you like (up until 48 hours after the official deadline), but only your last submission will be graded and will determine your grade and possible late penalties. Make sure each submission is complete and includes all required files. The grader will not extract files from earlier submissions.

Note the deadline for the last lab (lab 9). No late submissions will be accepted for lab 9.

Number Due Date Description
1 Lecture 3 Warm Up
2 Lecture 6 Classes and Encapsulation
3 Lecture 9 Interfaces
4 Lecture 12 Immutability and JUnit
5 Lecture 15 Generics and Behavioral Subtyping
6 Lecture 18 Core Methods
7 Lecture 21
8 Lecture 24
9 Friday, March 9, 11:59 pm *** hard deadline! ***

Exams

Quiz Day, time
Midterm Friday, February 10, in class
Final 10:30 section: Thursday, March 15, 9:30–11:18 AM
1:30 section: Wednesday, March 14, 1:30–3:18 PM

Contact Information

Paolo Bucci Justin Vayda Jingwei Xu
email bucci (at cse.ohio-state.edu) vayda3 (at gmail.com) xu.670 (at osu.edu)
office Dreese 672 Caldwell 420 Caldwell 420
phone 292-0066 688-4618
(during office hrs only)
688-4618
(during office hrs only)
office hours Mon 2:30-3:30,Tue 1:30-2:30
Wed 9:30-10:15, Thu 11:00-12:00
by appointment
Mon 11:00-1:00, Tue 11:00-1:00
by appointment
Tue 2:30-3:30, Fri 2:30-3:30
by appointment