Objects First With Java A Practical Intr PDF
Objects First With Java A Practical Intr PDF
COURSE DESCRIPTION
Introduction to algorithms and computer science for students with little or no programming
experience. Using the framework of an object-oriented programming language this course will
cover problem solving, algorithms and object-oriented design. Topics include data, control,
problem decomposition, abstractions, arrays and an introduction to the analysis of algorithms.
COURSE OBJECTIVES
This course will serve as an introduction to computer science: problem solving, algorithms and
programming. The principle paradigm used is that of object-oriented programming; wherein
data objects are responsible for performing data transforming operations on themselves. Object-
oriented design is used to analyze problems and plan solutions. This includes specification,
design, implementation, and testing. Techniques may include encapsulation, polymorphism,
inheritance, templates, virtual functions, and dynamic storage allocation. Java will be the formal
(i.e. programming) language used.
The successful student will, at the conclusion of the course, have gained greater mastery of the
fundamentals of computer science, be a reasonably proficient beginning Java programmer,
understand the fundamentals of O-O principles and design, and be knowledgeable in the use of
many traditional data structures. The traditional data structures studied will (hopefully) include
stacks, queues, lists, sorted lists, and tables.
TOPICAL OUTLINE OF COURSE
A6 - Object interaction - II
FIELD COMPONENT
Computer Science is the study of algorithms. The goal of this field requirement is to aid you in learning
to think algorithmically.
•Each student is required to complete three practica (either Faculty Directed or Independent), at least one
of them before the midterm period.
•An Independent Practicum may be developed as part of a regularly-offered SAS trip, or it may stand
alone.
•If an Independent Practicum is selected, then the student must meet with the instructor prior to arriving
in the port-of-call to discuss his or her approach and objectives.
•All students are required to
1. Keep a journal of their field observations related to the practicum
2. Write a 2 page paper about each of the 3 practica they take.
Journals
Journals should be a record of the students' notes from the field experience related to the practica. The
journal will have a brief summary of the practica the students took, and their experiences relevant to the
topic of the course. In particular you should try to observe a problem with an algorithmic solution.
Paper
The 2 page paper about each field experience should include
- A brief summary of the student’s field notes and a description of the problem uncovered.
- A description of the algorithm you would use to solve the problem.
Examples:
- Given the size of a single brick and the overall dimensions of a pyramid, determine how many bricks
would be needed for the exterior of the pyramid.
- Given a set of ships and their Suez (Panama) canal transit times, what is the most efficient ordering of
the ships through the canal?
- Given a set of cities on wishes to visit in a given country, what is the most efficient order to visit the
desired cities?
- Given a set of actions to be undertaken by a robot (e.g. construction a car) what is the most efficient
order to perform these actions?
SUGGESTED PRACTICA:
ITALY: Rome, Rome and Florence
TURKEY: Istanbul Science Museum (FDP)
EGYPT: Astronomy and the Great Pyramids (FDP)
INDIA: College Visit
THAILAND: Venice of the East and the Grand Palace
VIETNAM: Cu Chi Tunnels
CHINA: Shanghai City Orientation
HAWAII: Pearl Harbor/Arizona Memorial & City Tour
GUATEMALA: Maya Divination Calendar Workshop (FDP)
METHODS OF EVALUATION
The primary methods of evaluation will be the three projects and the final examination. Each
project and the final examination will each contribute 20%. The final 20% will be the from the lab
assignment grades.
Projects, in addition to a completed and documented computer program will also consist of a
“process journal” that each student must keep (and add entries to) as they progress with the project.
These process journals aid students in focusing on the problem solving task in an appropriate
manner. Furthermore, they illustrate to the instructor the problem-solving, problem decomposition,
algorithm creation, and testing methodologies used by each student. For each project, the journal
will compose 5% of the project’s grade.
Furthermore, each project is “open-ended.” The following is an example grading rubric for a
sample project for this course. These rubrics are “published” as part of the project assignment.
In order to earn a:
C: You must have a correctly working program. The single user-controlled avatar (i.e. F) can
successfully be controlled to navigate the game-board; travel up, down, left, and right, without
traveling outside the world's boundaries. (i.e. Attempting to move left while at the left boundary
should do nothing.) The chasing P wander the world randomly until the game ends.
To reach the A level you are highly encouraged to employ one of the following Actor methods:
getIntersectingObjects, getNeighbours, getObjectsAtOffset, and getObjectsInRange - i.e. an
Actor method that requires you to use the List collection class.
REQUIRED TEXTBOOKS