CMSC 131: Object Oriented Programming I

Summer 2013

Home

Contact

Syllabus

Schedule

Projects

Resources

Schedule

This schedule is tentative and subject to change. Details will be added and it may be adjusted over the course of the term.

Week 1 (May 28-31)Introduction (Computer Architecture, Programming languages, etc.) and Basics (Variables, types, arithmetic, etc.).
Tuesday May 28, 2013 (Lecture)Introduction to the course. Architectures and languages. Slides Code Examples
Wednesday May 29, 2013 (Lecture)Start basics: Text output, variables and data types. Slides Code Examples
Thursday May 30, 2013 (Lab)Get Eclipse environment up and running. Lab exercise
Friday May 31, 2013 (Lecture)Course tools: Piazza, Eclipse, CVS, Submit. Finish basics: Arithmetic, expressions, operators. Slides Code Examples
Week 2 (June 3-7)Control Flow (Conditionals, loops, etc.).
Monday June 3, 2013 (Lecture)Finish expressions. Start control flow: If statements, Non-determinism, Switches, and Methods. Slides Code Examples
Tuesday June 4, 2013 (Lab)Practice with expressions and control flow. Lab exercise
Wednesday June 5, 2013 (Lecture)For loops. Slides Code Examples
Thursday June 6, 2013 (Discussion)Review of topics so far and Quiz #1.
Friday June 7, 2013 (Lecture)While loops, do-while loops, nesting loops. Slides Examples
Week 3 (June 10-14)Basics of Object-Oriented Programming.
Monday June 10, 2013 (Lecture)Finish loops. Start OOP: Fields + methods, instance vs static, value vs reference, constructors Slides Code Examples
Tuesday June 11, 2013 (Lab)Practice with loops and objects Lab exercise
Wednesday June 12, 2013 (Lecture)Continue OOP Slides Code Examples
Thursday June 13, 2013 (Discussion)Review for Midterm #1
Friday June 14, 2013Midterm #1.
Week 4 (June 17-21)Libraries+packages, Exceptions, etc.
Monday June 17, 2013 (Lecture)A closer look at OOP - static vs instance, private vs public, memory model and reference variables. Slides Code Examples
Tuesday June 18, 2013 (Lab)Practice with objects and reference. API docs for IntListEntry and IntList. Lab04.
Wednesday June 19, 2013 (Lecture)Libraries and Packages Slides
Thursday June 20, 2013 (Discussion)Review of Midterm #1. Quiz #2.
Friday June 21, 2013Exceptions Slides
Week 5 (June 24-28)Testing, Debugging, etc.
Monday June 24, 2013 (Lecture)Unit Testing Slides
Tuesday June 25, 2013 (Lab)Practice with exceptions and unit testing.
Wednesday June 26, 2013 (Lecture)Debugging Slides
Thursday June 27, 2013 (Discussion)Discussion and Quiz #3.
Friday June 28, 2013 (Lecture)Design principles Slides
Week 6 (July 1-5)Arrays.
Monday July 1, 2013 (Lecture)Start Arrays. Slides
Tuesday July 2, 2013 (Lab)Practice with arrays.
Wednesday July 3, 2013 (Lecture)Continue Arrays: > 1D arrays, ragged arrays. Slides
Thursday July 4, 2013Holiday, no class.
Friday July 5, 2013Review session
Week 7 (July 8-12)Interfaces and Polymorphism.
Monday July 8, 2013 (Lecture)Immutability. Start interfaces and polymorphism. Slides
Tuesday July 9, 2013 (Lab)Practice with immutability and interfaces.
Wednesday July 10, 2013 (Lecture)Continue interfaces and polymorphism. Slides
Thursday July 11, 2013 (Discussion)Review for Midterm #2.
Friday July 12, 2013Midterm #2 Stats
Week 8 (July 15-19)Collections (ArrayLists, Stacks, for-each loops, iterators, etc.).
Monday July 15, 2013 (Lecture)Collections. Slides (UPDATED)
Tuesday July 16, 2013 (Lab)Practice with collections.
Wednesday July 17, 2013 (Lecture)Iterators, generics. Slides (UPDATED)
Thursday July 18, 2013 (Discussion)Review of Midterm #2. Quiz #4.
Friday July 19, 2013 (Lecture)Finish Generics. Data Structures. Slides
Week 9 (July 22-26)Inheritance.
Monday July 22, 2013 (Lecture)Finish Data structures. Basics of inheritance. Slides
Tuesday July 23, 2013 (Lab)Practice with generics and inheritance.
Wednesday July 24, 2013 (Lecture)Continue inheritance.Slides
Thursday July 25, 2013 (Discussion)Discussion and Quiz #5
Friday July 26, 2013 (Lecture)Inheritance and Design. Reflectance. Slides
Week 10 (July 29-August 2)Additional topics (Computational complexity, command-line Java, etc.).
Monday July 29, 2013 (Lecture)Finish Reflectance. Command-line Java and Garbage collection. Intro to theoretical CS. Slides
Tuesday July 30, 2013 (Lab)Practice with theory concepts.
Wednesday July 31, 2013 (Lecture)Finish Theory. Enrichment topics.
Thursday August 1, 2013 (Discussion)Review for final.
Friday August 2, 2013Final exam.

Web Accessibility