CMSC 220:  Java Programming

 

 

Instructor:  Dr. R. P. Webber

 

Office location and hours:  East Ruffner 332.  Hours MWF, 11 - 11:50; MF 2 - 2:50; T 1:30 - 2:20; and by appointment or coincidence.

Telephone:  395-2192

 

Email:  webberrp@longwood.edu

 

 

Course description and prerequisite:  Syntax and semantics of the Java programming language with applications to graphical user interfaces and web programming.  Prequisite:  Knowledge of another programming language.  3 credits.  

 

Text:   Cohoon and Davidson, Java 5.0 Program Design.  McGraw Hill, 2004.  ISBN 0-07-296113-9.

 

Course objectives:

 

  1. Master the basic syntax of Java.
  2. Demonstrate good program design.
  3. Implement concurrent algorithms.
  4. Use Java applets in web programming.
  5. Incorporate a graphical user interface into a program.
  6. Implement exception handling routines.

 

 

Course requirements and grading:

 

Two tests …………….…………………………...……..12% each

Assignments……………………………………………...60%

Exam .…………..……………………………………….16%

 

90-100 A; 80-90 B;  70-80 C;  60-70 D;  below 60 F

 

 

Assignments:  Unless otherwise specified, assignments are to be done individually.  You may help each other debug work, but each person is to key in his or her own program, and each person must submit each assignment individually.  For programs, hand in

 

-         a printed copy of the program and output  (unless the teacher specifies otherwise)

-         a listing of any input used

-         external documentation as appropriate, including pseudocode and an account of testing

 

Non-programming assignments may be done in small groups, depending on the teacher’s instructions.  The tests and exam will be taken individually and are closed book. 

 

Each assignment will have a due date.  It is due by the beginning of class on that date.  Failure to hand it in on time will result in a penalty of 25% for each class day it is late.  No assignment will be accepted after the scheduled exam period for this course for any reason.  Click here to see the rubric for grading programs.

 

 

Tentative Schedule:

 

Week 1  Jan 17 – 19

Ch.1, 2:  Introduction, history of Java, basic syntax

Week 2  Jan 22 – 26

Ch. 3, 4:  Objects, classes

Week 3  Jan 29 – Feb 2

Ch. 5,6:  Decisions, iteration

Week 4  Feb 5 – 9

Ch. 6:  External files

Week 5  Feb 12 – 16

GUI Interlude 1

Week 6  Feb 19 – 23

Ch. 7:  Methods and parameters

Week 7  Feb 26 – Mar 2

Ch. 8, 9:  Arrays, inheritance

Week 8  Mar 5 - 9

TEST, Ch. 9: Polymorphism

Spring Break

 

Week 9  Mar 19 – 23

GUI Interlude 2

Week 10  Mar 26 – 30

Ch. 10, 11:  Exception handling, recursion

Week 11  Apr 2 – 6

Ch. 11, 12:  Recursion, threads

Week 12  Apr 9 – 13

Ch. 12:  Threads, TEST

Week 13  Apr 16 – 20

Appendix D:  Applets

Week 14  Apr 23 - 27

Review and catch up

 

 

Attendance Policy: Your attendance is expected at all classes.  Makeup tests will be given reluctantly, and then only upon presentation of a doctor’s excuse.  Makeup tests are always more difficult than regular tests, regardless of the reason of absences. 

 

Honor Code:  The teacher subscribes to the Longwood College Honor System, which, among other things, assumes you do not cheat and that you take responsibility to see that others do not.  Infractions will be dealt with harshly.  A student who is convicted of an Honor Code offense involving this class will receive a course grade of F, in addition to penalties imposed by the Honor Board.

 

Computer:  Each student in the class will be assigned an account on Longwood’s LINUX system.  You may do your programs on this system.  You may want to get a copy of Java on your PC.  I recommend Sun Java.  It is free, and instructions for downloading it will be distributed in class.  You may use other versions of Java if you wish, but you will not be able to get help from me in implementing them.  Programs must run correctly on Longwood’s LINUX Java or on Sun Java to be acceptable for this class.