ITP120 – Java Programming I
Instructor: Diane Wolff
OFFICE AND MAIL INFORMATION:
My VWCC: https://vw.my.vccs.edu
CLASS MEETING TIMES
ITP 120 Java Programming I (4 CR) Prerequisite: None for the VT section. Entails instruction in fundamentals of object-oriented programming using Java. Emphasizes program construction, algorithm development, coding, debugging, and documentation of console and graphical user interface applications. Lecture 4 hours per week.
ITP 120 is the first semester of Java programming. The Java programming language is one of the most important computer languages for both client-side and server-side applications. Java allows you write intranet applications and other e-business solutions that are the foundation of corporate computing. It also is integral to the development of client-side applications for everything from games to Droid applications.
This course introduces the fundamentals of general computer programming and specifically, Java. Topics include decisions, loops, and method calls. Collections are introduced and include arrays and ArrayLists.
Knowledge of the basic use of computers.
Use the following instructions for applying to Virginia Western, registering, and paying for your class.
1. Apply at https://apply.vccs.edu/app/app.htm If you have any problems with applying, call the Admissions Office at 540-857-7231. NOTE: Do not declare a major. Indicate that you are a transient (non-degree seeking) student.
2. Find your student id (seven digits) at http://virginiawestern.edu/academics/enroll_for_classes/MyVCCS.html
3. Send the id to email@example.com and we will help you finish the process of registration. You cannot register yourself.
I am teaching mostly distance learning so the fastest contact method is through email at firstname.lastname@example.org. I read email just about 24/7 and generally respond within 24 hours if it is not within two days of the due date. This includes most weekends. As due dates get closer, my email load increases dramatically so response may be slower (you can prevent this being a problem for you by starting early). I am not in my college campus much so phone call response will be much slower. Discussion forums will usually be answered within 24 hours. I will be grading right after you submit and grades will usually be posted within 48 hours of the due date. See more details below
Office Hours Statement
My office is located in M224 in the Business Science building. This office is in the U shape hallway that is located behind the snack machines on the second floor. Please see Blackboard for the days and times of my office hours
Attendance / Lateness Policy
This is a distance learning class with assignments due in two week increments. There will also be Collaborate recordings that you will be expected to watch. “Attendance” will be determined by submission of your assignments on the due dates.
Introductory survey 10 points
(see instructions in portal on how to complete this)
Laboratory assignments 7 @ 45 points each 315 points
à NOTE 5 of these points are for comments
MyProgrammingLab practice 280 points
Project @ 50 points 50 points
NOTE: This is the first time we are using MyProgrammingLab so I need feedback from you on what you think!
90%=A 80-89% = B 70-79% = C 60-69% = D
Make-up / Late Work POLICY
The schedule lists the due dates for each module. You may progress faster than the schedule but not slower without instructor permission. This is for your good and mine since I must have all grades in right after the semester is over and I will be reviewing the answers in the Collaborate sessions. Any submissions after the due date without instructor permission will be docked 30% if turned in within 24 hours of the due date/time. With previous instructor permission, only 20% off. For EXTREME circumstances, contact me. No late quizzes will be allowed.
Penalties for Academic Honesty Violations
Each student should consider that they are in this class to learn a critical skill, some of the best skills in the IT industry. I view my role as trying to help you obtain these skills. I expect all submissions to be your own work. Any assignment/test/quiz where this is not the case will result in a zero. See Virginia Western policies for more details (in your student handbook).
The materials on this site are only for the use of students enrolled in this course for purposes associated with the course and may not be retained or further disseminated. It is the student’s responsibility to comply with the full Honor Code and Conduct requirements which are described in the Student Handbook. An Honor Code summary is posted on the marker board in each classroom.
Inclement Weather Policy (not a problem for this section since we are DL)
For cancellations or delayed opening, refer to this link VWCC inclement weather policy. When class is cancelled, students shall read the material for the missed and next classes. At the next class, the missed material will be reviewed prior to starting regularly schedule material. Every attempt will be made to catch up by the second class after the cancelled class.
Virginia Western policies, the course outline, and course syllabus are available in Blackboard from the course syllabus button. Additional student resources are available in Blackboard from the Student Resource button.
First Day to Register November 6th 2017
First Day of Classes January 8th
Last Day to Register/Add a Class January 14th
Last Day to Drop and Receive Refund January 25th
Last Day to Withdraw Without Grade Penalty March 22nd
Last Day of Classes April 28th
Method of Instruction
All materials will be served from Blackboard and MyProgramming Lab. This is also where you will submit all of your work. There are many useful documents and tools on the portal. We will have synchronous Collaborate sessions Tuesday evenings at 6:00. These will be recorded if you cannot attend. I will also have various other prerecorded movies for many of the modules for extra content.
Please see ‘Course Content’ below.
Java, How to Program, 11th edition plus MyProgramming Lab, Paul and Harvey Deitel. There are three versions. You can choose an eBook version of the text, a Student Value edition (which is a loose leaf version) or a regular printed book. Make certain that the book you get says “early objects.
ISBN with eBook 978-0134752129
ISBN with loose leaf printed text 978-0134800301
ISBN with printed version of text 978-0134800271
NOTE: If you find a cheap version of the text, you can purchase just the access code for the MyProgrammingLab with ISBN 978-0134752105. Make certain it is the code for Deitel 11th Java Early Objects.
We will be using a version of Eclipse that you can download from Blackboard. You can also go to http://apps.virginiawestern.edu/faculty/vwwolfd/VT120/eclipseLuna8.zip to get the 64 bit download. Instructions for unzipping and use can be found at http://apps.virginiawestern.edu/faculty/vwwolfd/VT120/eclipseLuna8instructions.doc . Macintosh folks will need to go to http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/marsr and get the Mac version.
A student will receive an Incomplete only under mitigating circumstances. An Incomplete will give the student additional time beyond the end of the semester to complete the course requirements. The student and instructor will decide on an appropriate deadline. Any outstanding work not completed by this agreed upon deadline will result in the Incomplete being changed to an F. An Incomplete will only be given if the student has mitigating circumstances and cannot complete the last few assignments or the final exam on time. Please contact me immediately if you have problems.
Specific Classroom Policies:
Evacuation procedures: Posted near each classroom entry. To report an emergency, call 911 or Campus security at 857-7979.
The college has created a campus safety video that each student is required to view. A link to this “Critical Safety Video” is located on one of the links under Syllabus on our Blackboard course.
Students are encouraged to register for VW Alert Text Messaging System. To register for the text alerts, go to https://alert.virginiawestern.edu.
Open Computer Labs
An open computer lab is available for student use for work related to course assignments in Business Science M302. Tutors are available to assist students with class subject material.
The Learning Technology Center is located in Brown Library, (857-7250). It offers instructional assistance, tutorial assistance; computer-assisted learning, video-assisted learning and audiovisual presentations are available to students. Other services are: placement tests, Writing Center, and Math Center. Check website for more information: http://virginiawestern.edu/ltc/
Suggestions for Progressing Through a Module
Jar File Instructions
Further Information for You
This course has been specifically geared towards VTMIT students. This course was developed in conjunction with the VT professors to give you the specific prerequisite knowledge that they will assume. I am dedicated to being available to you as needed, and to make this course a very positive learning experience for you.
If you have comments about what I can do to better serve you, please let me know.
Let’s have a great semester!!!!!
Due (SAT at NOON)
Survey Jan 13th
Module 1 Jan 20th
Module 2 Feb 3rd
Module 3 Feb 17th
Module 4 March 3rd
Module 5 March 17th
Module 6 March 31st
Module 7 April 14th
Project April 28th
WEEKLY TENTATIVE SCHEDULE and COURSE CONTENT
to Java, Classes, and Objects
1. Understand how to declare a Java class and a the main method
2. Understand input and output to Java programs
3. Be able to run Java programs in Eclipse
4. Be able to import and save Java applications as .jar files
5. Understand Java arithmetic
6. Be familiar with equality and relational operators
7. Know the common primitive data types
8. Understand Java expression and how to write them
1. Textbook – Chapters 1-2 (just skim chapter 1)
2. CodeConventions.pdf (included in the assignment files)
1. Laboratory 1
Module 2: Objects, classes, and decisions
1. Understand the concept of objects and classes
2. Be able to declare and use simple Java classes
3. Understand getters and setters
4. Understand the difference between primitive and reference data types
5. Understand program flow
6. Understand how to program if and if/else statements
7. Understand how to use Boolean expressions and how to compare data
8. Understand the do and the while construct
1. Textbook –Chapters 3 (skip 3.6) and 4 (to section 4.7)
1. Laboratory 2
Module 3: More constructs, loops
1. Be able to use the for construct
2. Understand what an iterator is and how to use one
3. Understand the logical operators
4. More on classes
5. Begin writing your own Java classes
2. Textbook –Chapter 4 (4.8-4.14) and Chapter 5 (skip 5.11)
2. Laboratory 3
Module 4: More Classes and Object Oriented Design. Lots of methods
1. Methods, methods and more methods!!!
2. Be able to design more complete Java class
3. Understand what constructors are and how to use them
4. Understand the relationship between Java objects
5. Understand method overloading
6. Understand constructor overloading
7. Be able to describe the different access modifiers
8. Understand has-a and is-a
9. Understand the concept of static
10. Understand how to read APIs
11. Understand how to use APIs
12. Be able to use methods in the String, StringBuilder, and Character classes
1. Textbook – Chapters 6 and 8 (skip 6.13, 8.16), Also 14.1-14.5
1. Laboratory 4
Module 5: Arrays, ArrayLists, and other Collections
1. Understand how to use arrays in Java
2. Understand how to declare and create arrays in Java
3. Understand the enhanced for statement
4. Be able to pass arrays into methods
5. Understand the Arrays class
6. Understand alternatives (ArrayLists, etc)
7. Become familiar with the Java Collections API
1. Textbook – Chapter 7 (skip 7.11-7.12, 7.17)
1. Laboratory 5
Module 6: Advanced Inheritance Topics and Interfaces
1. Understand class hierarchies and the ramifications
2. Understand the relationships between super classes and subclasses
3. Understand method overriding
4. Be able to design for inheritance
5. Understand the Object class
6. Be able the discuss polymorphic behavior
7. Understand how to use abstract classes
8. Understand the concept of interfaces and their use
9. Be familiar with common searching and sorting algorithms
10. Understand designing for interfaces
1. Chapters 9 and 10 (skip 9.7, 10.11)
1. Laboratory 6
Module 7: I/O, Exceptions, and JavaDocs
1. Understand Java Exceptions Hierarchy
2. Understand how to use a try/catch/finally structure
3. Understand how to read and write text files
4. Understand how to read and write object oriented serialized files
5. Understand how to use the Java File and JFileChooser classes
6. Understand exception handling
7. Understand how to create JavaDocs
1. Chapter 11 and 15
2. Appendix G JavaDocs
1. Laboratory 7
Project – to be assigned.