Southern Adventist University
Fall 2006
- Instructor
- Course Venue
- Textbook
- Class Slides
- Code We Develop in Class
- Final Exam Study Guide
- Labs
- Prerequisite
- Course Content
- Class Requirements and Grading
- Class Topics and Schedule
- Important Dates
- Check your grades
Instructor
Rick Halterman
School of Computing
126 Hickman Hall
Southern Adventist
University
Collegedale, TN 37315-0370
423-236-2871
halterman@southern.edu
http://computing.southern.edu/halterman
Office Hours: http://computing.southern.edu/halterman/General/OfficeHours
Course Venue
HSC 115 MWF 8:00 am
HSC 116 (Lab) T 1:00 pm or W 1:00 pm
Textbook
Halterman, Richard. Object-oriented Programming in JavaTM. 2006.
Prerequisite
Math ACT > = 22 or MATH 090 Intermediate Algebra, or permission of instructor
Purpose
Catalog description:
CPTR 124. Fundamentals of Programming (G-1) 4 hours
Prerequisite: Math ACT >=22 or MATH 090 or permission of instructor.
Control structures, data types, data representation, compiling, debugging, modularity, and standard programming algorithms are introduced, using an object oriented language. Three hours of lecture and three hours of laboratory each week.
This course has three objectives:
- to develop the ability to correctly analyze a variety of problems and generate appropriate algorithmic solutions
- to explore the syntax and usage of the JavaTM programming language as a means of accomplishing the first objective
- to examine the software development environment and associated tools.
Class Requirements and Grading
Grade Distribution. Final grades are determined according to the following table:
|
Average |
Letter Grade |
|
100-93 |
A |
|
92-82 |
B |
|
81-71 |
C |
|
60-70 |
D |
|
0-59 |
F |
The letter grades indicate guaranteed minimums; a plus (+) or minus (-) may be attached to further qualify a letter grade.
Class Work. The average used to determine the final grade is computed from the following class activities and is weighted as indicated.
|
Activity |
Weight |
|
20% |
|
|
Quizzes |
20% |
|
Test 1 |
20% |
|
Test 2 |
20% |
|
Final Examination |
20% |
Remarks
Laboratories and assignments. Attendance at laboratory sessions is required as this is a four credit-hour course. All lab assignments are due at the designated time and date. Late assignments will be penalized. Generally, you must submit each assignment electronically, as described in class. Your code will be compiled and checked for correctness and completeness. You may elect to work in any environment and upon any platform (for example, Linux, Microsoft Windows, Mac OS X), but your submitted code must compile and run correctly under the Java 5.0 SDK (JDK 1.5.0) on the departmental lab computers.
The same tools we use in the lab:
- the Sun Java Standard Edition 5.0 (JDK 1.5.0) and
- the DrJava development environment
Ethics. It is expected that each student work individually on individual programming assignments. For team assignments, collaboration is limited to teammates. Programming problems on tests will be based largely on the experience gained by doing past lab assignments, so it is important that each student develop his own programs for adequate preparation for the examinations. As long as each student develops her own logic and code, it is permissible to help each other over occasional rough spots. In a team programming environment, each team member is expected to understand the workings of the complete program regardless of the division of responsibilities during development. Except among teammates, portions of programs should never be shared. Those involved in allowing their programs, or parts of their programs, to be copied, or copying from other students' programs risk receiving a grade of F in the course.
Class study. Appropriate study for the course includes reading the textbook (at least as far as last class's lecture material), experimenting with the programs from the book and programs we develop in class, working through the exercises at the end of each chapter. You are strongly encouraged to join a study group. Daily quizzes encourage students to remain current in their class preparation. Usually quizzes will be distributed at the beginning of the class period. Missed quizzes may not be made up; however, your final quiz score will be computed based on three fewer quizzes than were actually given, so if you miss a few quizzes it will not hurt you, and if you don't miss any quizzes it can help you.
Class decorum. Please comply with the standards of classroom attire as specified in the Student Handbook. Notebook computers are welcome, and the classroom and lab (generally) have an excellent wireless signal. Those with computers should mute the volume and sit in the rear of the class so as not to distract students behind them. Electronic devices must be turned off during quizzes and tests. You are expected to remain in the classroom during quizzes and tests, so be sure to take care of affairs (such as bathroom visits and tissue acquisition) before you sit for the quiz or test.
Examinations. Each test contributes significantly to the overall grade. In certain situations, due to unavoidable circumstances, a missed test may be made up. Arrangements for the retake should be made before the time of the originally scheduled test. The make-up test may vary greatly in form from the original test, but its content (topics addressed) will be the same. Because of this difference, any points added (the so called "curve") to tests taken during the regularly scheduled time may not apply to retakes.
The final examination is worth 20% of your total course grade. Please note the date and time for our final exam on the tentative class schedule. You need to plan to take your final exam at the scheduled time. Please make your work and vacation plans accordingly. Academic Administration will grant approval for variance from the published exam schedule only in cases of verified, serious, illness or a death in the immediate family. Academic Administration may, in case of exceptional and unavoidable circumstances, approve a variance, in consultation with the professor of this course. A $65 processing fee may be assessed.
Extra credit. A limited amount of extra credit will be available for certain activities like "stumping the tutors" and attending certain School of Computing lectures. These extra credit opportunities will be announced publicly in advance. No additional extra credit is available. This extra credit will be applied to the next quiz grade after the activity.
SAU account. All students must have an active Southern Adventist University email account. This account is necessary to receive class messages and to be able to use the computers in the programming lab. If you normally use a different email address, please set up your SAU account to forward your email to your preferred address; instructions about how to do this are available upon request.
Learning Success Services. In keeping with University policy, any student with a disability who needs academic accommodation for testing, note taking, reading, classroom seating, etc., is to call Learning Success Services. Mr. Roberts, the Disability Services Coordinator, will assist you and, if appropriate, provide a letter for you to bring to me. I will review the letter with you and discuss the accommodations in relation to this course. Academic accommodations are available only as recommended by Disability Services at LSS. Call 236-2838 or stop by the LSS office in Lynn Wood Hall, room 314 to arrange an appointment this week. Requests for academic accommodations are to be made during the first three weeks of the semester, except in unusual circumstances. No retroactive accommodations will be provided.
Topics
- The context of software development
- Values, variables, assignment, identifiers, constants, and types
- Data conversions
- Arithmetic expressions
- Classes and objects
- Methods and parameter passing
- Comments
- Boolean expressions and conditional statements (if, if/else)
- Constructors, aliasing, and stateful objects
- Recursion
- Kinds of errors
- Class members
- Iterative statements (while)
- Object composition
- Unit testing
- Inheritance and polymorphism
- Simple graphics programming
- Packages and standard classes
- Other conditional and iterative constructs (do/while, for, switch)
- Arrays
- Sorting and searching arrays
Important Dates
- Friday, August 25: first day of class
- Wednesday, September 27: Test 1
- Friday, October 20: no class (midterm break)
- Wednesday, November 1: Test 2
- Wednesday and Friday, November 22, 24: no class (Thanksgiving Break)
- Wednesday, December 13 at 8:00 AM: final exam
Class Code
Code we develop in class is available here.