Sides 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.
| Week | Topics | Slides | Work | 
|---|---|---|---|
| Week #1 (Aug 26) | Course Intro, Computer Systems, Software Tools, Object-Oriented Terminology, Rules for Java Identifiers, Assignment, Primitive Types, Simple Output, Strings, Operators, Comparison, Input (Scanner) | Course-Intro.pdf CompOrgEclipseIntro.pdf JavaIntro.pdf JavaVariablesTypes.pdf JavaVariablesTypesCode.zip StringCompScanner.pdf StringCompScannerCode.zip | |
| Week #2 (Sep 2) | Conditionals, Logical Operators, Block Statements, Precedence Rules, Short-circuiting, Style, Symbolic Constants, Assignment Operators, Input (JOptionPane), Loops (while/do while/for), Random numbers | CondBlockStmtStyle.pdf CondBlockStmtStyleCode.zip LoopsWhileDoWhile.pdf LoopsWhileDoWhileCode.zip | P1 Out (Wed) | 
| Week #3 (Sep 9) | Loops (while/do while/for), Nested Loops, Intro to methods (static), parameters, local variables, public/private, Avoiding Code Duplication by Using Methods | ForNestedLoops.pdf ForNestedLoopsCode.zip PrecAssocStaticMethods.pdf PrecAssocStaticMethodsCode.zip | P2 Out (Mon) P1 Due (Tue) Q1 (Wed) | 
| Week #4 (Sep 16) | Floating Point Calculations, Memory Diagrams / Maps, Passing by Value, Instance variables, Non-Static methods, private vs. public, Immutable, SpringBuffer | PassByValueMemDiag.pdf PassByValueMemDiagCode.zip | P2 Due (Mon) P3 Out (Mon) Q2 (Wed) | 
| Week #5 (Sep 23) | Debugger, Testing, Design (Pseudocode), Classes Intro | SoftwareDevelopment.pdf ClassesI.pdf ClassesICode.zip | Exam #1 (Wed) | 
| Week #6 (Sep 30) | Constructors, get/set/toString methods, Memory Maps II, Current Object (this), equals method, Copy Constructor, break/continue | MemoryMaps.pdf MemoryMapsCode.zip ClassesII.pdf ClassesIICode.zip ClassesIII.pdf ClassesIIICode.zip | P3 Due (Mon) P4 Out (Mon) | 
| Week #7 (Oct 7) | Exceptions, APIs (String, Math), Switch Statement, Ternary Operator, Privacy Leaks | Exceptions.pdf ExceptionsCode.zip StringMathLib.pdf StringMathLibCode.zip ImmutableSwitch.pdf ImmutableSwitchCode.zip | P5 Out (Mon) P4 Due (Tue) | 
| CMSC133 Starts | |||
| Week #8 (Oct 14) | Arrays, Testing JUnit (Lab), javadoc | ArraysIntro.pdf ArraysIntroCode.zip Arrays.pdf ArraysCode.zip | P5 Due (Tue) P6 Out (Wed) CMSC133 First Week | 
| Week #9 (Oct 21) | Privacy Leaks, Reference/Shallow/Deep Copies, Testing, Abstraction, Encapsulation, Packages, Recursion | CopyingObjects.pdf CopyingObjectsCode.zip TestingDebugging.pdf TestingDebuggingCode.zip AbstractionLib.pdf AbstractionLibCode.zip Recursion.pdf RecursionCode.zip | Mid-Term Grades Due (Mon) Q3 (Wed) P6 Due (Thu) | 
| Week #10 (Oct 28) | Recursion, Two-Dimensional Arrays | TwoDimArrays.pdf TwoDimArraysCode.zip | Exam #2 (Wed) P7 Out (Wed) | 
| Week #11 (Nov 4) | Two-Dimensional Arrays, MVC, ArrayList, Interfaces | ArrayListInterfaces.pdf ArrayListInterfacesCode.zip | Q4 (Wed) | 
| Week #12 (Nov 11) | Wrappers, Method Overloading, Inheritance Intro, Iterators | WrappersOverloading.pdf WrappersOverloadingCode.zip InheritanceIntro.pdf InheritanceIntroCode.zip | P7 Due (Tue) P8 Out (Thu) | 
| Week #13 (Nov 18) | Object Class, Early/Late Binding, Composition vs. Inheritance, getClass | ObjectBinding.pdf ObjectBindingCode.zip | Exam #3 (Wed) P9 Out (Fri) | 
| Week #14 (Nov 25) | instanceof, Command line Arguments | CmdLineArgsLoops.pdf CmdLineArgsLoopsCode.zip | P8 Due (Mon) Thanksgiving | 
| Week #15 (Dec 2) | Course Evalation (lecture), Miscellaneous, Final Exam Review | MultipleInheritance.pdf MultipleInheritanceCode.zip DynSysStateTransitionDiag.pdf | P9 Due (Thu) | 
| Week #16 (Dec 9) | Final Exam Review | Review.pdf ReviewCode.zip All Lecture Slides/Examples | Last Day of Classes (Mon, Dec 9) Final Exam (Thu, Dec 12 4pm - 6pm) |