Stony Brook University
Computer Science Department


CSE 260

Computer Science II: Honors
Fall 2008
Class hours: Tuesdays and Thursdays, 9:50-11:10, Computer Science 2129.
Lab hours: Wednesdays 9:00-12:00, Math/Physics SINC Site, S-235.


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


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


Announcements:
We have a new room for the lab.  See above.

Notes from Sept 4 on insertion sort in SML.
Notes from Sept 9 on merge sort in SML.
Notes from Sept 11 on Power Set in SML.
           Start of java version for you to complete.
Here is the partial CubeSolver code we began on Sept 18. It need refinements
Here is the version from Sept 23, with some improvements, but still no comments or documentation


Assignments:
HW #0: Review everything from last semester. Get the texts and start reading. Download Eclipse Europa and learn its interface.
HW #0.5: Using Eclipse, complete the recursive Power Set function above, for class tuesday Sept 16.
HW #1
HW #2
HW #3


TA:
Andrey Gorlin,  agorlin@ic.stonybrook.edu
TA office hours: Mondays, 3:30-4:30, room 2110 CS


Software Versions:
The third edition of the BlueJ text includes important features introduced in Java 1.5, including generic types, enums, for-each loops, and autoboxing. I strongly recommend the third edition. Download and unzip one of these sets of projects according to your software environment.

Projects for 3rd edition (zipped)  CH1 CH2 CH3 CH4 CH5 (Bouncing Ball) CH6 CH7 CH8 CH9


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.
Don't forget the CS HelpDesk is available.
If the university is closed for snow, it is announced on this page.
Final Exam: Tuesday, Dec 23, 2008, 8:00AM-10:30AM (schedule)

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.

CSE 260 continues the treatment of object-oriented design strategies begun in CSE 160, with introductions to event-driven programming, graphical user interfaces, and design patterns. Students work on an extended design and programming project, which continues in installments through the end of the semester. During the second half of the course, students work on the project in home assignments while following a traditional treatment of the classical data structures and their applications in the lecture and laboratory.

Specific topics covered in CSE 260 include: the software development process, specifications and requirements, object-oriented design, event-driven programming, graphical user interfaces, design patterns, threads, performance and optimization, abstract data types, collections and iterators, linked lists, stacks, queues, recursion, trees, graphs, sorting, and searching.

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

Objectives

Prerequisite

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

Textbooks

This is our main text for data structures and algorithms.

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.