Lake James
JMU HomeCFI HomeCS Home

 


General Overview

This course offers an introduction to the art of computer programming and assumes that you have had no prior experience in programming. This course focuses on thinking algorithmically and problem solving while learning how to program a computer in a high-level language. General principles regarding programming, algorithm design, procedural abstraction and problem-solving will be covered. The backdrop for learning computer programming is the Java programming language by Sun Microsystem. Java is an object-oriented language that has gained popularity in recent years as a highly portable, well-constructed programming language. The core of Java is rather small, but the libraries that extend it will seeem boundless. We will be studying the core pieces and many parts of the libraries. The best way to learn to program is to practice. We will be doing a lot of practice!

Prerequisites

Overall Objectives

Description of course practices

The lecture days provide the theoretical framework.  "Lecture" days will typically include review of the prior lab, mini-lecture on new material, and excersizes that allow you to practice with the new material. The lab days will permit students to practice what they have learned in lecture or read in the assignments. Labs will consist of either experimentation, program development or both. If a student finishes the assigned lab exercise early, time to work on programming assignments is permitted. Students may help one another in lab, but must turn in their own completed labs unless otherwise directed. In general, labs will have an assigned task, so should not be viewed asstudy hall. Labs may take longer than the lab period provided. Labs are due no later than the beginning of the next lecture period.

In addition to lab work, students will have assigned programming projects which are longer term assignments combining many of the individual skills practiced in lab. Programming projects must be completed on one's own with help from the TAs and the instructor for the class only.

We will use Blackboard and the web as a means of communicating. Announcements for class will be made on the Blackboard announcements page or the course web page if Blackboard is unavailable. Any other announcement that you receive through other means (such as e-mail) is suspect unless confirmed by Blackboard or the course web page. If I send an e-mail to the class as a whole, I will also put the text into a Blackboard or web announcement.

Coding Standards:


Textbook and Required Material

REQUIRED: Gaddis, Tony (2008):
Starting Out With Java: From control structures to objects. 3rd ed. Addison-Wesley. ISBN 0-321-47927-0. Provides concrete examples of programming concepts and implementation techniques using the Java language as a base.
NOTE: You may use the 2nd edition text instead of the 3rd if you can find it.
OPTIONAL: Peter DePasquale (2004): 
Addison-Wesley's Java Backpack Reference Guide
Peter DePasquale, College of New Jersey
Java web site:
http://java.sun.com/javase/6/docs/api/
JAC Card:
There may be times in lab that you need to print a worksheet, a completed assignment or other work. You must have your JAC card with you and some money on it for printing. Make sure that you have a couple of dollars on the card each day. JAC cards can be loaded in cash at the DART machine located in the HHS basement and other places around campus. Printing can also be done in the Copy Center located on the first floor of the HHS building.
Backup Media:
It will be important that you have a backup device available to use in the lab. While you will get some network space, sometimes the network goes down and you need some way to continue working. Lab machines do not provide a permanent save. When the machine is logged out, your work is lost.

Grading

Exam 1 15 Week 6
Exam 2 20 TBD
Final Exam 25 December 9, 2008 (Tuesday) 7 - 9pm
Programming Assignments 20 various
Labs and participation 20 almost every day

Exams and programming assignments are graded on a 100 point scale. Letter grades correspond to 10 point ranges...90 - 100 = "A", 80 - 89.999 = "B", etc. "F" is used for work below 60%. For labs and homework, grading will be A(100), B(85), C(70), F(50), or 0.   

Final grades will be based on a scale similar to the exams and programming assignments.  Plus and minus grades will be used to differentiate between work within one grade category.


Class Policies and Student Success

See the link to the left for general instructor policies. Specific policies and items which will insure your success in this class are:


Students with Disabilities:If you are a student with a documented disability, who will be requesting accommodations in my class, please make sure you are registered with the Office of Disability Services, Wilson Hall, Room 107 (568-6705) and provide me with a copy of your Access Plan letter outlining your accommodations. I will be glad to meet with you privately during my office hours to discuss your special needs. The sooner you can do this, the better I can assist you in meeting your learning goals in this course.

Student Responsibility: Student are responsible for adding and dropping courses via e-campus. The last day to add a course for the Fall 2008 semester is Thursday, Sept 11, 2008 (signatures required after Tuesday, Sept 2, 2007). The last day to drop a course for the Fall 2008 semester with a "W" grade is Thursday, Oct 23. I do not give "WP" or "WF" grades to students requesting a drop for poor performance after the deadline.

Religious Observance: Students who are unable to attend class due to religious observance may request deadline extensions BEFORE the expected absence. I will do my best to accommodate your special circumstances.

For clarification of these and other instructor policies please refer to the policies link.