ITP 120  Java Programming I (4 credits)

DL (Virginia Tech or instructor permission students only)

Virginia Western Community College

Spring 2012

 

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.  Go to http://www.virginiawestern.edu/admissions/applyforadmission.html to find the instructions on how to apply, register, and pay.

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

 

Important Dates:

First Day of Classes  January 9th

Last Day to Register/Add a Class January 15th

Last Day to Drop and Receive Refund January 26th

Last Day to Withdraw Without Grade Penalty  March 22nd

Last Day of Classes  April 28th

 

 

 

Cost:  This course is a four credit class.  Projected costs for courses at VWCC are about $130/credit hour for Virginia residents. Special distance learning out of state rates for non-Virginia residents applies to this class and is about $220/ credit. DO NOT LET THEM CHARGE YOU THE FULL OUT OF STATE RATE which is about $320. 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:  Introduction to Java Programming, 8th edition, Comprehensive Edition , Y. Daniel Liang, ISBN-978-013-213080-6.  MAKE CERTAIN TO GET THE 8TH  COMPREHENSIVE EDITION. If you can find a used book, you will be fine.

Getting started: email your instructor!!!

 

Our Schedule for ITP120 Va Tech:             

Module

Adobe Connect Session Sunday 3:00 PM

Reading

Topics (L=Lab  Q=Quiz)

Due Date

Saturday at Noon

1

January 8th

Chapters 1,2

Intro & Elementary Programming

January 21st

2

January 22nd

Chapters 3,4

Loops and Decisions

February 4th

3

February 5th

Ch 5, Chapter 9 (to page 320)

User Defined Methods (L) and Java defined classes and methods (Q)

February 18th

4

February 19th

Chapter 6 plus pages 390-394,708-714

Arrays of Primitive Types (L) & Array Lists of Primitive Types(Q)

March 3rd

5

Friday March 2nd 6:00PM NOTE THE DATE CHANGE

Chapters 8,10

Objects and Classes(L), Associations, and ArrayLists and Arrays of Objects(Q)

March 17th

6

NOTE Will be prerecorded since I will be out of town

Chapters 11,14

Polymorphism(L) and Interfaces(Q)

March 31st

7

April 1st

Chapters 9 (pages 322-330), 13 19 

I/O and Chapters 9 (pages 322-330), 13 19   Exceptions (l) Database (Q)

April 14th

8

April 15th

Ch 21,22

Collection Framework

April 28th

Project

 

Ch 12,17

GUI

April 28th

 

Adobe Connect Sessions

            There will be Adobe Connect sessions for each module that will help you get started.  See schedule above. These will be recorded if you cannot “attend”.

 

Grading:

            Introductory survey                                                                 10 points

                        (see instructions in portal on how to complete this)            

            Laboratory assignments 1-6 @ 40 points each                       240 points

            Quiz assignments 1-6 @ 25 points each                                 150 points

            Laboratory/quiz combo for mod 7 @ 65 each                        65 points

            Laboratory/quiz combo for mod 8 @65 points                      40 points

            Project                                                                                        0 points***  NOTE: You need to do either the lab for mod 7 or the Project but not both.

            Comments for each module @ 5 each                                     40 points
                                                                                                           545 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 March 22nd  .
  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 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.   
  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.  We are changing the book and all assignments this semester so 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_1112.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_1112.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_1112.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.  For example, if your name is Mike Miller, you will need to change the package name to mmilermod3 and send it to me as mmilermod3.jar.

 

Module 1: Introduction to Java Programming
            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 assignment statements and how to write them

 

Reading Assignment:

1.      Textbook – Chapters 1-2 (just skim chapter 1) 

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

 

Module 2: Constructs in Java

                Learning objectives:

1.      Understand program flow

2.      Understand how to program if  and if/else 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.      Understand the logical operators

8.      Understand which loop to use when

 

Reading Assignment:

1.      Textbook –Chapters 3, 4

           

Module 3:   Methods

            Learning objectives:

1.      Methods, methods and more methods!!!

2.      Understand how to define static methods

3.      Understand how to pass parameters to methods

4.      Understand how to use Java’s String, Character, and StringBuffer classes

 

Reading Assignments:

1.      Textbook – Chapters 5, Ch 9 to page 320

 

Module 4:   Arrays and Array Lists

            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 (p203)

4.      Be able to pass arrays into methods

5.      Understand searching and sorting in arrays

6.      Know the disadvantages of using arrays and how ArrayLists solve the problems

7.      Understand how to use the ArrayList methods

 

Reading Assignments:

2.      Textbook – Chapters 6 plus 390-394,708-714

 

NOTE: We are skipping Chapter 7

 

Module 5: Introduction to Objects and Classes, both Java Defined and User Defined                  

            Learning objectives:

1.      Defining classes for Objects

2.      Understanding the Java Class Template

3.      Be able to define and use Constructors

4.      Accessing Objects via Reference Variables

5.      More on static methods and variables

6.      More on visibility modifiers

7.      Passing Objects to methods

8.      Class Abstraction and Encapsulation

 

            Reading Assignment:

1.      Textbook – Chapters 8,10

 

Module 6:  Inheritance and Polymorphism Topics, 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

 

Reading Assignment

1.      Textbook – Chapters 11,14

 

 

Module 7:  I/O, Exceptions, Files, and JavaDocs

Learning Objectives:

1.      Understand Java Exceptions Hierarchy

2.      Understand how to use a try/catch/finally structure

3.      Be able to use the Java File class

4.      Understand how to read and write text files

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

6.      Understand exception handling

7.      Understand how to create JavaDocs

 

Reading Assignment

1.       Textbook – Chapter 9 (pages 322-330), 13,19

 

 

Module 8:  Frameworks and Generics

Learning Objectives:

8.      Understand Java generics

9.      Understand the Collections Framework

10.  Be able to use the Comparator interface

11.  Lists, sets, maps

12.  Queues and priority queues

 

Reading Assignment

2.       Textbook – Chapters 21,22

 

Laboratory and Quiz Assignment (combined)

 

Project:   Java GUI Programming

            Learning Objectives:

1.      Swing versus AWT

2.      Frames

3.      Layout Managers

4.      Adding Widgets

 

Reading Assignment

1.      Textbook –Chapter 12,17

 

Laboratory Assignment

1.      Class Project

 

 

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.