Course Schedule
This schedule is tentative and subject to change. Keep in mind that the slides may not include all the material discussed in lecture. You are responsible for any material we present in lecture, even if it does not appear in the posted slides. We also include the code examples presented in class.
Jim Henson (University of Maryland College Park
Alumnus)
| Monday | Wednesday | Friday | Slides/Code | Work | |
| Week 1 8/30 |
Introduction to course; Course tools | Demo of Eclipse IDE; Computer systems overview; Hardware; Memory | Operating systems; Software languages; What is Object Oriented Programming? |
Intro.pdf CourseSoftware.pdf ComputerOrganization.pdf |
P0 Out (9/1) |
| Week 2 9/6 |
HOLIDAY - NO CLASS | Why Java? Simple coding examples; Text output; Variables and assignment | Primitive types; Strings; Arithmetic operators; Comparison operators, Camel Case, Rules for Java Identifiers |
JavaIntro.pdf JavaVariablesTypes.pdf JavaVariablesTypesCode.zip |
|
| Week 3 9/13 |
Last day of schedule adjustment Input via the Scanner; If and if/else statements; Logical operators |
More details on if and if/else statements, Ternary Operator, Block statements, Style, Symbolic constants, JOptionPane | Loops (while, do whiles) |
ScannerCondLogOp.pdf ScannerCondLogOp.zip CondBlockStmtStyle.pdf CondBlockStmtStyleCode.zip LoopsWhileDoWhile.pdf LoopsWhileDoWhileCode.zip |
P0 Due (9/13) P1 Out (9/13) Quiz #1 (9/13) |
| Week 4 9/20 |
For-loops; Blocks; Nesting of loops, Increment/decrement, Assignment Operators | Rules of precedence, Short-circuiting, Widening/narrowing conversions, Static Methods | Intro to design, Project #2 Discussion |
ForNestedLoops.pdf ForNestedLoopsCode.zip PrecAssocConvStaticMet.pdf PrecAssocConvStaticMetCode.zip Design.pdf FlagMaker.java |
Quiz #2 (9/20) P1 Due (9/23) P2 Out (9/23) |
| Week 5 9/27 |
Intro to objects and classes; Instance members | Java memory model (call stack and heap); Garbage collection; equals method; Begin example of detailed Java class ("Student") | Continue "Student" example; Constructors; toString; equals |
ClassesIntro.pdf ClassesIntroII.pdf |
Quiz #3 (9/27) |
| Week 6 10/4 |
Access Specifiers (public, protected, private); Get/Set Methods; Midterm Review | Static Variables; Instance Variables, Initialization | Testing; JUnit testing |
ClassesIntroIII.pdf ClassesIntroIV.pdf TestingJUnit.pdf |
P2(10/4) Midterm #1(10/6) P3 Out (10/8) |
| Week 7 10/11 |
Commenting; Call stack (frames, etc.); Memory Maps; Parameter Passing; Copy Constructor | Java keyword "this", Visibility; Encapsulation; "API" | Round-off errors; Intro to Java packages; Java libraries |
CommentsMemMaps.pdf PassingParameters.zip ThisRefEncapsulationAPI.pdf ThisAPICode.zip LibraryRoundOffErrors.pdf |
|
| Week 8 10/18 |
Details of String class; Math class; break; continue | Exception handling (throw, try/catch) | More exception handling (finally); Begin review example: "Password" class |
StringMathBreakContinue.pdf BreakContinueRectangle.zip ExceptionsI.pdf ExceptionsICode.zip ExceptionsII.pdf ExceptionsIICode.zip |
Quiz #4 (10/18) P3 Due (10/22) P4 Out (10/22) |
| Week 9 10/25 |
Continue "Password" example; Mutability; StringBuffer | Eclipse debugger | Arrays |
MutabilityStringBuffer.pdf MutabilityStringBufferCode.zip TestingDebugging.pdf TestingDebuggingCode.zip ArraysIntro.pdf ArraysIntroCode.zip |
|
| Week 10 11/1 |
More details on arrays; Arrays of references | Privacy leaks; Copying arrays (reference/shallow/deep copies) | Two-dimensional arrays (ragged); Rectangular two-dimensional arrays |
Arrays.pdf Arrays.zip CopyingObjects.pdf CopyingObjectsCode.zip TwoDimArrays.pdf TwoDimArraysCode.zip |
Quiz #5 (11/1) P4 Due (11/3) P5 Out (11/4) |
| Week 11 11/8 |
Last day to drop with a 'W' Wrappers, Stack, ArrayList, Switch |
Interfaces, Intro Polymorphism | Interfaces, Project design |
WrappersArrayListsSwitch.pdf WrappersArrayListsSwitchCode.zip InterfacesPolymorphism.pdf InterfacesPolymorphismCode.zip Design.pdf |
|
| Week 12 11/15 |
Method overloading, Inheritance Intro, Iterators | MVC, Inheritance (Method overriding, shadowing, protected) |
Inheritance (Object class, Binding, getClass(), instanceof, casting, equals) |
Overloading.pdf InheritanceIIterators.pdf InheritanceII.pdf InheritanceIII.pdf |
P5 Due (11/15) Midterm #2 (11/17) P6 Out (11/17) |
| Week 13 11/22 |
Inheritance | "Fun Day" -- topics to be announced | HOLIDAY - NO CLASS |
InheritanceIV.pdf |
|
| Week 14 11/29 |
Code coverage, Javadoc, Command line, For-each loops; Java packages | Java packages; package visibility, Dynamic Systems | State-transition diagrams, Bitwise Operations |
Javadoc.pdf CommandLineForLoops.pdf LoopExample.java CommandLineArgs.java Packages.pdf GraphicsExample.zip DynSysStateTransitionDia.pdf BitwiseOperations.pdf |
P6 Due(11/29) P7 Out(11/29) Quiz #6 (12/1) |
| Week 15 12/6 |
Sorting/Algorithm Analysis | Code Examples, Miscellaneous | Review for final exam |
SortingAlgAnalysis.pdf Miscellaneous.pdf Review.pdf |
P7 Due (12/9) Final Exam (12/14, 4-6pm) |