SYLLABUS - Introduction to Computer Science I - Spring 2004

Section Information

 
Professoror: Evan Korth
Phone Number: (212) 998-3301
Office: 419 Warren Weaver Hall (251 Mercer Street)
Email Address: korth@cs.nyu.edu
E-tutor: Mariya Lysenkova
E-tutor Email: ml834@nyu.edu
Class: Tuesday / Thursday 3:30 p.m.- 4:45 p.m., room 102 CIWW
Office Hours: Monday 3:30 - 4:30; Tuesday, 5:00 - 6:00; Wednesday 3:30 - 4:30 in room 419 of Warren Weaver Hall or at other times by appointment.
Mailing List: http://www.cs.nyu.edu/mailman/listinfo/v22_0101_001_sp04


General course information

Mandatory Text
Introduction to Java Programming Fourth Edition
By Daniel Liang
ISBN: 0-13-100225-2
Prentice Hall
Optional Text
Java How to Program, 5/E
by Harvey M. Deitel, Paul J. Deitel
ISBN: 0-13-101621-0
Prentice Hall 2000
Software (See materials sections of course's main page)

Sun's Java compiler version 1.4.2
JCreator IDE

 

 

Course Summary

This is a first course in computer science, using Java, an object oriented language. Some basic knowledge in a language is required. You should be familiar with the following concepts, in either C, Java or Pascal:

  • Variables: types integer and real (int and float in C)
  • Arithmetic and Boolean operators and expressions
  • The assignment statement
  • The if--else statement, including nested if--else statements
  • The for loop, including nested for loops
  • Basic input and output.

Students without programming experience should take the more introductory course V22.0002 On the other hand, students who already know Java should consider taking the honors section. The honors section (Section 1) has a small enrollment of highly motivated students and is offered in the fall semester.

E-mail Accounts: All students are required to have e-mail addresses, and e-mail will be used extensively for communication with the course tutors, and for submitting the homework assignments. Your e-mail headers and mailing list subscription information must clearly display your name. Do not use an alias instead. Submitting your homework files by e-mail from the lab or from home is easy, and is explained on the course homepage. On the WEB, at a URL indicated on the course homepage, you should subscribe to the appropriate course mailing list.

Class mailing list: It is an absolute requirement of this class to join the class mailing list. all important annoucements will be sent to the class mailing list

E-tutors and Computer Assignments: Our class has been assigned an e-tutor. The e-tutors are upper-level undergraduate students with exceptional academic records. They are available by e-mail to help you with questions about the computer assignments, to evaluate your submissions, and to steer you in the right direction when help is needed. Five or six programming assignments will be given. Solutions must be submitted by e-mail, on or before the due date. Your e-tutor will send you an e-mail giving a numerical grade for your program. If the grade is below 4.0, the e-tutor will explain why the program is not satisfactory. In this case, you then have one week to send a corrected program, to the e-tutor, to try to raise your grade for the assignment. Your grade for each homework shall be the average of the two submissions. The role of the e-tutor is just as much to help you learn to successfully write programs as to evaluate your final submissions.
The e-tutor will run the final program on various inputs, so it is important that the program work correctly for any choice of input.

Remember that although the e-tutor is there to help you, she is also helping many other students, so limit your e-mail communication to a reasonable amount. If you are have much difficulty with the programs, you should ask your instructor for assistance.

Cooperation, Acknowledgments and Cheating: You are expected to do your own work. It is fine, in fact often very helpful, to work cooperatively with other students, but the work you submit should be your own. If you get an idea from another student, or from a tutor, that you use in your work, this is OK, but you must acknowledge that person in the program comments. If you are not sure whether something is cheating or not, ask your e-tutor or your instructor! Cheating, that is submitting work which is not your own, with or without the author's permission, generally leads to a course grade of F.

Students who spend little time on the homework invariably do poorly on exams and end up with a poor final grade.

Assistance at the Lab: If you are having trouble while working in the lab, ask the lab consultants for help first. They cannot write or debug your program for you, but they can often give you helpful advice.

Assistance from your Instructor: If you are unable to get the help you need at the lab or from your e-tutor, do not hesitate to contact your instructor, by telephone, by e-mail, or in person. Please do this early in the semester, before it is too late to get the help you need. Feel free also to contact your instructor with any questions you have about the course.

Exams: There will be one midterm test and one final exam.

Grades: Final grades will be based approximately 40% on the final exam, 30% on the midterm and 30% on the homework.

Syllabus and Goals
Chapters 1--8 and 12.1 -- 12.4 of the text will be covered, with some exceptions to be announced later.


It is very important to read the appropriate chapters in the text when the topics are covered, and to work through many of the exercises in the text as well as to do the homework assignments. The goal is not to teach you everything in the Java language, but to have you become competent Java programmers. Programming is not easy and becoming a good programmer is a learning process something like becoming a good writer. It needs patience, logical thinking, lots of practice, and the willingness to seek out help when necessary and learn from the responses to your questions.


Michael Overton
Tues Sep 6 EDT 2002

modified by Evan Korth
Tuesday, January 6, 2004