CURRICULUM PROPOSAL FORM #3
UNIVERSITY OF WISCONSIN-WHITEWATER
NEW COURSE


Effective: Fall 2001 If adding a Graduate component to an existing course, check here ___
Course Number: * 765-172   Cross Listed Number:  
Course Title: Introduction to Object-Oriented Programming in Java  
(limited to 65 characters)
 
15 Character Abbreviation: O-O Java Prog.
25 Character Abbreviation: Intr to O-O Prog. in Java

 
Sponsor: Robert Bryan   E-mail Address: bryanb@mail.uww.edu
Department: Mathematics/CS   College: Letters and Sciences
         
Co-sponsor: Athula Gunawardena   E-mail Address: gunawara@mail.uww.edu
Department: Mathematics/CS   College: Letters and Sciences
  * You MUST verify course numbers with Registrar's Office prior to submitting (x1211)

 
Other Programs Affected: None

 
Check if course is to meet any of the following requirements:
_x_ None __ Writing __ Computer __ Diversity __ General Ed and Area  

 
Credit/Contact Hours: (per semester)
Total lab hours: 0   Total lecture hours: 48
Number of credits: 3   Total contact hours: 48

 
Check if course is repeatable: x No _ Yes (if yes, answer the following questions)
  • No of times in major 
    No of credits in major  
  • No of times in degree 
    No of credits in degree  

 
 
Enter the appropriate titles if the course is required in any of the following:
Major Title(s) MATH/MCS        
Minor Title(s) Computer Science        
Emphasis Title(s)          

Course justification:
The Department of Mathematical and Computer Sciences voted to replace its current offering of four or five sections per semester of 765-171, Introduction to Programming, currently taught in Pascal, with one to two sections of each of three Introduction to Programming courses, each taught in a different language. This course is the offering in the Java programming language and will be the one among the three versions of Introduction to Programming in which the approach is wholly object-oriented. This change reflects the diverse audience served by the present 765-171, many of whom become MCS majors, but some of whom take the course as part of a Minor in Computer Science or for some other reason.

Relationship to program assessment objectives:
Teaching programming is in large part teaching problem-solving skills. Learning to solve problems in the object-oriented setting requires students to deal with abstract concepts and to handle the complexity of large programming problems by learning to form solutions abstractly. At the same time students will be acquiring a very marketable and useful skill, all of which are among the department’s assessment objectives.

Budgetary impact:
None. As this course will replace sections of a course currently being staffed by faculty in the department, since the department currently has several members who would be able to teach the proposed course, and since Java with an adequate development environment is both installed in McGraw and available to students as freeware or shareware, no additional resources would be required to offer this course.

Course description:
This course will give students the essentials of object-oriented programming in Java. Students will learn to formulate algorithms, to solve problems and to implement those solutions with a Java program that employs objects and classes. The student will be introduced to object-oriented design, applications and applets, class construction, methods and message passing, arrays, string-processing, file processing, and some event-handling and Graphical User Interface programming. This course is designed for students with some prior programming experience.

Course requisites:
Prerequisite : 1) 760-152 or 760-143 or concurrent registration in 760-253 and

2) 765-171 or equivalent programming experience or consent of instructor.


If dual listed, list graduate level requirements for the following:

1. Content (e.g., What are additional presentation/project requirements?)
2. Intensity (e.g., How are the processes and standards of evaluation different for graduates and undergraduates? )

3. Self-Directed (e.g., How are research expectations differ for graduates and undergraduates?)


Course objectives and tentative course syllabus:
This course is meant to introduce computer programming and cover the traditional topics in a first course in programming in an object-oriented setting and using the Java programming language.
 

Tentative weekly syllabus :

Week 1: Introduction to objects, classes, and methods

Week 2: Problem-solving with objects , classes, and methods

Week 3: Constructors, accessor and mutator methods, the toString method

Week 4: Receiver objects of messages; scope and access issues

Week 5: Decision control structures in Java

Week6: Repetition control structures in Java

Week 7: Class relationships; code reuse through containment and inheritance

Week 8: More on inheritance; inheriting implementation vs. interface

Week 9: Arrays

Week 10: Array-based algorithms; multi-dimensional arrays

Week 11: String-processing in Java

Week 12: Graphics and Java2D

Week 13: File access in Java; processing sequential files

Week 14: Basic Graphical User Interface Components

Week 15: Event-handling and GUI programming in Java
 

Bibliography: (Key or essential references only. Normally the bibliography should be no more than one or two pages in length. Indicate current library holdings by placing an asterisk [*])

* Deitel H. M. and Deitel P.J. Java How to Program , Prentice Hall, 1999.

*Gosselin, D., Guide to Java Script—Comprehensive, ITP, 2000.

Lambert K. A. and Osborne M., A Framework for Programming and Problem Solving, Brooks/Cole Thomson Learning , 2000.

*Lambert K. A. and Osborne M., A Framework for Program Design and data Structures, Brooks/Cole Thomson Learning , 2000.

*Morelli, R. , Object-Oriented Problem Solving, Prentice Hall, 2000.

*Sahni S., Data structures, algorithms, and applications in Java, Boston : McGraw-Hill, 2000.

Savitch W., Java: An Introduction to Computer Science and Programming, Prentice Hall, 2000.

* Wigglesworth J. and Lumby P., Java Programming : Advanced Topics, Course Technology, 2000.

Notes: