William M. Pegram
Home | Courses | Web Design | Office Software | Client-Side Scripting | Server-Side Scripting | About Me

Revised: September 7, 2011

Northern Virginia Community College - Annandale Campus

ITP 120 - Java Programming I, Fall 2011 (4 credits)

Section 005: W 7:30-9:30PM. Sat. 11:30am-1PM, CT 116
Instructor: Dr. William M. Pegram, wpegram@nvcc.edu, (703)-486-0952 (home)

Class Scheduling

Because the scheduling issues for this section were just recently resolved, several scheduling points are important:

Web Site for Class: www.billpegram.com. However, the primary source of information for the course is Blackboard where assignments, grades, Powerpoints, and sample solutions will be posted throughout the course.

Text: Introduction to Java Programming, Brief Version, Y Daniel Liang, Eighth Edition, Pearson Prentice Hall, 2011. 978-0-1-3213079-0 (earlier or later versions of this text, or other texts by Deitel and Deitel, or Walter Savitch, or Java for Everyone by Cay Horstmann, or Starting Out with Java by Tony Gaddis are acceptable). The companion website for the text is at http://cs.armstrong.edu/liang/intro8e

Course Objectives

This course is designed as a programming course with Java as the implementation language. It will stress problem-solving skills. The planned order of topics will be problem solving, introduction to programming, elementary programming, control structures, repetition, methods, arrays, object-oriented programming, string and character methods. Many topics will NOT be covered including exception handling, file i/o, inheritance, data structures, etc.


The Java software is free. TextPad is a convenient tool for working with Java and is available at www.textpad.com and will be available in the classroom and the open lab. There are other free Integrated Development Environments (IDEs) such as Eclipse and jGRASP. Using a simple, lightweight IDE such as TextPad (as opposed to the more powerful Eclipse) is recommended because it will focus your attention on Java rather than the tool.


If you miss class, please check Blackboard for any changes to the schedule, including new assignments.  Being absent from class is not an excuse for not knowing that an assignment was made.

Office Hour Schedule:

After class; before class and other times by arrangement.

Required Email Address

I will email you at the email address on my class list which is normally your VCCS email address. If you do not check this address frequently, I would recommend you set it up for automatic forwarding to an email address you do check more frequently. During the first class, I will show you how to specify a forwarding address. Please remember to include your name in all emails to me since I often can't tell who you are from your email address.

Grading Policy and Exam Format

Your grade will be a function of quizzes, probably two or three (35%), a final (30%) and homework (35%). Homework will likely consist of labs (worth 10%), programming assignments and project (collectively worth 25%). Exams will generally have a multiple choice/true-false section which are closed book except for one sheet of notes, front and back. Questions will often be "how will a give piece of code execute" and will require a thorough understanding of the material. The programming portion of the exam, often given on another day, will require students to write code for generally two problems, again with one sheet of notes, front and back.


All assignments will be made in Blackboard and all student work must be submitted through Blackboard. Late assignments will be penalized and will not be accepted if the solution has been posted or discussed. When I have taught this course at GMU, there were approximately 10 labs, four programing assignments, and a two part project.

General Teaching Approach

Topics will be presented through PowerPoints and a lab assignment will be made. Before the lab is due, we will collectively work on related problems to reinforce the concepts presented in the lecture and help prepare you for the lab. Some presentatoin of pre-existing code samples will be made but I often prefer solving problems from the start together to increase your ability to problem solve and code in Java. Labs are intended to be relatively easy to do; some can be done within an 75 minutes but others will take longer. Labs will be quickly graded after the due date and a sample solution will be discussed and posted in the next class. Programming assignments will generally involve the concepts from more than one lab and will be due several days after the labs have graded and discussed.

Academic Integrity

In general, students are expected to follow the Information Technology Student/Policy Ethics Agreement as posted in computer areas and academic integrity standards as set down in the Student Handbook.

Students are encouraged to help each other out. However, on work that is graded, there are restrictions on helping other students. Assignments will be designated either labs, programming assignments, or project. On lab assignments, students may ask for and receive some assistance from others. Yet those helping a student should avoid "doing the work" for the student and joint work will not be accepted.  On programming assignments and the project, no assistance from other students is permitted. The assignments where no assistance is permitted will have that clearly indicated on the assignment. No assistance is permitted on exams and quizzes.

Students should resist any temptation to simply use code that was written by another for several reasons. Most important of all, this course is designed to be a first course in programming with the idea that most will go on to additional programming courses at a later time. Therefore now is the time to develop the self-reliant skills that will contribute to success in these later courses and for some of you, in jobs. If you copy code now, you are just setting yourself up to fail later on.

Dropping and Withdrawal from the Class:

Thursday, September 8 is the last day to drop the class and get a tuition refunds (use NovaConnect) or to switch to audit.   Monday, October 31 is the last day to withdraw without grade penalty.

Learning Environment

NVCC is a place for learning and growing.  You should feel safe and comfortable anywhere on this campus.  In order to meet this objective, you should: a) let your instructor, his/her supervisor, the Dean of Students or Provost know if any unsafe, unwelcome or uncomfortable situation arises that interferes with the learning process; (b) inform the instructor within the first two weeks of classes if you have special needs or a disability that may affect your performance in this course.

Fire/Emergency Evacuation Procedures

Students should familiarize themselves with both the primary and secondary routes that are to be used, in case you need to evacuate the building, as well as other evacuation procedures to be followed.

Additional Points to Remember