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 (1/24) |
Introduction to course | Computer systems overview, What is Object Oriented Programming?, | Course Software/Tools |
Intro.pdf ComputerOrganization.pdf CourseSoftware.pdf |
P1 Out (Fri/Jan 28) |
| Week 2 (1/31) |
Why Java? Simple coding examples, Text output, Variables and assignment | Primitive types, Strings, Arithmetic operators, Comparison operators, Camel Case, Rules for Java Identifiers | Input via the Scanner, If and if/else statements, Logical operators |
JavaIntro.pdf JavaVariablesTypes.pdf JavaVariablesTypesCode.zip ScannerCondLogOp.pdf ScannerCondLogOpCode.zip |
|
| Week 3 (2/7) |
More details on if and if/else statements, Ternary Operator, Block statements, Style, Symbolic constants | Loops (while, do whiles), JOptionPane | For-loops, Blocks, Nesting of loops, Increment/decrement, Assignment Operators |
CondBlockStmtStyle.pdf
CondBlockStmtStyleCode.zip
LoopsWhileDoWhile.pdf
LoopsWhileDoWhileCode.zip
ForNestedLoops.pdf ForNestedLoopsCode.zip |
Quiz #1 (Mon/ Feb 7) P1 Due (Tue/Feb 8) P2 Out (Wed/Feb 9) |
| Week 4 (2/14) |
Rules of precedence, Short-circuiting, Widening/narrowing conversions, Static Methods | Intro to design, Project #3 Discussion | Intro to objects and classes; Instance members |
PrecAssocConvStaticMet.pdf PrecAssocConvStaticMetCode.zip Design.pdf FlagMaker.java ClassesIntroI.pdf |
Quiz #2 (Mon/Feb 14) P2 Due (Thu/Feb 17) P3 Out (Thu/Feb 17) |
| Week 5 (2/21) |
Java memory model (call stack and heap), Garbage collection, equals method | Class declaration, Method declaration, Passing values | Instance Data, Static vs. Non-Static Methods, Constructors |
ClassesIntroII.pdf ClassesIntroIII.pdf ClassesIntroIIICode.zip ClassesIntroIV.pdf ClassesIntroIVCode.zip |
Quiz #3 (Mon/Feb 21) |
| Week 6 (2/28) |
Access specifiers (public, private), Get/Set/equals/toString methods, Variable Initialization, Midterm Review | Testing, JUnit testing | Commenting, Call stack (frames, etc.), Memory Maps, Parameter Passing, Copy Constructor |
ClassesIntroV.pdf ClassesIntroVCode.zip TestingJUnit.pdf MemMapsPassingValues.pdf MemMapsPassingValuesCode.zip |
P3 Due (Mon/Feb 28) Midterm #1 (Wed/Mar 2) P4 Out (Wed/Mar 2) |
| Week 7 (3/7) |
Java keyword "this", Visibility, Encapsulation, "API" | Round-off errors, Intro to Java packages, Java libraries | Details of String class, Math class, break, continue |
ThisRefEncapsulationAPI.pdf ThisRefEncapsulationAPICode.zip LibraryRoundOffErrors.pdf ScienceExperiment.java StringMathBreakContinue.pdf StringMathBreakContinueCode.zip |
|
| Week 8 (3/14) |
Exception handling (throw, try/catch) | More exception handling (finally) | Special Talk: Computer Vision by David Jacobs |
ExceptionsI.pdf ExceptionsICode.zip ExceptionsII.pdf ExceptionsIICode.zip |
Quiz #4 (Mon/Mar 14) P4 Due (Wed/Mar 16) |
| Spring Break (March Sun 20 - Sun 27) | |||||
| Week 9 (3/28) |
Mutability, SpringBuffer, Eclipse debugger | Arrays | More details on arrays, Arrays of references |
MutabilityStringBuffer.pdf MutabilityStringBufferCode.zip TestingDebugging.pdf TestingDebuggingCode.zip ArraysIntro.pdf ArraysIntroCode.zip |
P5 Out (Mon/Mar 28) |
| Week 10 (4/4) |
Arrays, Privacy leaks | Privacy leaks, Copying arrays (reference/shallow/deep copies) | Two-dimensional arrays |
Arrays.pdf Arrays.zip CopyingObjects.pdf CopyingObjectsCode.zip TwoDimArrays.pdf TwoDimArraysCode.zip |
Quiz #5 (Mon/Apr 4) P5 Due (Wed/Apr 6) |
| Week 11 (4/11) |
Wrappers, Stack, ArrayList, Switch | Interfaces, Intro Polymorphism | Interfaces, Project design |
WrappersArrayListsSwitch.pdf WrappersArrayListsSwitchCode.zip InterfacesPolymorphism.pdf InterfacesPolymorphismCode.zip Design.pdf |
Midterm #2 (Mon/Apr 11) P6 Out (Mon/Apr 11) |
| Week 12 (4/18) |
Method Overloading, Inheritance Intro |
Iterators, MVC, Inheritance (super, this) | Object class, Early/Late Binding, getClass(), instanceof |
Overloading.pdf InheritanceIIterators.pdf InheritanceII.pdf InheritanceIII.pdf |
P6 Due (Thu/Apr 21) P7 Out (Wed/Apr 20) |
| Week 13 (4/25) |
equals method, Inheritance vs. Composition | Uses of Interfaces, Javadoc | Javadoc, Command line, For-each loops |
InheritanceIV.pdf Javadoc.pdf CommandLineForLoops.pdf |
Quiz #6 (Mon/Apr 25) P7 Due (Sat/Apr 30) P8 Out (Fri/Apr 29) |
| Week 14 (5/2) |
Bitwise Operations, State-Transition Diagrams | Java Packages | Sorting/Algorithm Analysis |
BitwiseOperations.pdf DynSysStateTransitionDia.pdf Packages.pdf GraphicsExample.zip SortingAlgAnalysis.pdf |
P8 Due (Sat/May 7) |
| Week 15 (5/9) |
Review for final exam |
Review.pdf |
Last Day Classes (Tue/May 10) Final Exam (Fri/May 13, 4-6pm) |
||