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, email@example.com, (703)-486-0952 (home)
Because the scheduling issues for this section were just recently resolved, several scheduling points are important:
- new material will not be introduced in the Saturday session; it will instead by used for working through sample problems together and also as a lab session for one-on-one assistance.
- the timing of the Saturday session will likely alternate to a 1:30-3PM session on some weeks to accomodate student schedules
- The instructor is getting trained in the technology for online office hours and will then try this to see whether it is an efficient way to accomodate those who do not come in person on Saturday.
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
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.
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.
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
- The course is not easy. I will teach it essentially the way I've taught it at GMU and with equivalent standards. Programing requires you to develop a detailed approach to solving an problem (i.e. an algorithm), to do so using the syntax of a particular programming language, all the while keeping in mind a number of concepts that will affect whether the solution is correct. The instructor will provide during the first week of class additional information regarding the difficulty of the class.
- ITP 100 is the prerequisite for this course. If you have not taken ITP100, you need to decide whether you have other background (e.g. prior programming experience) that may substitute. Feel free to discuss this with me.
- The text is expensive but online resources may be inadequate; there are many aspects to Java that we will not cover and the advantage of a text is that it focuses your attention on the material required to success in this course.
- Doing your own work on homework is an important aspect of student success. Submission of identical or substantially identical homework on assignments where this is prohibited, will result in a 0 for that homework. If not detected, it only hides problems in a student's understanding that are best dealt with early in the semester and early in the student's career rather than later.
- Communicate with the instructor about problems (bookstore, tutoring, etc.) as they develop. I can't solve a problem if I don't know about it.