Stony Brook University
Computer Science Department


CSE 160

Computer Science: Honors
Spring 2009
Class hours: Tuesdays and Thursdays, 9:50-11:10, Computer Science 2129.
Lab hours: Wednesdays, 9:00-11:35, Chemistry SINC Site, room 432 Chem.


Prof. George Hart
Office: 1421 Computer Science
email: george@cs.sunysb.edu
Phone: (631) 632-8959
Office hours: tuesday and thursday 2:15-3:30, and by appt.


Web page:
http://www.cs.sunysb.edu/~cse160


Announcements:
Final Exam: Tuesday, May 19, 8:00AM-10:30AM. Note the earlier-than-usual starting time.

Supriya Garg will not hold her regular office hours on May 11.  Contact her by email if you want to meet with her that week.  She will have regular office hours monday May 18, which is the day before the final exam.

Summer project: to prepare for CSE260, download Eclipse Europa and begin to learn its interface.

Here are SML notes from tuesday March 10.
Here are SML notes from thursday March 12.


Assignments:
0. Get the text and start reading.
1. Lab #1
2. Lab #2
3. Lab #3 and HW#3 due Feb 24
4. Lab #4 and HW#4 due March 3
5. Lab #5 and HW#5 due March 10
6. HW #6 due March 17
7. HW #7 due March 24
8. Lab  #8, do in lab wednesday March 25
9. HW #9 due April 14
10. HW #10, due April 21
11. HW #11, due thursday April 30
12. HW #12, due thursday May 7 Time extension: Now due tuesday May 12, 11:59PM


TA:
Supriya Garg, sgarg@cs.sunysb.edu
TA office hours: Mondays, 2:00-3:00, room CS2110.


Software Versions:
The third edition of the text includes important features introduced in Java 1.5, including generic types, enums, for-each loops, and autoboxing. For the third edition of the Objects First text, you need Java 1.5 or 1.6, and BlueJ 2.1.2.  Do not use the older second edition of the text.

Projects for 3rd edition (zipped)  CH1 CH2 CH3 CH4 CH5 CH6 CH7 CH8 CH9 CH10 CH11 CH12


Useful links:
BlueJ Reference Manual (.pdf format)
BlueJ Tutorial (.pdf format)
www.bluej.org The official BlueJ web site
www.translab.cs.sunysb.edu Translab information
www.sinc.sunysb.edu Campus SINC sites
java.sun.com The official Java web site
http://java.sun.com/javase/6/docs/api/ The official Java documentation
The Java Tutorial Online tutorial about everything Java
Code Conventions for the Java Programming Language  A source code style guide.
Class notes on testing (.pdf format) and BlueJ testing tutorial.
Running SML
Don't forget the CS HelpDesk is available.
If the university is closed for snow, it is announced on this page.
Final Exam: Tuesday, May 19, 8:00-10:30. Note the earlier-than-class starting time.

Description

The CSE 160, 260 sequence covers topics coextensive with those covered in the CSE 114, 214, and 219, but at an accelerated pace, and with somewhat different ordering and emphasis. CSE 160 and 260 use the Java programming language and include a required laboratory as an integral part of the course.

The emphasis in CSE 160 is on a higher-level, object-oriented approach to the construction of software. Close attention is paid to software engineering issues such as programming style, modularity, and code reusability. The way which software tools can be used to aid the program development process is also emphasized. The course initially considers the construction of small programs, continues by treating the design and implementation of program modules, and culminates in an introduction to object-oriented design techniques suitable for larger programs.

Specific topics covered in CSE 160 include: objects and classes, programming style, object interaction, mutability and immutability, collections of objects, iterators, debugging and testing, information hiding and modularity, cohesion and coupling, code refactoring, programming by contract, inheritance and polymorphism, exceptions and handlers, and object-oriented design.

Grading is based on homework (25%), midterm examination (30%), final examination (35%) and participation (10%),.

Objectives

Prerequisite

You must be in the CSE Honors program and have taken CSE 110 to take this course, or else you must seek special permission from the instructor.

Textbooks

Course Format

The course will include the following components, all of which are required:

Academic Honesty

You may discuss the homework in this course with anyone you like, however each student's submission, including written material and coding, must be their own work, and only their own work. Any evidence that written homework submissions or source code have been copied, shared, or transmitted in any way between students (this includes using source code downloaded from the Internet or written by others in previous semesters!) will be regarded as evidence of academic dishonesty. The College of Engineering and Applied Sciences regards academic dishonesty as a very serious matter, and provides for substantial penalties in such cases, such as receiving an `F' grade, or expulsion from the University. For more information, obtain a copy of the CEAS guidelines on academic dishonesty from the CEAS office.

Be advised that any evidence of academic dishonesty will be treated with utmost seriousness. Those involved will be prosecuted to the fullest extent permitted by the University and College laws.

Students with Disabilities

If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, I would urge that you contact the staff in the Disability Support Services office (DSS), ECC Building (behind SAC), 632-6748/TDD. DSS will review your concerns and determine, with you, what accommodations are necessary and appropriate. All information and documentation of disability is confidential.