
INSS 505
Introduction
to Object-Oriented Programming
Syllabus -
Harrogate
Term 2 – 2002/2003
Course Times: Tuesdays & Thursdays
1930 – 2230 hrs
Lecturer: Susan
Propst 01423-500564
Email: jon@propst.fsnet.co.uk (if it is time critical, ring me)
B.S. Computer Science, (Duke University – 1982)
M.S. Computer Science, (University of Colorado –
1995)
15+ years in the computer industry working in system design, software development and maintenance.
Office Hours/
Lab hours:
After class/By appointment
Course Description
This course introduces the student to designing and
writing computer programs according to object-oriented principles and
techniques. Students learn the essentials of classes, objects, inheritance,
polymorphism, overriding, and methods. Previous programming experience is not
assumed. The basic concepts of producing and testing a program will be
presented within the object paradigm. The language for instruction will be
Java.
The concepts are presented in the context of MIS, to show how the
object-oriented approach is useful in developing software for operations
support and management information.
Students should expect to spend time outside of class on programming
assignments.
Objectives
Students
who successfully complete this course should be able to:
·
Understand
basic programming concepts such as data types, variables, parameters;
·
identify
and define classes that represent real world items;
·
incorporate
in their programs such object-oriented concepts as data abstraction,
inheritance, polymorphism, and overriding;
·
design,
write, and debug programs of moderate complexity using the Java programming
language;
·
understand
how an object-oriented environment supports graphical user interfaces and
event-driven programming;
·
write
Java applications and use Java applets.
Text:
An Introduction to
Object-Oriented Programming with Java,,
by C. Thomas Wu,
WCB/McGraw-Hill, 2nd edition, 2001.
ISBN 0-07-239684-9
Course Evaluation:
Grades for this course will be based on:
|
Mid-term
exam |
25% |
|
Final
exam |
25% |
|
Programming
Projects |
50% |
|
Total: |
100% |
and will be assigned as
follows:
A 90-100%
B 80-89%
C 70-79%
F Less than 70%
Policies:
Please
refer to the UMUC Graduate Catalog.
Academic
Dishonesty and Plagiarism will not be tolerated. Plagiarized papers, reports, or exams will receive a grade of
zero. This would also apply to a
student knowingly allowing another student to plagiarize their work.
Attendance:
If
you miss a class try to study the materials scheduled for the class and get
notes from a fellow student.
Make-up Examinations: Need to be arranged prior
to absence unless caused by an emergency. In any case, appropriate
documentation will be required.
Lab Time:
I
will conduct lab time outside of the scheduled class time to assist
students. I feel the appropriate use of
time in the lab is for the following:
· Answering specific questions on the subject matter, e.g. questions on specific language syntax.
·
Discussing
algorithms and code solutions in terms of pseudocode.
·
Questions
about course material.
·
Generally
I do not feel it appropriate to debug a student’s program. If you find that
after a considerable time and effort you are still unable to resolve a
compiling error I will try to give you guidance, time permitting.
Student
Responsibilities:
Since this is a graduate level course, students are expected to participate in. I encourage questions commensurate with the level of the course being taught.
You
will get the most out of the class if the assigned chapters have been read
prior to class. All assignments are
expected to be turned in on time – late work will not receive full credit.
Students
are responsible for all material covered in class. If you miss a class, it is
your responsibility to get the class notes from another class mate.
Students
must expect to invest a significant amount of time practicing these concepts in
order to become proficient in programming.
Course Work:
All
assignments
must be typed, and include the student’s name and date of submission.
Programming
Projects:
Programming projects will be designed to help students practice the concepts learned in class. Programs must be well documented. Programs must be complete, extensively tested, and must meet design specifications prior to submission.
Each
programming project will include:
·
Project
description- in your own words
·
List
of all problems encountered while developing your project. Clearly indicate
which problems you were able to solve and which you were not.
·
Any
assumptions you had to make during the project development.
·
A
statement that the program works. A
program is considered to work only when it displays the correct results. You are required to extensively test your
program to guarantee that it meets the standards defined in each assignment.
Tentative Schedule: (Note: Schedule may change to accommodate students’ needs.
The instructor reserves the right to modify the syllabus when needed. )
|
Class |
Topic |
Assignment |
|
1
|
Introduction
to Course Procedures Introduction
to Object-Oriented Programming and Software Development |
Chapters
0, 1 |
|
2
|
Java
Programming Basics |
Chapter
2 (2.1-2.5) |
|
3
|
Numerical
Data |
Chapter
3 |
|
4
|
Defining
Instantiable Classes Due - Programming Assignment 1 |
Chapter
4 |
|
5
|
Selection
Statements |
Chapter
6 |
|
6 |
Repetition
Statements |
Chapter
7 |
|
7
|
Characters
and Strings Review
for the mid term Due – Programming Assignment 2 |
Chapter
8 |
|
8
|
Mid Term Exam (material covered through
class #7) |
|
|
9
|
Arrays |
Chapter
9 |
|
10
|
Sorting
and Searching Due – Programming Assignment 3 |
Chapter
10 |
|
11
|
File
Input and Output |
Chapter
11 |
|
12
|
Reusable
Classes and Packages |
Chapter
12 |
|
13
|
Inheritance
and Polymorphism Due – Programming Assignment 4 |
Chapter
14 |
|
14
|
Processing
Input with Applets |
Chapter
2.6, 5 |
|
15
|
GUI
Objects and Event-Driven Programming Final
Review Course
Evaluation |
Chapter
13 |
|
16
|
Final Exam -- Comprehensive Due - Programming Assignment 5 |
|