ITP 120
Java Programming I (4 credits)
DL (Virginia Tech or instructor permission students only)
Summer 2013
Course Description:
Entails instruction in fundamentals of
object-oriented programming using Java. Emphasis is on program construction,
algorithm development, coding, debugging, and documentation of console and
graphical user interface applications.
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.
Instructor: Dr.
Diane D. Wolff
Best contact methods and contact information: Office: M224 (Business Science
Building) Phone: 540-857-6214. NOTE: I am teaching
mostly distance learning so the fastest contact method is through email at dwolff@virginiawestern.edu.
Office hours: email
or call me.
WELCOME!!!! 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 dwolff@virginiawestern.edu and we
will help you finish the process.
Summer registration begins April 12th !
Important Dates:
First Day of Classes May 16th
Last Day to Register/Add a Class May 22nd
Last Day to Drop and Receive Refund May 28th
Last Day to Withdraw Without Grade Penalty June 29th
Last Day of Classes July 30th
Cost: This course is a four credit class. Projected costs for courses at VWCC are about
$136/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).
After you register for this class, contact the instructor
at the email address above!
Required Course Materials: Java, How to Program, 9th edition, Paul and Harvey Deitel, ISBN-978-0-13-257566-9. Note: There is also 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).
Getting started: email
your instructor!!!
Our Schedule for
ITP120 Va Tech:
Schedule: Due Date - before or on the follow date (noon EST):
Module 1 Friday, May 24th
Module 2 Monday, June 3rd
Module 3 Thursday, June 13th
Module 4 Saturday, June 22nd
Module 5 Monday, July 1st
Module 6 Wednesday, July 10th
Module 7 Friday, July 19th
Module 8 Saturday, July 27th
Project Due Monday, July 29th
Collaborate
Online Sessions
I will be prerecording movies for the Power
Points for each module. I will also have
prerecorded movies for the content of each module. As the summer progresses, we will see if we
need synchronous movies as well. I am
here to help and will provide whatever sessions will help you the most. Just let me know!
Grading:
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
580 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.
Required software:
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/eclipse7.zip to get the download.
Instructions for unzipping and use can be found at http://virginiawestern.edu/faculty/vwwolfd/VT120/eclipse7instructions.doc
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.
Reasonable Response Time: 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.
Course Specific Academic honesty policy: 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 Policy: 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.
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
Learning
objectives:
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
Reading Assignment:
1.
Textbook
– Chapters 1-2 (just skim chapter 1)
2.
CodeConventions.pdf
(included in the assignment files)
Laboratory Assignment:
1.
Laboratory
1
Module 2: Objects,
classes, and decisions
Learning
objectives:
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
Reading Assignment:
1.
Textbook
–Chapters 3 (skip 3.8) and 4 (to section 4.6)
Laboratory Assignment:
1.
Laboratory
2
Module 3:
More constructs, loops
Learning
objectives:
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
Reading Assignment:
2.
Textbook
–Chapter 4 (4.7-4.13) and Chapter 5
(skip 5.10)
Laboratory Assignment:
2.
Laboratory
3
Module 4: More Classes and Object Oriented Design. Lots of methods
Learning objectives:
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
Reading Assignments:
1.
Textbook
– Chapters 6 and 8 (skip 6.13, 8.16), Also 16.1-16.5
Laboratory Assignment
1.
Laboratory
4
Module 5:
Arrays, ArrayLists, and other Collections
Learning objectives:
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
Reading Assignment:
1.
Textbook
– Chapter 7 (skip 7.9-7.10, 7.15)
Laboratory Assignment
1.
Laboratory
5
Module 6: Advanced Inheritance Topics and Interfaces
Learning Objectives:
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
Reading Assignment
1.
Chapters
9 and 10 (skip 9.8, 10.8)
Laboratory Assignment
1.
Laboratory
6
Module 7: I/O, Exceptions, and JavaDocs
Learning Objectives:
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
Reading Assignment
1.
Chapter 11 and 17
2.
Appendix M
Laboratory Assignment
1.
Laboratory
7
Module 8: Generic
Collections
Learning Objectives:
1.
Collections
Overview
2.
Wrapper
classes
3.
Auto-boxing
and Auto-unboxing
4.
Interface
Collection and Class Collections
5.
Lists
6.
Collections
Methods
7.
Sets
8.
Maps
9.
Properties
Class
10.
Synchronized
and Unmodifiable Collections
11.
Abstract
Implementations
Reading Assignment
1.
Textbook
–Chapter 20
Laboratory Assignment
1.
Laboratory
8