CSE 160 omits making a detailed review of the basic concepts, constructs, and mechanics of computer programming that students will have covered in a prerequisite course. Instead, 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 in 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.
The following are the official course goals agreed upon by the faculty for this course.
Lecture: | Tuesday and Thursday, 11:30AM-12:50PM, CS 2129 |
Lab: | Monday, 9:00AM-11:30AM, CS 2129 |
Midterm: | Monday, March 27 (in lab) |
Final: | Wednesday, May 10, 5:30PM-8:00PM. |
I plan to follow this book closely during the semester. We will use the BlueJ programming environment provided with the book.
Note: There is a 6th edition of this book but much as I like the book, I am dismayed by how much it costs. For this semester, we will continue to use the 5th edition. Presumably, there will be sufficient new and used stocks of the book still around so that this will not be a problem.
Part of your course grade will derive from your lab work. The lab grade will be primarily on the basis of attendance and participation. There will be a submission required at the end of each lab session. However, based on my past experiences, it often happens that the lab exercises are not completely finished during the lab session itself. Because of this, submission of completed lab work will be a default part of each week's homework (see below).
If I am provided with suitable TA resources, the TA will read and grade the homeworks. If I do not have suitable TA resources, the homework grading will usually consist of spot-checking to see that you attempted the work and the grading will be crude (1/0 on each part or on the entire assignment). On occasion, if I feel it is important to do so, I will look more closely at the homework and assign grades from a finer scale.
Homework assignments will be issued on Mondays and will be due before midnight of the subsequent Sunday (i.e. just before it becomes Monday again).
http://www.cs.stonybrook.edu/~cse160/
I will try to announce in class when new homeworks and handouts are available,
but ultimately it will be your responsibility to check the course web pages
regularly to find out if there is anything new.
Read This! 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.
All students taking this course are required to complete this form in which you acknowledge specific activities that are and are not permitted in this course. No grades will be issued for anyone who has not completed this form.
The following statement about academic dishonesty, adopted by the Undergraduate Council on September 12, 2006, is required to be included in syllabi for all undergraduate courses:
"Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Any suspected instance of academic dishonesty will be reported to the Academic Judiciary. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website."
"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."
Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Disability Support Services. For procedures and information go to this web site and search Fire Safety and Evacuation and Disabilities.
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn.
An outline of the course can be found by clicking on the following link: topics.html.