Computer Science 132
Computer Science II

Dickinson College
Spring Semester 2010
Grant Braught

Contact Information

Primary Text

Horstman, C. (2008). Big Java, 3rd Edition. New York: John Wiley & Sons.

eText ISBN-10: 0-470-37266-4 eText ISBN-13: 978-0-470-37266-1
Print ISBN-10: 0-470-10554-2 Print ISBN-13: 978-0-470-10554-2

Course Description

This course is the second course in our introductory Computer Science sequence. It builds upon the foundation established in COMP131. It begins to place a greater emphasis on software design, focusing on techniques that help to ensure correctness, reusability, maintainability and efficiency. Specific topics addressed include:

• Static methods
• 2-Dimensional Arrays
• Interfaces / Inheritance / Polymorphism
• Graphical User Interfaces / Model-View-Controller Architecture
• Recursion
• Sorting (Insertion Sort / Merge Sort)
• Searching (Linear Search / Binary Search)
• Introduction to Algorithm Analysis (Big-O)
• Abstract Data Type Implementation (ArrayList / LinkedList / Iterator)
• Linear Data Structures (Stack / Queue)

 Homework: 15% Labs: 25% Midterm Exams (2): 17.5% each Cumulative Final Exam: 25%

At the end to the term, the percentage of points earned for each course component will be computed. A weighed average of those percentages will be used to find each student's final percentage. As an example a student receiving 82% of the homework points, 90% of the lab points, 68% of the midterm exam points and a 87% of the final exam points would have a final percentage of:

82*0.15 = 12.3 90*0.25 = 22.5 85*0.35 = 29.75 + 87*0.25 = 21.75 -------------------- 86.30

Grades will typically be assigned using the standard scale (>=92 A, >= 90 A-, >=88 B+, etc.). At my discretion a curve may be applied to the final percentages when assigning the letter grades given for the course.

Each topic that we cover will have an associated reading assignment. You should complete these reading assignments early on in our coverage of the topic. By completing the reading early you will be better prepared to participate in the discussion of the material. You will be familiar with the vocabulary being used. You will also be aware of the ideas and concepts that you found confusing allowing you to request clarifications as necessary as we encounter them in class.

Homework

Homework will be assigned and collected roughly once per course topic. When a new homework is assigned a due date for the assignment will be given. Homework assignments must be handed in at the beginning of class on the due date. Any assignment not received at the beginning of class will be considered late. Homeworks must be type written. If you have an extenuating reason that prohibits you from typing your homework assignments please discuss it with me in advance. Please note that writing, spelling and grammar do count!

Labs

Labs in this course will be completed using the pair-programming paradigm. I will assign pairs and you will work with the same partner for two or three labs. We will begin each lab with a discussion of the lab assignment. This may simply be an introduction to the lab, or we may do some collaborative design that will be incorporated into the lab. The lab will then typically be due either one or two weeks later. The exact due date and time for each lab will be specified on the lab assignment. Note that it is expected that each lab assignment will require work outside of the scheduled lab period.

Late Work Policy

Absolutely no late work will be accepted!

However, since I am not a complete tyrant, I am implementing what I call the "NEET" late policy. NEET stands for "No Excuse Extension Time" and you can use it to extend any due dates you choose. The rules of NEET are as follows:

• Each of you will receive 2 days worth of NEET.
• NEET can be used only in full day chunks.
• So if your assignment is 1 hour it counts as one full day of NEET.
• NEET may be applied to (almost) any assignment.
The only assignments that NEET may not be applied to are in class exams, the final exam, and any assignment due on the last day of finals week.
• Using NEET on a group deadline costs each member of the group the same amount of NEET.
So if your project is a day late every member of your group uses 1 day of NEET. If a member of your group doesn't have any NEET left and the deadline is missed that member will not receive any credit.
No other extensions will be granted without an act of your respective deity. I recommend saving them for emergency use.

Any assignments handed in late must be given to me in person so that I may account for your NEET.

Midterm Exams

All midterm exams will be timed (50 min.), hand written and given in class. These exams will be closed book. However, you will be permitted one 8.5" x 11" sheet of paper (both sides) of hand written notes that can be read with the naked eye. Because of the nature of this course, each exam will contain content from the previous exams. However, the emphasis of each exam will be placed on material introduced since the previous exam.

Final Exam

The final exam will be cumulative, timed (3 hours), hand written and will occur during the final exam period as assigned by the College. As with the midterm exams, the final will be closed book. However, you will be permitted three 8.5"x11" sheets of paper (both sides) of hand written notes that can be read with the naked eye.

This class follows the definition of cheating and plagiarism as described in the Community Standards document. Violations of this policy are considered serious transgressions, so you should be especially certain that you understand your rights and responsibilities under it. Students suspected of academic dishonesty will be subject to the process outlined in the pamphlet; those found guilty will be subject to disciplinary action (usually resulting in a minimum of a failing grade in the course). Below are more specific guidelines to help clarify what is acceptable and unacceptable collaboration in this course. If you are unsure about whether or not certain kinds of collaboration are permissible, ask your instructor.

Homework Collaboration Policy

All homework that you submit must be your own work. This means that the solutions must have been developed by you and must have been written by you. Although you should feel free to discuss strategies and approaches to assigned work with your instructor, the TAs, and/or your classmates, you must always write up your solutions alone.

To avoid inadvertently cheating --- or even the appearance of cheating --- you should not write anything down when you are discussing homework with other students. If you have truly understood the ideas discussed, then you should have no difficulty reconstructing them, incorporating them into your solution, and writing up that solution, all on your own.

When completing homework for this course, under no circumstances should you show another student in the course any program code that belongs to you or have in your possession code that belongs to another student.

You should feel free to incorporate into your solutions code that appears in the labs or on the course web site, provided you indicate that the code is not your own and where you got it from. You may incorporate no other code into your solutions. In particular, neither code written by students who have previously taken the course, code from other texts or other instructors, code from friends or relatives, nor code downloaded from the Internet may be incorporated into your solutions.

If you consult classmates or other sources besides your instructor in completing any work for this course, then you are obligated to acknowledge your debt to these sources in writing as part of your problem solutions. Please be as specific as possible when acknowledging a source. You might say, for example, "I talked with X when working on Problem 3" or "I incorporated Y's idea about Z in my solution to Problem 5." Proper acknowledgment will not negatively affect your grade, although failure to provide it may.

Lab Collaboration Policy

Labs in this course will be completed in pairs using the pair-programming methodology. Each pair will submit a single collaboratively developed solution for each lab, and both students in the pair will receive the same score for the lab. As such, you are expected to collaborate extensively with your partner. However, you many not collaborate with other pairs. All of the rules described above for homework also apply to labs with the pair being substituted for the individual.

Accommodations for Disabilities

In compliance with the Dickinson College policy and equal access laws, I am available to discuss requests made by students with disabilities for academic accommodations. Such requests must be verified in advance by the Coordinator of Disability Services who will provide a signed copy of an accommodation letter, which must be presented to me prior to any accommodations being offered. Requests for academic accommodations should be made during the first three weeks of the semester (except for unusual circumstances) so that timely and appropriate arrangements can be made.

Students requesting accommodations are required to register with Disability Services, located in Academic Advising, first floor of Biddle House. Please contact Marni Jones, Coordinator of Disability Services (at ext. 1080 or jonesmar@dickinson.edu ) to verify their eligibility for reasonable and appropriate accommodations