ITP 120  Java Programming I (4 credits)

DL (Virginia Tech or instructor permission students only)

Virginia Western Community College

Fall 2010

 

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.  You will need permission to register for this section of the class.  Email you instructor (dwolff@virginiawestern.edu) for more details on the class.  Also email Lacey Carey (lcarey@virginiawestern.edu) specifically telling her that you are a Va Tech MIT program and wish to register for this section of the class.  She will give you further instructions.

If you have any problems with registration, call Lacey Carey at 540-857-7272.
Fall registration begins June 1st  !

 

Important Dates:

First Day of Classes  August 23rd

Last Day to Register/Add a Class August 29th

Last Day to Drop and Receive a Refund September 9th

Last Day to Withdraw Without Grade Penalty October 28th

Last Day of Classes  December 11th

 

Cost:  This course is a four credit class.  Projected costs for fall courses at VWCC are about $103/credit hour for Virginia residents. Special distance learning out of state rates for non-Virginia residents applies to this class and is about $200/ credit. DO NOT LET THEM CHARGE YOU THE FULL OUT OF STATE RATE which is $285. 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 How to Program: Early Objects Version, 8/E , Deitel & Deitel, ISBN-13: 9780136053064.  MAKE CERTAIN TO GET THE 8TH EDITION. Deitel and Deitel put out many Java books so make certain that the ISBN matches. You will not need anything specific off of the CD, so if you can find a used book that does not have it, you will be fine.

Getting started: email your instructor!!!

 

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

Module 1          Saturday, Sept 4th          

            Module 2         Saturday, Sept 18th

            Module 3         Saturday, October 2nd

            Module 4         Saturday, October 16th            

            Module 5         Saturday, October 30th

            Module 6         Saturday, November 13th

            Module 7         Saturday, November 27th        

            Module 8         Saturday, December 11th

            Project             Saturday, December 11th        

             

 

Adobe Connect Sessions

            There will be Adobe Connect sessions for each module that will help you get started.  These will typically be held the Monday after the previous module is due and will be held at  7:30 PM.  These will be recorded if you cannot “attend”.

Module 1          Monday, August 23rd  

Module 2         Monday, Sept 6th         

            Module 3         Monday, Sept 20th

            Module 4         Monday, October 5th  

            Module 5         Monday, October 18th             

            Module 6         Monday, November 1st  

            Module 7         Monday, November 15th

           

             

 

Grading:

            Introductory survey                                                      10 points

                        (see instructions in portal on how to complete this)            

            8 laboratory assignments @ 40 points each                320 points

            7 quiz assignments @ 25 points each                         175 points

            Project                                                                           50 points

            Comments for each module @ 5 each                          40 points
                                                                                                595 points

            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/eclipse11.zip to get the download.

Instructions for unzipping and use can be found at  http://virginiawestern.edu/faculty/vwwolfd/VT120/eclipse11instructions.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 fall is October 28th. .
  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 December 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.   
  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. There will be an Adobe Connect session for every module.  There will be good information and questions answered during these --- and it is highly suggested that you listen to the recording of them.  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 right after the due date of that module, even if you submit early. 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.  Contact me for more information.
  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 may put comments here and let you make changes with no penalty for the first module and a five point penalty after that.  Remember – I am not grading until the due date so this does not mean you can resubmit and correct normal errors.  You will have the 24 hours  to get it back in with changes.  However, if you do not see this within this time, you will not be allowed to resubmit.
  10.  I also want to improve this course for future semester offerings.  You can help me with improving the class.  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 watch the power point movies.  Do not spend a lot of reading. But as you skim, look at the examples from the text (they will always be found in a file named itp120modx_0910.jar where x is the module number).

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. It will always be named itp120modxstart_0910.jar where x is the module number.  Import the jar file into Eclipse.

4.  Get the lab instructions from the assignment in Blackboard. It will always be named ITP120Lx_0910.doc where x is the module number. 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.).

8.  Complete the instructions and attach the appropriate file type containing 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, 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

 

Wrap up Assignment:

            1.  Quiz 1 

 

Module 2: Constructs and more objects and classes

                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

9.      Be able to use the for construct

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

11.  Understand the logical operators

12.  anatomy of a class

13.  Begin writing your own Java classes

 

Reading Assignment:

1.      Textbook –Chapters 3, 4 and 5  (skip 3.9, 4.14 and 5.10)

 

            Laboratory Assignment:

1.      Laboratory 2 

 

            Wrap up Assignment

1.      Quiz 2 

 

Module 3:   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

 

Reading Assignments:

1.      Textbook – Chapters 6 and 8 (skip 6.13, 8.16)

 

Laboratory Assignment

1.      Laboratory 3

 

Wrap up Assignment

1.      Quiz 3 

 

Module 4: 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.12, 7.15)

 

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 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.      Project 5

 

Wrap up Assignment

1.      Quiz 5 

 

Module 6:  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 (skip 11.13,17.7)

2.      Appendix M

 

Laboratory Assignment

1.      Project 6

 

Wrap up Assignment

1.      Quiz 6  - included with the project so you do not need to turn anything in

 

Module 7:   Java GUI Programming

            Learning Objectives:

1.      Understand how to use the JOptionPane class

2.      Understand the concepts of Java Swing components

3.      Describe Java components and containers

4.      Understand how to nest components

5.      Understand how to use images in Java GUIs

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

7.      Understand Java event handlers and listeners

8.      Be able to use Java dialog boxes

9.      Be able to add check boxes and  radio buttons

10.  Be able to understand the various layout managers

11.  Work with Java panels

12.  Understand containment hierarchies

 

Reading Assignment

1.      Textbook –Chapter 14 (skip 14.11-14.17)

 

Laboratory Assignment

1.      Project 7

 

Wrap up Assignment

1.      Quiz 7

 

 

Module 8: Design Patterns and UML Diagramas

            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.      Chapters 12-13

2.      Appendix P and Q

3.      Various handouts

 

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

It is your responsibility to comply with the full Honor Code and Conduct requirements which are described in the Student Handbook.  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."  The Americans with Disabilities Act of 1990 (ADA), The ADA as amended in 2008, and section 504 of the Rehabilitation Act (1976) provides protection from discrimination for qualified individuals with disabilities. It is the policy of Virginia Western Community College to make reasonable accommodations for qualified students with documented disabilities. These disabilities include but are not limited to physical, psychiatric or learning disabilities. In accordance with federal law, a student requesting accommodations must provide acceptable documentation of his/her disability to a counselor in Student Support Services, located in Student Center suite 102 . You may call SSS for an appointment at 857-7286. It is suggested that students needing accommodations make arrangements early in the semester.

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.

 

The Student Handbook can be accessed at: 

http://www.virginiawestern.edu/student_life/student_activities/student_handbook.html

 

The materials in this course are only for the use of students enrolled in the course for purposes associated with the course and may not be retained or further disseminated.

 

Any student enrolled in a program of study containing 16 credit hours or more may be eligible for financial aid if the student qualifies. The Financial Aid Department is located in Chapman Hall.

 

“One Great Hour” Continuous Alert Referral System

Virginia Western would like for all students to be successful in their classes and as a result has implemented an early alert warning system called the “One Great Hour” Continuous Alert Referral System.   If you have low test grades, sporadic or poor attendance, or other concerns which may affect your ability to be successful in class, you may be referred to Retention Services for assistance.  You will then be contacted to see what assistance may be provided to help you successfully complete the course.  

 

 

If you are ever on campus, please note the following:

 

Campus Safety

To report an emergency, call 911 or campus police at 857-7979.  These numbers are posted on the marker boards in each classroom.

 

1.                Sign up for the VW Alert text messaging system which can instantly send messages to your cell phone, pager, PDA, blackberry and email accounts. The enrollment Web site is https://alert.virginiawestern.edu. This system is a free service for all of our students.

 

2.                You may access the Campus Safety Video from the college’s home page. Go to www.virginiawestern.edu, click on Campus Safety under the center section titled VWCC News.

 

3.                Sources of VW emergency information:  VW TV, IP Classroom Phone Announcements, VW Alert messaging, VW Web site, mass emails, exterior siren alert, exterior emergency phones, campus police, and faculty.  Some of these communication methods require your prior sign up, initiation of communication or monitoring to be effective.

 

4.                The college has a Crisis Management Plan.  Some terms to become familiar with are:

·         Lockdown:  Requires you to secure your location and remain in place until notified by police of “all clear”. Turn off your cell phones ringer and speaker.

·         Shelter-in-place:  Usually weather related.  Move to designated “Shelter” area within your building.  Your instructor is aware of these areas and can lead you to them. Elevators should only be used by individuals with disabilities. Wait in sheltered place for “all clear”.

·         Evacuation:  Not limited to, but typically a fire alarm. Exit according to plans posted next to classroom doorways. Do not use elevators. Follow directions of building coordinator or teacher.  EXCEPTION: If Lockdown is communicated please remain in lockdown unless life threatening events compel you to take action.

 

Please make sure you follow directions and remain with your class so you can be accounted for following an evacuation. Leaving your group or campus will cause problems and could even block public safety vehicles that are providing emergency assistance.

 

 

For cancellations and Delayed Openings due to inclement weather refer to college’s home page at www.virginiawestern.edu or go directly to the following link: http://www.virginiawestern.edu/inclementweather/

 

OPEN COMPUTER LAB

o    Hours TBA

o    No children under age 13 should accompany a parent using a lab, testing center or tutoring center.