CS A110: Java Programming

Course Syllabus, Summer 2014 Textbook

Course Description: The objective of this course is to introduce students to the fundamentals of computer programming and problem solving using Java.  The instructor will present simple types and operators, classes and objects, iterative and conditional execution, variables and parameters, arrays, File I/O, and recursion.

Upon completing the course students will be able to:

Course Organization: This class is organized around requirements for each grade (details below under grading).   A typical class will consist of a 45-60 minute lecture followed by a hands-on programming activity for the remainder of the class.  I'll be available to provide any help and on some days hope to have a student tutor available as well.

Software: This course uses the Java programming language.  All of the necessary software will be available on the computers in the Engineering Labs.  You may also download any needed software to your own computer from http://java.oracle.com , http://www.drjava.org, and http://www.netbeans.org.

Computer Science Lab Facility:   When working on your homework, you can use any of the machines in the Engineering Lab. You can also use the lab in NSB 204, which will require you to swipe your wolfcard. The machines in the back two rows have Java installed.

Lab tutor:  We may have a lab tutor, more info forthcoming.

Homework Assignments:   There will be 4 assignments consisting of multiple programs per assignment.  Turn the assignments in via Blackboard, with all code compressed into a zip file.  There is no fixed due date for the assignments, but I recommend you complete them within a few days after the material is covered in class.  Under grading below each assignment is graded pass/no-pass.  If you do not pass then you have the opportunity to resubmit any incorrect programs.  Passing means a program is nearly 100% working. Some small errors will be allowed if it is apparent the main concepts were learned.  You can discuss homework solution approaches with your classmates but shouldn't copy any code directly.  In other words, your typed-in programs should be your own work, not a group effort.

In-Class Drills:   Almost every class has a hands-on drill for you to complete.  We will leave about the last hour for you to work on the exercise.  Show me your working program in class and I will mark you down as completing the exercise.  There is no need to turn in anything.  Although the goal is to complete these by the end of class, if you are unable then you can complete them offline and email me your program or show me a working program in a future class session.  You can also complete them early if you wish.  You are welcome to work with other students in the class on the drills, but make sure you understand what the program does as opposed to simply copying down what your partner does.

Grading: I am using an unconventional grading policy.  Rather than assign a grade to every piece of work and average the results together, you have to demonstrate mastery of a set of material to receive a grade level.  Once the level is complete then you can move on to the next level.   Each level corresponds to the grade you will get in the class and the tasks are assignments, exercises, and exams.

Level 0:  Grade F.
No work completed.
Level 1: Grade D.

Complete all of the following:
Homework #1, Drills 1-7, Exam #1 , Re-work for any errors on Exam #1
Level 2: Grade C.

Complete all of the following:
Homework #2, Drills 8-11, Exam #2 , Re-work for any errors on Exam #2
Level 3: Grade B.

Complete all of the following:
Homework #3, Drills 12-15, Exam #3 , Re-work for any errors on Exam #3
Level 4: Grade A.

Complete all of the following:
Homework #4, Drills 16-19, Exam #4 , Re-work for any errors on Exam #4

Exams:   There is an exam for each grade level.  They are designed to take about 30 minutes to complete.  They will be on paper only - you are allowed to use any books or paper materials you like.  You can use a computer to access only electronic books or course material - not to search the web and not to type in programs and compile them.   This is intentional to encourage you to study for each exam!  Any questions that you  miss on an exam must be re-worked and resubmitted with a correct answer to complete a level.

Questions: If you have any questions, feel free to come in to my office.  In general, I have an open door policy -- if I am available in my office, you are welcome to come by.  An even better way to reach me is through email.  I check my email frequently and you should receive a response quickly.  Email is preferred over telephone and you will probably receive a faster response since I don't check voicemail very frequently. 

Cheating: Students are expected to uphold the UAA standard of conduct relating to academic dishonesty outlined in the UAA catalog and student handbook.  Cheating is not tolerated and constitutes grounds for dismissal.  For this class, it is permissible and encouraged to assist classmates in general discussions of how to attack the homework problems. It is not permissible to copy another's work (or portions of it) and represent it as your own.

 An incomplete grade will only be given for a valid excuse (e.g. medical, death in the family).