Course Information
Course: Computer Science 135 A, Computer Programming 1, Fall 2002, Central College.
Professor: Tom Linton, 312 B Central Hall, (641) 628-5264, email: lintont@central.edu.
Class Meets: MTWF 10:00 to 10:50 AM in Central Hall 310.
Office Hours: 1 PM Mon, 9 AM Tues, 1 PM Th, 11 AM Fri, or by appointment.
Text: An Introduction to Object-Oriented Programming with JAVA, 2nd edition, by C. Thomas Wu.
Technology: We will make extensive use of computers and software related to "programming". No prior knowledge of these tools is assumed. The class web page is located at the URL http://www.central.edu/homepages/lintont/classes/fall02/prog1frameset.html and information relevant to this course may come via email. You should check your email and the class web page on occasion.
Final Exam: Wednesday December 18, 8 AM, 310 Central Hall.

Class Overview This course is intended for students with a serious interest in programming and computer science. This course meets the m core requirement for mathematical reasoning, and will involve a significant component of abstract thinking, problem solving, and mathematics. If you have concerns or questions about this course, please talk to me at your earliest convenience. Computer programming is introduced using an object-oriented programming language (we'll use Java). Algorithms, program control structures (sequence, selection, repetition), graphical user interfaces, classes, objects, methods, files, and arrays will be covered. Students will spend a significant amount of time out of class designing, writing, collaborating on, and debugging computer programs.

Goals and Objectives Upon completion of this course, students will:

American Disabilities Act 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 and for which you may require accommodations, please see me and Nancy Kroese, Director of Student Support Services and Disability Services Coordinator, (x5247) so that such accommodations may be arranged.
Grades
Grades, based on the letter, or A, A-, B+, B, B-, . . . system, will be based on a curve of the total points in the class. The curve used will be the traditional 100-93 A, 92-90 A-, 89-88 B+, etc. (or an easier curve). The breakdown of the points in the class is given below. There is no extra credit for this class. You are encouraged to work together on group assignments (including homework), but copying answers of others (including those in the back of the text) will result in no credit. Several assignments in this class will be completed on an individual basis (working with others is forbidden).

Exams We will have three (or perhaps just two) midterm exams. These exams will follow the completions of chapters 3, 6, and 8. Estimated dates for these exams are September 18, October 14, and November 22. We will also have a cumulative final exam on Wednesday, December 18 at 8 AM.

Homework and Activities I will assign and collect homework problems on a regular basis. Recording "just the answer" will receive little or no credit. You should show and/or explain your work on all assignments for this class. You are encouraged to work together on homework assignments, but this does NOT mean copying the work of others nor answers from a solution set. We will do several in-class activities throughout the semester (where new concepts are introduced, or old notions are examined in more detail). Most of these activities will be done in groups, and all will contain questions similar to homework problems.

Programming Assignments We will complete several (6 to 12) programming assignments. You will be allowed to work in pairs on some of these, but others will be done individually, where sharing code will be strictly forbidden.

Participation You are expected to be in class each day. If you miss a day of class, you are still responsible for the materials-activities completed that day. You are expected to participate in class discussions, ask questions, and to be engaged in the day to day actions of the class.

Your final grade in this course will be based on participation, homework assignments, programming assignments, activities, the midterm exams, and the cumulative final exam. These items will be weighted as follows:

     5% participation
     20% homework assignments and activities
     30% programming assignments and lab activities
     30% midterm exams (10% each)
     15% final exam
Academic Dishonesty
Plagiarism (which includes working together on an individual assignment), or copying answers from other people or books without citing the source is a serious offense and will result in no credit for the work.  It is OK to discuss your answers with other groups on group assignments, but  the work you turn in must be your own.

Central College's Academic Honesty Policy
"Academic dishonesty is defined as behavior that is inappropriate for academic pursuits, including plagiarizing, cheating and other such dishonest activities.  Some examples of misconduct are

Depending on the nature of the offense, the penalty for academic dishonesty ranges from permission to redo the project (if plagiarism was inadvertent), failing the project, to failing the course.  A second offense is grounds for dismissal from Central College."
Class Materials
We will be using the development environment Bluej to write our programs. Bluej is a Java development environment specially designed for teaching introductory programming concepts. It was designed by educators from Austrailia and Denmark. Here is a somewhat technical tutorial on using Bluej.

The author of our text has written a package of useful classes (Java programs) for us to draw upon, so that we can develop meaningful programs from the start. The package is named Javabook and can be downloaded (for free) from the text's website.

An introduction to classes, objects, methods, and bluej.

The galapagos documentation (turtle that draw).

Activity 2, using turtles to write our initials.

The Java API documentation (a local copy).

Java doc documentation for the javabook package.

Exam 1 practice problems.

Installing bluej on your computer.

Data class activity.

Exam 2 practice problems.

Practice writing loops.

The ResponseBox and Format classes.

Strings and ciphers.

The Vigenere programming assignment.

The Card game programming assignment.

Schedule
Relevant information will be added to this schedule as we progress through the semester. An up to date version is available on line at http://www.central.edu/homepages/lintont/classes/fall02/prog1/prog1.htm#schedule .
 
Week
Dates
Section
Assignment
1 8-27 to 30 Ch 0, 1  p 11 QC #1,2
p 14 Ex #3,4,6,8
Intro to bluej 
2
9-3 to 6
Ch 1, 2
Ch 1 EX # 2,7,8,12
3
9-9 to 13
Ch 2
Ch 2 QC p. 48 # 1,2,3,4
EX p. 77-80 # 1,2,4,9,10,14,15,19
Drawing with turtles
4
9-16 to 20
Ch 3
Ch 3 QC p. 91 #1,4,5; QC p. 97 # 1,2,3
QC p. 102 #1,2; QC p. 112 #1,2,3
EX p.128-135 #1,2,4,5,6
Programming problems p. 132-135
#13 PlanetAge.java
#19 CoffeeBill.java
exam 1 practice problems
5
9-23 to 27
Ch 4
Ch 4 QC p. 152 #1,2; p.156#1,2
EX #1,2,5
programs #10 CoffeeCost.java
#13 WeightConverter.java and
WeightDriver.java
Data class activity.
6
9-30 to 10-4
Ch 4, 6
Ch 6 EX # 1,2,3acgh,5,7,8
programs 16 Food.java, 23 Moped.java
7
10-14 to 16
Ch 6
fall break
8
10-21 to 25
Ch 6
Exam 2 practice  problems
9
10-28 to 11-1
Ch 7
Due Wed 11-6, Ch 7 Ex #1,2,3,4
Programs (#8, 11 as applications)
#8 Prime.java and Factors.java
#11 digits.java
#23 watermelon.java
10
11-4 to 8
Ch 7, 8
loop writing practice
ResponseBox and Format class
11
11-11 to 15
Ch 8
Working with StringBuffers and
chars to implement the Caesar cipher

The Vigenere programming assignment.
12
11-18 to 22
Ch 8,9
 Chapter 9 QC p. 420-421 # 1,2,3
p. 435 # 1,2
p. 470 # 2,3
p. 475 # 1,2
EX #4, 8 (on paper or printout)

13
11-25 to 27
Ch 9
Exam 2 re-do,
Tom's Data, and Driver class for re-do.
The Card game  assignment.
17 December 18, 8 AM CH 310 Cumulative final exam