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