CS302
provides instruction and experience in the use of an object-oriented programming
language (currently Java). Emphasis is on program design and development
of good programming style. This course is intended to prepare students
for other Computer Science courses. Prerequisites include: Problem solving
skills such as those acquired in a statistics, logic, or advance high school
algebra course; or consent of instructor. CS302 is open to Freshmen.
Difficulty:
CS302
can be a very challenging course.
Don't
be misled by the course name, Introduction to Programming. Consider
CS302 to be like a 300 level math course. The course requires students
to have strong problem solving skills and to take considerable time outside
of class.
Course Work:
There
are lessons, programming assignments, self-check quizzes, and exams.
Lessons
are programming and/or written work that focuses on specific concepts.
Programming
Assignments are comprehensive programming projects that require substantial
time and effort.
Self-Check
Quizzes are written work that are intended to help you prepare for
exams.
Exams
are the primary tool used for evaluating students' performance. There are
two midterms and one final exam.
Collaboration
on assignments is allowed, but collaboration may cause one
to do poorly in the class. The lessons and assignments are intended to
give students the practice and experience necessary to understand the course
material. We expect that all students have done their own work, and we
test students' knowledge of the lessons and the assignments on the
exams.
|
Main CS302 Web Page: http://www.cs.wisc.ed/~cs302/.
Text Book Web Page: http://www.mhhe.com/wu3/.
Here is a glossary of terms partially borrowed from another class, but that may be useful for you in 302.
Here are naming conventions for classes, object references, methods, and class constants.
Here is a recently made supplement web page that takes a comparative, complete, and yet top-down approach to writing classes, methods, and data in programs.
Here is an incomplete listing of some reserved words in JAVA.
This table of numerical primitives can be found in you8r text book on page 86.
Here is a table of visibility modifiers that show the progressive levels of protection for classes.
Here is a page that describres the 16 different members that a class or an object can have, indicates the keyword used to desginate them as such, and explains how to draw them in class/object diagrams
Here is a page that exemplifies operations with differing numeric types and some example problems at the end involving order of precedence rules.
Finally! A step-by-step walk through of creating an instantiable class, called From Analysis To Coding. And just to see how it works, heres an example of the whole process, for one of the examples below, the Beverage class.
Fun with memory diagrams! Follow the coputation line by line and see how the diagram changes to reflect changes of the objects involved and their references.
Here's a slighlty more helpful Input and Output (io) reference page than
what either your book or the online notes have. Keep in mind that anything in the online notes
are the official reference, but this link here may help to clarify the subject.
|
| Link To Example |
Description |
Exemplifies |
Author |
| Point |
a simple 2-D Point class definition and a small program that experiments with multiple constructors and the accessors and mutators, also includes one class method |
class/object diagram, class methods, accessor and mutators, multiple constructors, toString() method, javadoc, System.out.println() method |
Michael Schultz |
| Taxi |
A Taxi class is created based upon a requirements specification that goes around servicing passengers and making money. |
class/object diagram, class constants, instance constants, toString() menthod, javadocs, System.out.plrintln() method |
Michael Schultz |
| Beverage |
A Beverage class is defined using many different modifiers. |
the difference between public and private, class and instance, variable and constant |
Michael Schultz |
| MiniatureGolf |
similar to assignment 1, included are all the design documents, object diagrams, and code. The only part
not included is a descriuption of incremental development steps, as those are up to you. |
iterators for collections of objects, control statements |
Michael Schultz |
| Calculator |
A non-instantiable Calculator class that behaves similarly to the Math class |
class/object diagram, non-instantiable classes, class methods, numeric promotion, casting, Math class, javadocs, System.out.plrintln() method |
Michael Schultz |
| BMICalculator |
A program that calculates your body mass based upin your weight and your height |
software engineering life cycle, class/object diagram, incremental development, I/O with javabook package, java.lang.Math class |
Pat Votruba |
| Ice Cream Scooper |
A program which calculates, based on mathematical volume formulas, the number of ice cream scoops that you can obtain from an ice cream tub. |
instantiable classes, java.lang.Math class, I/O with javabook package |
Jim Skrentny |
| Tic Tac Toe |
A Tic Tac Toe game |
class/object diagrams, message-passing diagrams, command line output, javadocs, main method, object reference declarations, object construction, objects as arguments and return values |
Jim Skrentny |
| Playing Dice |
takes user input to decide the number of sides the die will have, then rolls randomly. also has a magic 8 ball feature |
class/object diagram, multiple main classes, java.lang.Math.random() method, I/O with javabook package, multiple constructors |
Jim Skrentny |
|
|
|
|
|
|
|
|
|