"I will, in fact, claim that the difference between a bad programmer and a good
one is whether he considers his code or his data structures more important.
Bad programmers worry about the code. Good programmers worry about data structures
and their relationships."
Linus Torvalds, 2006
Clinical Assistant 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
Tuesdays 11:00 - 12:30
Wednesdays 12:30 - 2:00
Current courses
CSCI 101 sec. 5
CSCI 102 sec. 4
CSCI 102 sec. 6
Academic Email Etiquette
- Check the school email address on a regular basis. You can simply forward its content
to another email account that you use regularly.
- Use your school's email account to send emails to professors, instructors, TA's, graders,
administrators, etc. OR make sure that your email address contains your true name,
not "frabjous@gmail.com", "BabyGurl@yahoo.com" or some other cool alias.
- Start your email with proper salutations! Use the correct titles (Professor, Dr., etc.)
and spell first and last names correctly. If you are on the first name basis with your instructors,
use their names, not "Hey". For example: "Dear Professor Drummer" or "Dear Robert", not "Hey Bob".
- Sign your name under the body of your email, otherwise you expect people to read emails from anonymous.
- Do not write everything in upper-case letters. Do not write everything in lower-case letters.
- Make sure you included everything you wanted before hitting send. Don't send three emails
one after another because you forgot something in the first one.
- Proofread the text in your email before sending it. Most of the email clients check for
typos, but they cannot tell if your email makes much sense. Read it, before you send it.
Java Documentation and Resources
Deena Engel's list of differences between Python and Java
Java Language Specification
Java API
Java Naming Conventions
Using jdb debugger
UTF-8 Encoding Table
Java Visualizer
- memory visualization for running Java programs.
Software
Java Development Kit (JDK)
Eclipse
Processing
Data Structures Resources
Open DSA (Data Structures and Algorithms) eBook
- this is a great resource with tutorials, simulations and exercises for many topics that we are going to cover in this course.
Data Structures Visualizations
by David Galles from University of San Francisco
NYU and CS Links
CAS Course/Instructor Evaluations
Faculty Mentor Program
ACM Chapter
NYU's Courant's Women in Computing (WinC)
Tech @ NYU