e
Date Material Covered, Extra Notes, Handouts and Links Assignments

Final exam
Wednesday, May 11 8:00-9:50AM

Mon, May 09


Q&A before the final exam.
Come with questions.




Wed, May 04


Recursion.

Source code: recursion examples,




Mon, May 02


Abstract classes and interfaces (comparable). Source code: example of using Comparable interface,


Read chapter 18 (sections 1-5)

Quiz 11 (based on chapter 18) on NYU classes. No due date, this is an optional quiz and will not be graded.



Wed, Apr 27


More on file I/O.


Source code: exception handling and file I/O examples,


LAST ASSIGNMENT (NO FREEBIES):
Assignment 9 due Dec. 11 at 11:55PM .
Files needed for this assignment: NYC_Wi-Fi_Hotspot_Locations.csv and zip_codes_NYC.csv

Mon, Apr 25


Exception handling and file I/O

Read chapter 13

Quiz 10 (based on chapter 13) on NYU classes. Due May 2 at 9AM.



Wed, Apr 20


More on inheritance: constructor chaining, other uses of super keyword, polymorphism, synamic binding, overriding toString and equals methods from the Object class, using ArrayList (generic context).

Source code: inheritance examples,


Read chapter 12

Quiz 8 (based on chapter 11) on NYU classes. Due Apr.25 at 9AM.

Quiz 9 (based on chapter 12) on NYU classes. Due Apr.27 at 9AM.



Mon, Apr 18


Inheritance: creating new classes based on existing ones, extends keyword, using super to call a constructor of the superclass, single inheritance, inheriting and overriding methods, polymorphism.

Worksheet: using inheritance



Wed, Apr 13


Using Processing.

Source code: lecture09 using processing,


  • Assignment 8 due March 23 at 11:55PM.


  • Mon, Apr 11


    Exam #2



    Wed, Apr 06


    Q&A for the second exam.
    Come with questions.

    Exam covers all material up to the end of chapter 10 (concnetrate on chapters 8-10 and topics that we discussed in class, but you should be familiar with all of the material from the chapters).

    Topics to concentrate on:
    • 2D arrays: creation, initialization, processing (types of operations comparable to the matrix manipulation homework)
    • objects and classes:
      • definitions (+ all oop vocabulary)
      • creation, initialization of objecects
      • constructors, overloading constructors
      • public vs. private
      • static vs. instance
      • data fields and their use (accessing from within and from outside of the class, initial values)
      • methods within the class
      • use of getters and setters
      • scope of variables (data fields, local variables defined within methods, method parameters, constructor parameters, ...)
      • use of this reference
      • defining and using toString method
      • defining and using equalsmethod
    • working with arrays of objects: all kinds of operations
    • Stack class operations, implementation, use


    • work on posted practice problems
    • work on CheckPoint questions in the book (solutions are on the publishers website)
    • review (and make sure you know) the key terms at the end of the chapters
    • review chapter summaries (they are full of good vocabulary and concepts)
    • the publisher's website had additional quizzes and other materials that can help you study
    • review worksheets


    Mon, Apr 04


    Finish object oriented design (stack and other things).

    Intro to inheritance and polymorphism through Processing.

    Practice questions for exam 2, you should also be using all the questions in the textbook (some of the solutions can be found on the publisher's website). Feel free to discuss any of these questions on Piazza.


    Your assignment is waiting for you at the Jurassic Park Creation Lab: your assignment.
    Due date: April 13
    Submit all classes required by your program to compile and run (even if they were given to you). Make sure to document your program using Javadoc style comments.


    Fri, Apr 01


    Last day for withdrawing from a course (with a "W")



    Wed, Mar 30


    Design of the stack class.

    Worksheets: Stack class



    Mon, Mar 28


    Discussion about object oriented "potion" classes.
    More on object oriented design. Introduction to stacks.




    Wed, Mar 23


    Continuing with classes and arrays of objects: finding objects in arrays of objects, sorting arrays of objects.

    Object Oriented Potions Class with Professor Snape


    Assignment 6:
    Complete the Snape's challenges found at Object Oriented Potions Class with Professor Snape. Submit files only for the final challenge. Make sure to document your program using Javadoc style comments.
    Due: April 1, 2016 at 11:55PM EST.


    Mon, Mar 21


    Happy Spring!

    More on classes: constructors, static vs. instance data fields and methods, toString method, arrays of objects.

    Source code: lecture06, lecture07,




    Wed, Mar 16


    No classes, Spring Recess



    Mon, Mar 14


    No classes, Spring Recess



    Wed, Mar 09


    Introduction to classes.

    Worksheets: Stock class - this is far from good or complete implementation but gives you an idea about creation of a Stock,

  • Assignment 5 due March 22 at 11:55PM.


  • Mon, Mar 07


    2d arrays: image processing and matrix manipulation.





    Wed, Mar 02


    Exam #1



    Mon, Feb 29


    Q&A for the first exam.
    Come with questions.



    Wed, Feb 24


    Algorithms for sorting arrays: selection and insertion sorts.

    Visualisations (note that some of these are not implemented exactly as we discussed in class):
    bubble sort, selection sort, insertion sort,
    Sorting algorithms as folk dances





    Mon, Feb 22


    Quiz 4 discussion.
    Arrays: creating, populating, as a reference type, passing to methods, returning from methods.
    Searching through arrays: linear search, binary search.
    Source code: lecture05,
    Notes: lecture 05: arrays

    What happens when we try to use the assignment operator, =, to copy an array: visualization.

    • Quiz #5 (on NYU Classes) posted. It is due on Feb. 29 at 9:00AM
    • Assignment 4 due Feb. 29 at 11:55PM.
    • Reading: ch. 7, 8


    Wed, Feb 17


    Quiz 3 discussion.
    More on methods: scope of variables.
    Introduction to arrays.

    Source code: lecture04,

    Notes: lecture 04: methods


    • Complete the quiz #4 (on NYU Classes). It is due on Feb. 22 at 9:00AM
    • Assignment 3 due Feb. 22 at 11:55PM.
    • Reading: ch. 6, 7


    Mon, Feb 15


    No classes, President's day



    Wed, Feb 10


    More on String class: comparing strings with equals(), compareTo() and ==, string internalization.
    Two types of memory: stack and heap, and what they are used for.

    See the code step by step visualization at ComparingString

    Introduction to methods.



    Mon, Feb 08


    Last day to withdraw without a "W"
    Overview of quiz 2: short circuit evaluation, fall-through behavior of the switch statement, valid and invalid boolean expressions.
    Working with strings: reversing a string, using length(), substring() and charAt() method.
    Avoiding common errors in control structures.

    Source code: lecture02,

    Notes: lecture 02: words and numbers


    • Complete the second assignment. It is due on Feb. 11 at 11:55PM
    • Reading: ch. 6
    • Quiz 3 (on NYU Classes), due 2/17 at 9am.


    Wed, Feb 03


    Looping: using while loops.
    Using modulus operator.


    • Complete the quiz #2 (on NYU Classes). It is due on Feb. 8 at 9:00AM
    • Assignment 2 due Feb. 11 at 11:55PM.
    • Reading: ch. 4-5, start reading ch. 6


    Mon, Feb 01


    Discussion about quiz1 errors (problems with number representation, different styles of comments in Java, following only one branch of an if...else if ...else control structure)
    Looping: using a for loops.
    Formatted output using printf.
    Worksheets: while loops, for loops,


    • Complete the first assignment. It is due on Feb. 3 at 11:55PM
    • Reading: ch. 4-5
    • Quiz 2 (on NYU Classes), due 2/8 at 9am.


    Wed, Jan 27


    Elementary programming in Java: program structure, control flow.
    Notes: lecture 01: control structures
    Worksheet: conditional execution
    Source code: lecture00, lecture01


    • Complete the first quiz (on NYU Classes). It is due on Feb. 1 at 9:00AM
    • Complete the first assignment. It is due on Feb. 3 at 11:55PM.
    • Reading: ch. 2-5


    Mon, Jan 25


    Introduction to the class and syllabus.
    Elementary programming in Java and introduction to Eclipse.
    Lecture notes: lecture 0
    Worksheet: first program.
    Useful links:


    • Install Java JDK and Eclipse.
    • Reading: ch. 1, 2, 3, 5
    • Quiz 1 (on NYU Classes), due 2/1 at 9am.
    • Assignment 1 due Feb. 3 at 11:55PM.