ITP120 Java Programming I – V1
Virginia Western Summer 2014
Instructor: Dr. Diane D
Business Science M224
Email: email@example.com Phone: 540-857-6214
Office Hours: TBA
Course description: ITP 120 Java Programming I (4 CR) Prerequisite: ITP 100 or divisional approval. 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 a review of constructs from ITP100 including decisions, loops, and method calls. Collections are introduced and include arrays and ArrayLists.
Getting Registered: Use the following instructions for
applying to Virginia Western, registering, and paying for your class.
How to apply to VWCC 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.
How to find your student ID http://virginiawestern.edu/academics/enroll_for_classes/MyVCCS.html
How to register and pay for a class. NOTE: You cannot register yourself for this class. We keep it on closed enrollment to make certain that degree seeking students from VWCC do not get in. Once you have your student id, email that to firstname.lastname@example.org and we will help you finish the process.
Contact Methods and Response Time: Office: I am teaching mostly distance learning so the fastest contact method is through email at email@example.com. 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.
Attendance: This is a distance learning class. 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 8 @ 45 points each 360 points
à NOTE 5 of these points are for comments –see #10 below
Quizzes 8 @ 20 points each 160 points
Project @ 50 points 50 points
NOTE: quizzes are open book/open Internet quizzes that can be taken anytime during the module up until the noon due date for the module listed above. These have a one hour time limit with only one attempt allowed. It is critical when taking them not to close the browser! I will post answers after the due date.
90%=A 80-89% = B 70-79% = C 60-69% = D
NOTE: You must complete each of the modules and the project to pass the course.
The above 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 Adobe Connect 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: You are here to learn a very critical IT topic. Know that I am here to help. 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.
Inclement Weather Schedule: Watch Blackboard for announcements about rescheduling events due to inclement weather. I will post this at least six hours before face-to-face classes or 24 hours for distance learning tests. I live on a mountain so may not get to campus if the weather is questionable but classes have not been cancelled.
NOTE: 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.
Wed Dec 11th NOON
Cost: This course is a four credit class. Projected costs for courses at VWCC are about $140/credit hour for Virginia residents. Special distance learning out of state rates for non-Virginia residents applies to this class and is about $230/ credit. DO NOT LET THEM CHARGE YOU THE FULL OUT OF STATE RATE which is about $330. Plus the cost of the books (we supply the software).
First Day to Register April 11th
First Day of Classes May 19th
Last Day to Register/Add a Class May 26th
Last Day to Drop and Receive Refund May 29th
Last Day to Withdraw Without Grade Penalty June 30th
Last Day of Classes July 26th
Blackboard location: http://learn.vccs.edu
Our Schedule for ITP120 Va Tech:
NOTE: during the normal semester, modules are two weeks long. During the compressed summer schedule, these are one week so expect to be working fast and hard during this time. Know that I am here to help!
Schedule: Due (Tuesday 8:00 AM)
Survey Friday May 23rd
Module 1 May 27th
Module 2 June 3rd
Module 3 June 10th
Module 4 June 17th
Module 5 June 24th
Module 6 July 1st
Module 7 July 8th
Module 8 July 15th
Project July 22nd
Collaborate Online Sessions
We will be using the movies from the spring semester since we are on a compressed schedule. However, we can get online and do extra examples, explanation, etc. as needed.
Java, How to Program, 9th edition, Paul and Harvey Deitel, ISBN-978-0-13-257566-9.
Note: The textbook is available as a Kindle edition and I will supply a free version you can read online through Safari Online (this one must be read through the web and is not downloadable).
We will be using a version of Eclipse that you can download from Blackboard. You can also go to http://virginiawestern.edu/faculty/vwwolfd/VT120/eclipse7k.zip to get the 64 bit download. Instructions for unzipping and use can be found at http://virginiawestern.edu/faculty/vwwolfd/VT120/eclipse7kinstructions.doc
Spend 80% of your time coding – not reading! You cannot learn a computer language by reading a book. SKIM the material in the book, watch the movies, and start on the assignment. Use the text as a reference and guide..
Blackboard information: You will be obtaining all of your handouts and assignments from Blackboard. This is also where you will submit all of your work. There are many useful documents and tools on the portal.
Please note: It is our hope that NO ONE has to drop the class - we will strive to make you successful! But it is NOT our responsibility to drop you if for some reason you cannot finish the class - PLEASE fill out the appropriate form if you must drop!! June 30th is the last day to withdraw.
Incompletes: 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.
Prerequisites: basic computer knowledge.
Course Specific Requirements and Policies:
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!!!!!
Suggestion for progressing through each module.
Jar file instructions
Module 1: Introduction 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.8) and 4 (to section 4.6)
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.7-4.13) and Chapter 5 (skip 5.10)
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 16.1-16.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.9-7.10, 7.15)
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.8, 10.8)
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 17
2. Appendix M
1. Laboratory 7
Module 8: Generic Collections
1. Collections Overview
2. Wrapper classes
3. Auto-boxing and Auto-unboxing
4. Interface Collection and Class Collections
6. Collections Methods
9. Properties Class
10. Synchronized and Unmodifiable Collections
11. Abstract Implementations
1. Textbook –Chapter 20
1. Laboratory 8