Clinical Associate Professor,
Computer Science Department,
Courant Institute of Mathematical Sciences,
New York University
Email address
Mailing address
Warren Weaver Hall, Room 423
251 Mercer Street
New York, NY 10012
Office hours
Tue 9:00am-10:30am, Wed 11:00-12:30pm, OR by appointmnet
Current courses
CSCI 102 sec. 1, 3
CSCI 201 sec. 3
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, |
|
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:
|
|
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, |
|
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.
|
|
Wed, Feb 17 |
Quiz 3 discussion. More on methods: scope of variables. Introduction to arrays. Source code: lecture04, Notes: lecture 04: methods |
|
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 |
|
Wed, Feb 03 |
Looping: using while loops. Using modulus operator. |
|
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,
|
|
Wed, Jan 27 |
Elementary programming in Java: program structure, control flow. Notes: lecture 01: control structures Worksheet: conditional execution Source code: lecture00, lecture01 |
|
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:
|
|