Computer Science II (810:062) Spring 2006
Time and Place: 11:00 AM - 12:15 PM Tuesday and Thursday in Wright 5
Laboratory: 10-11:50 AM Wednesdays in Wright 112
Class Email List: Send messages to firstname.lastname@example.org from your UNI account (let me know other email addesses that you want to use)
Instructor: Mark Fienup (email@example.com)
Office: Wright Hall 321
Phone: 273-5918 (Home 266-5379)
Office Hours: M 9-11, 1-2; T 3:30-4:30; W 9-10, 1-3; Th 3:30-4:30; F 9-11
Prerequisite: Computer Science I (810:061 in Java)
Required Text: "Understanding Object-Oriented Programming with Java", by Timothy Budd; Updated edition; ISBN 0-201-61273-9.
Goals: This course aims to help you develop an in-depth understanding of a new way to think about computer programs: as collections of independent objects that collaborate to achieve some goal. It does so by giving you the opportunity to design, critique, and implement object-oriented solutions in Java.
By the end of the semester, you should have a solid grasp of the object-oriented approach to software development. You should:
- know the basic features of OO techniques,
- know the vocabulary of object-oriented modeling,
- be able to analyze a real-world situation in an object-oriented way,
- be able to design an object-oriented model containing multiple classes and collaborations, and
- be able to implement such a model in Java using OO programming techniques.
Among the more general goals that you should have for the course is to learn both low- and high-level patterns of programming that will make you better programmers and designers.
The course is not a "Java course," but as a side effect you will probably become a reasonable Java programmer.
WARNING: I encourage you to discuss ideas related to the homework assignments, as a way to help you understand the problems better and to encounter different points of view about possible solutions. However, unless the assignment explicitly states otherwise, any work you submit must be your own, i.e., write your own answers, including all code. You should acknowledge any collaboration explicitly in the work you submit. Undocumented or unacceptable collaboration is considered a form of academic dishonesty, and will be dealt with according to UNI's established policy of academic integrity. (see the UNI catalog).
- Class sessions -- Nearly all of our lecture and discussion material will go beyond what you read in your textbooks, so attendance is essential. In class I'll tend to break up the lecture with active and group learning exercises to aid learning. While this is not formally graded, part (4%) of your grade will be based on your participation of these in-class activities. Students benefit by (1) increased depth of understanding, (2) increased comfort and confidence, (3) increased motivation, and (4) being better prepared to work in groups on the job. This might sound great, but it will require you (and me) to work differently to prepare for class. Before the class, you must read the assigned reading, thought about what I've asked you to think about, etc.; otherwise you won't be able to effectively participate in your group during class.
- Exams -- There will be three tests (including the final). I'll announce tests at least one week in advance to allow you time to prepare, but approximate dates are listed below.
- Laboratory -- There will usually be a weekly laboratory for the course from 10-11:50 on Wednesdays. The goal of these laboratories will be to provide you with some hands-on instruction with the concepts being discussed in the lecture.
- Homework -- Over the course of the term, you will complete approximately ten homework assignments. These assignments will involve applying analysis, design, and implementation techniques learned in class. Some assignments will involve writing and some will consist of paper exercises, but most will involve programming projects.
Grading policy: Tentative weighting of course components is:
In-class Work: 4 %
Homeworks: 20 %
Laboratories: 10 %
In-class Test 1: 22 % (~February 14)
In-class Test 2: 22 % (~Wednesday, March 22 in the lab, Wright 112)
Final: 22 % (Thursday, May 4 from 10-11:50 AM in Wright 5)
Grades will be assigned based on straight percentages off the top student score. If the top student's score is 92%, then the grading scale will be, i.e., 100-82 A, 81.9-72 B, 71.9-62 C, 61.9-52 D, and below 52 F. Plus and minus grades will be assigned for students near cutoff points.
Special Notice: The Americans with Disabilities Act of 1990 (ADA) provides protection from discrimination for qualified individuals with disabilities. Students with a disability, who require assistance, will need to contact the Office of Disability Services (ODS) for coordination of academic accommodations. The ODS is located at 103 Student Health Center. Their phone number is 319/273-2676.