Additional articles as assigned.
| INSTRUCTOR: | Stephen Fyfe | OFFICE: | 231 Vermeer Science Center |
| PHONE: | 628-5305 | ||
| HOME | 628-9955 | ||
| EMAIL: | fyfes@central.edu | ||
| OFFICE HOURS: | MTWRF 11:00 - 12:00 | ||
| Other times by appointment, or just stop in. | |||
COURSE DESCRIPTION: Introduces current design methodologies for developing computer programs. Object-oriented programming concepts will be covered. Designing classes and interaction between objects will be emphasized. In addition, API's for common data structures and programming tasks will be included.
COURSE OBJECTIVES: The objectives for this course include:
COURSE PROCEDURES: This course will include lecture, discussion, and hands-on work. Class time will be spent lecturing and discussing material from the texts, homework questions, and programming projects related to the current topic. This course will typically have homework that will include some reading, written exercises, and hand-on programming exercises. In addition, a significant design and programming project will begin during the second half of the semester and will be worked on throughout the rest of the semester.
This course is being set up to involve students in the course through homework, labs, programming assignments, and class discussions EVERY DAY. In this course it is almost always better to spend a little bit of time every day with the course, rather than trying to complete the course requirements using large blocks of time less often.
GRADING PROCEDURES: Students will be evaluated on their understanding of the concepts being covered in class, and their ability to apply those concepts in homework problems and programming projects.
The final grade will be determined by the following distribution:
| Programs, Homework, Attendance | 25% |
| Software Project | 30% |
| 2 Tests | 30% |
| Final Exam | 15% |
| 94 - 100 | A | 73 - 76 | C |
| 90 - 93 | A- | 70 - 72 | C- |
| 87 - 89 | B+ | 65 - 69 | D+ |
| 83 - 86 | B | 60 - 64 | D |
| 80 - 82 | B- | 55 - 59 | D- |
| 77 - 79 | C+ | 00 - 54 | F |
Notification of participation in college sanctioned events. Mock Trial participants, choir tour participants, athletes, and others who must miss a class for participating in a college sanctioned event are expected to notify me in advance and complete work including tests in advance of the absence. It is the student's responsibility to communicate with me in advance regarding their absences and determine a schedule for make up work.
Academic Honesty. Collaboration in Computer Science, as in almost any field, is very important. It is important that individual students learn the material. When working on homework assignments, you are encouraged to discuss your answers with other students. However, you should understand the answers you are turning in! When developing a program it is often beneficial to talk with others to get their input, however you should not be turning in the work of another individual or group. It is acceptable to look at another individuals code if you are assisting them. You should not, however, let someone look at your code in order to show them how you did it, or to give them specific instructions on how they should change their code (other than to find syntactical errors). If you are getting help, you should not be looking at someone else's code!
Plagiarism and cheating of any form are serious offenses and may result in an F for the assignment, the course, or expulsion from the college. The details of Central's Academic Integrity policy are found in the Student Handbook, on the web. A copy will be sent to you via e-mail during the first week of the semester. It is your responsibility to read and understand the contents of that policy before you submit work to be graded. Questions regarding the policies and enforcement of the policies may be addressed to me during class or during office hours.
ADA Policy
Central College abides by interpretations of the Americans with Disabilities Act and
Section 504 of the Rehabilitation Act of 1973 that stipulates no student shall be
denied the benefits of an education "solely by reason of a handicap." Disabilities
covered by law include, but are not limited to, learning disabilities, hearing, sight, or
mobility impairments, and other health related impairments. If you have a
documented disability that may have some impact on your work in this class for
which you may require accommodations, please see me and Nancy Kroese, Director
of Student Support Services and Disabilities Services Coordinator, (x 5247) during
the first two weeks of the semester so that such accommodations may be arranged.
COURSE SCHEDULE: The following is a TENTATIVE order in which the topics of the class will be covered. Changes may be made during the semester as needed. Check the webpage for links to exercises and assignments for more details and information about a specific assignment.
| Week | Topic | Reading | Homework and Project Work |
| 1 | Overview Java Introduction Java Program Structure |
Chapter 1 Java Tutorial - Getting Started and Learning the Java Language trails |
Java and NetBeans Introduction |
| 2 | Object Oriented Program Development Java Syntax Java Class Structure |
Chapter 2.2 and 3.2 Java Tutorial - Object-Oriented Programming, Language Basics, and Classes and Objects trails |
Library Program |
| 3 | OO Design Discovering classes and Class Design Creating and using Java Classes |
Chapter 2.3 and 3.2 Java Tutorial - Classes and Objects trail In Class design activity |
Theater booking program |
| 4 | More OO Design and UML Java Classes - Inheritance and Abstract Classes |
Chapter 3.3 and 4 Java Tutorial - Interfaces and Inheritance trail |
Charter Company class design |
| 5 | Java classes - Interfaces and generics Java collections and wrapper classes |
Chapter 3.3 and 9 Java API documentation |
Project Design |
| 6 | GUI and the MVC pattern | Chapter 12 | Craps game GUI |
| 7 | GUI - NetBean utilities for building GUIs Test I |
Chapter 12 | Craps game Event handling |
| 8 | Implementation from UML design Stub classes, Prototyping and testing |
||
| 9 | Implementation from UML design Stub classes, Prototyping and testing Errors and Exceptions |
Chapter 10.2 and 10.3 | Project GUI development |
| 10 | Streams | Chapter 10.4 | Project Implementation Timeline Server Implementation |
| 11 | Java Networking libraries | Chapter 13 Java API documentation |
|
| 12 | More networking | Chapter 13 Java API documentation |
GUI and Server connection |
| 13 | Refactoring Java Thread libraries Test 2 |
Chapter 11 | Messaging Implementation |
| 14 | More Threads | Chapter 11 | |
| 15 | Documentation and Testing Project work |
Project Completion | |
| 16 | Misc. Topics Project work |
||
| 17 | Final Exam |