ITP 120  Java Programming I (4 credits)

DL (Virginia Tech or instructor permission students only)

Virginia Western Community College

Spring 2009

 

Course Description: Provides 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. An introduction to collections and design patterns will also be included.

 

Instructor: Dr. Diane D. Wolff        dwolff@virginiawestern.edu   Phone: 540-857-6214

 

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
  How to find your emplID     http://virginiawestern.edu/academics/enroll_for_classes/MyVCCS.html
  How to register and pay for a class.   NOTE: You will not receive a bill.  You are expected to go online and pay for the class.

1.  Download the following instructions:   http://www.vw.vccs.edu/soar/myvccsinfo.pdf

2.  Go to https://my.vccs.edu/  and complete the instructions above.

If you have any problems with registration, call the Admissions Office at 540-857-7231.
Spring registration begins November 10th!

 

Important Dates:

First Day to Enroll                                                                                                                    November 10

First Day of Classes                                                                                                                       January 12

Last Day to Register/Add a Class                                                                                                 January 18

Last Day to Drop and Receive Refund                                                                                         January 29

Last Day to Withdraw Without Grade Penalty                                                                              March 26

Last Day of Classes                                                                                                                              May 2

Cost:  This course is a four credit class.  Current costs for courses at VWCC are about $88.74/credit hour for Virginia residents (the all rate should be similar).  Special distance learning out of state rates for nonVirginia residents applies to this class and is about $177.50/ credit. DO NOT LET THEM CHARGE YOU THE FULL OUT OF STATE RATE which is $263.89. Plus the cost of the books (we supply the software).

 

After you register for this class, contact the instructor at the email address above!

 

Textbook:  Java Software Solutions 6th Edition by John Lewis and William Loftus (Addison Wesley )  978-0-321-53205-3. 

 

Getting started: email your instructor!!!

 

Schedule:                    Due Date - before or on the follow date (noon EST):

Module 1          Saturday, January 24th      

            Module 2         Saturday, February 7th  

            Module 3         Saturday, February 21st  

            Module 4         Saturday, March 7th    

            Module 5         Saturday, March 21st  

            Module 6         Saturday, April 4th  

            Module 7         Saturday, April 18th    

            Module 8         Saturday, April 25th    

Course Project Saturday, May 2nd     

 

Adobe Connect Sessions

            There will be optional Adobe Connect online sessions for each module.  Dates are shown below.  Details will be given in Blackboard. These will be recorded if you cannot attend.  All will be held at 8:00 PM.

            Module 1         Sunday, January 11th  

            Module 2         Sunday, January 25th  

            Module 3         Sunday, February 8th  

            Module 4         Sunday, February 22nd  

            Module 5         Sunday, March 8th  

            Module 6         Thursday, March 19th (NOTE!!!)  

            Module 7         Sunday, April 5th  

            Project Database  Sunday April 19th  

 

Grading:

            Introductory survey                                                      20 points

                        (see instructions in portal on how to complete this)            

            8 laboratory assignments @ 40 points each                320 points

            8 quiz assignments @ 25 points each                         200 points

            Comments for each module @ 5 each                          40 points
            Course Project                                                               60 points

            Complete the course evaluation                                    20 points

                                                                                                660 points

            90%=A   80-89% = B   70-79% = C   60-69% = D 

NOTE:  You must complete each of the modules to pass the course.

 

Required software:

Eclipse07 (we will supply) – The download is at http://virginiawestern.edu/faculty/vwwolfd/Eclipse07/eclipse07.zip    

The instructions for installing and using are at http://virginiawestern.edu/faculty/vwwolfd/Eclipse07/eclipse07instructions.doc  

 

 

Policies:

  1. If you need to drop the class (hopefully no one will have to do so!) you must do it yourself online (I can help you find the link).  The last day to drop this class without an F grade for summer is March 26th .
  2. 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 by early May.   Any submissions after the due date without instructor permission will be docked 30% of the total points.  No assignment will be accepted more than four days late, at which time I will be posting answers.
  3. Do NOT just download everything from the portal on day 1!! As the faster people work through the material and may have questions, I may add more examples, etc.  I certainly will not make any changes to submission requirements after the start date above and will not significantly change requirements ever (only maybe clarify them).   I will post an announcement with a heads up that the instructions or jar file has changed.   I have rewritten all of the materials for this semester, so there may be some places where changes may be necessary as we work through the material together.
  4. I will be running a Breeze session for every module.  There will be good information and questions answered during these --- and it is highly suggested that you either attend or listen to the recording of them if you cannot “attend”.  Also – keep up with the discussion forums since you are responsible for clarifications posted there (hopefully---there will not be too many of them…)
  5. I will be grading all submissions as soon as I can after your submission but may not get to it until the due date of that module. It is critical that you make your final submission through Blackboard only!
  6. As you are working through the material and have questions, you need to do one of two things.  If the question is about a general concept or something that you would like to see more examples of, submit this through the discussion forum in Blackboard.  Do not post large chunks of your code there.  If you want me to look at your specific problems (that is what I am here for!) jar up your file (include ONLY those files needed to make the program where your questions are run!!!) and send it through email to the address above.  Make certain to explain the problem in the text of the email.  I will response VERY quickly to both of these types of postings.
  7. For anyone located close to VWCC, we have tutoring and office hours here on campus that you can utilize.  Details will follow.
  8. Start early on each module if you can!!!  I am very receptive to helping all I can, especially early in the module sequence.   However- on the few days before the due date, I may not be able to answer as quickly due to high traffic.
  9. PLEASE CHECK THE PORTAL RIGHT AFTER THE DUE DATE FOR YOUR GRADE!!!    Open up the assignment and you will see my comments. If you have omitted something or misunderstood an instruction, I often will send it back and let you make changes with no penalty.  You will have the same deadline to get it back in with changes (four days after it was due) as above but no late points will be assessed. However, if you do not see this within the four days above, you will not be allowed to resubmit.
  10.  I also want to improve this course for future semester offerings.  So I am asking that for 5 points each, you use the textbox on the laboratory submission to give me comments about the module.    Please include positive comments as well as constructive suggested changes for each module.  Noted typos or suggested rewording would be appreciated.  And please include an approximate number of hours spent totally (reading, writing, coding) for the module as a whole so I can judge the assignment requirements.  I appreciate your help in this matter. 

 

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.

1.  Go to the syllabus and see what chapters it covers.  Skim/read those chapters and look at the power points.  Do not spend a lot of time here.

2.  See if there are auxiliary readings and if so, download them and look them over.

3.  Download the appropriate jar file from the lab assignment.  Import the jar file into Eclipse.

4.  Get the lab instructions from the assignment in Blackboard.  Work on these.  Refer back to your text as needed.

5.  Finish the lab and return the assignment back to me with the completed jar file.

6.  Remember to include your comments about the assignment in the textbox

7.  Go to the assignments tab and download the quiz questions.  Open up a text editor (Word, Wordpad, etc.) and type in your answers to the quiz.

8.  Open the quiz assignment and attach the .doc or .txt file with your answers to the quiz.

9.  Start the next module.

 

Jar file instructions

  1.  Assignments will be turned in as jar files (similar to zip files).  The instructions will indicate how to create these.
  2. Jar files must have the .java files in it (after you jar the file, open it up in an unzipping software and verify this).
  3. Jar files must have only the programs that make the programs that are listed at the bottom of the lab instructions run (delete any that were just my examples).  IN some cases you will delete entire extra packages that have just my examples in them).
  4. Make certain there are no stray import statements (to test this, create a new project and re-import your jar file and see if it runs).
  5. Jar files must have the name of both the package and the actual jar file changed (see instructions for details).

 

 

Module 1: Introduction to Java
            Learning objectives:

1.      Understand Java’s role in application development today

2.      Understand the different types of Java applications

3.      Be able to save Java applications as .jar files

4.      Understand the concept of objects and classes

5.      Understand the difference between primitive and reference data types

6.      Know the common primitive data types

7.      Understand Java expression and how to write them

8.      Understand input and output to Java programs

 

Reading Assignment:

1.      Textbook – Chapter 1 and  Chapter 2

2.      Power Points – Chapter 1 and Chapter 2

3.      CodeConventions.pdf (included in the assignment files) 

 

Laboratory Assignment:

1.      Laboratory 1

 

Wrap up Assignment:

            1.  Quiz 1 

 

Module 2: Objects, classes, data and expressions

                Learning objectives:

1.      Continue to work with input from the keyboard

2.      Be able to use the Random, Math and String classes

3.      Understand the concept of wrapper classes

4.      Be able to format your output

5.      Understand boxing

6.      Be able to do simple GUIs

7.      Begin writing your own Java classes

 

Reading Assignment:

1.      Textbook –Chapters 3 and 4

2.      Power Points – Chapters 3 and 4 

 

            Laboratory Assignment:

1.      Laboratory 2 

 

            Wrap up Assignment

1.      Quiz 2 

 

Module 3:   Conditions and Loops and More Classes and Object Oriented Design

            Learning objectives:

1.      Understand program flow

2.      Understand how to program if statements

3.      Understand how to use Boolean expressions and how to compare data

4.      Understand the do and the while construct

5.      Be able to use the for construct

6.      Understand what an iterator is and how to use one

7.      Continue to work on understand the anatomy of a class

8.      Methods, methods and more methods!!!

9.      Be able to design a Java class

10.  Understand what constructors are and how to use them

11.  Understand the relationship between Java objects

12.  Understand method overloading

 

Reading Assignments:

1.      Textbook – Chapters 5 and 6

2.      Power Points – Chapters 5 and 6

 

Laboratory Assignment

1.      Laboratory 3

 

Wrap up Assignment

1.      Quiz 3 

 

Module 4: Arrays and ArrayLists                 

            Learning objectives:

1.      Understand how to use arrays in Java

2.      Understand alternatives (ArrayLists, etc)

3.      Become familiar with the Java Collections API

4.      Understand how to read JavaDocs 

5.      Understand how to use JavaDocs

 

            Reading Assignment:

1.      Textbook – Chapter 7 Power Points

 

Laboratory Assignment

1.      Laboratory 4  

 

Wrap up Assignment

1.      Quiz 4 

 

 

Module 5:  Advanced Inheritance Topics and Interfaces

            Learning Objectives:

1.      Understand class hierarchies and the ramifications

2.      Understand method overriding

3.      Be able to design for inheritance

4.      Understand the concept of interfaces and their use

5.      Be familiar with common searching and sorting algorithms

6.      Understand designing for interfaces

 

Reading Assignment

1.      Textbook – Interface material from Chapter 6

2.      Chapters 8  and 9

3.      Power Points – Chapters 8 and 9

 

Laboratory Assignment

1.      Project 5

 

Wrap up Assignment

1.      Quiz 5 

 

Module 6:  I/O, Exceptions, More on Inheritance

Learning Objectives:

1.      Understand how to read and write text files

2.      Understand how to read and write object oriented serialized files

3.      Understand how to write JavaDocs

4.      Understand inheritance!!!!!!

 

Reading Assignment

4.      Textbook – Chapter 10

5.      for Java IO information, see JavaIO.pdf

6.      Power Points – Chapter 10

7.      for information on creating Javadocs.  Look at JavaDoc.doc

8.      http://java.sun.com/j2se/javadoc/writingdoccomments/index.html

 

Laboratory Assignment

2.      Project 6

 

Wrap up Assignment

2.      Quiz 6 

 

 

 

Module 7:   Java GUI Programming

            Learning Objectives:

1.      Understand the concept of Java graphics

2.      Describe Java components and containers

3.      Understand how to nest components

4.      Understand how to use images in Java GUIs

5.      Be able to add buttons and text fields to your Java GUI

6.      Be able to use Java dialog boxes

7.      Be able to add check boxes and  radio buttons

8.      Be able to understand the various layout managers

9.      Work with Java border types

10.  Understand containment hierarchies

 

Reading Assignment

1.      Textbook – 3.9-3.11, 4.6-4.8, 5.11-5.12, 6.10-6.13

 

Laboratory Assignment

1.      Project 7

 

Wrap up Assignment

1.      Quiz 7

 

Module 8: Design Patterns

            Learning Objectives:

1.      Understand the concept of reusable components

2.      Be able to recognize simple design patterns

3.      Understand the concept of using simple design patterns

 

Reading Assignment

1.      Design Patterns - handout

 

Laboratory Assignment

1.      Project 8

 

Wrap up Assignment

1.      Quiz 8

 

Class Policies and Procedures

 

PLAGIARISM/CHEATING

Cheating is the actual or attempted practice of fraudulent or deceptive acts for the purpose of improving one's grade or obtaining course credit; such acts also include assisting another student to do so. Typically, such acts occur in relation to examinations, projects, labs, or homework.  However, it is the intent of this definition that the term “cheating” not be limited to above listed situations only, but that it include any and all actions by a student that are intended to gain an unearned academic advantage by fraudulent or deceptive means. Plagiarism is a specific form of cheating which consists of the misuse of the published and/or unpublished works of others by misrepresenting the material so used as one's own work.  Penalties for cheating and plagiarism range from a 0 or F on a particular assignment, through an F for the course, to expulsion from the college. Plagiarism can include submitting a paper written by someone else as your own;

-written by means of inappropriate collaboration;
-written by you for another course, submitted without the permission of both instructors;
-purchased, downloaded, or cut and pasted from the Internet;
-or that fails to properly acknowledge its sources through standard citations.

 

NOTE ON COURSE MATERIALS

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.  

 

 HONOR CODE

Virginia Western Community College will not tolerate any form of dishonesty including cheating, plagiarism, knowingly furnishing false information to the college, forgery, or alteration or use of college documents or instruments of identification with intent to defraud. All students are expected to abide by the honor code and may be required to sign a pledge on their work such as:
Pledge: On my honor, I have neither given nor received aid on this assignment/test/exam.

 

 SUPPORT SERVICES AVAILABLE/DISABILITY STATEMENT
Questions or concerns about the college's and student's rights and responsibilities regarding persons with disabilities may be directed to the 504/ADA Coordinator located in the Resource Learning Center.  Any student with a disability or other special circumstance requiring academic accommodations or other consideration in order to successfully complete the requirements of this course is requested to identify himself/herself individually to the instructor and to discuss this matter in a private and confidential manner." 

 

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.