
INSS 505 Introduction to Object-Oriented Programming
Kapaun
2002-2003 Term 1
Instructor. Dr. Susan T. Dean
Phone: 06224/929773
Email: sdean@faculty.ed.umuc.edu
Text. C. Thomas Wu, An Introduction to Object-Oriented Programming with Java. (2nd Edition)
Description.
This course will introduce
the principles and techniques of object-oriented programming. This course satisfies the programming
language prerequisite for the M.S. program. No prior programming experience
is assumed.
Objectives. Upon satisfactory completion of the course, students should be able:
To explain the main concepts of the object-oriented programming paradigm as they relate to software development in an MIS environment.
To design, write, and debug programs of moderate complexity using the Java programming language. These programs will incorporate such software constructs as class hierarchies, class inheritance, design of classes, data structures and methods, processing character and array data structures, file input and output, graphical user interface design and event-driven programming, and Java applets.
Course Requirements and grading.
Two midterm exams 15% each
Final exam 30%
Programming projects 40%
All exams will be open-book, in-class. There will be seven programming assignments, with significant effort expected outside of class time. See Topics and Assignments section below for exam and program due dates.
Students will need a Java compiler to complete class assignments. Java 1.2, 1.3, or 1.4 compilers will be satisfactory. Compilers may be downloaded from http://java.sun.com/products/jdk and some are available on CDROM. The Textpad editor is also recommended (http://www.textpad.com/).
Grading Standards. 90-99% A 80-89% B
70-79% C <
70% F
Projected Schedule
of Topics and Assignments
(All references to Wu, Introduction to O-O Programming, 2nd Ed.)
|
Date |
Topics |
Assignment Due |
|
M 19 Aug |
Introduction, Into to O-O Concepts and Java (Ch’s. 1 & 2), Mechanics of Using Java |
|
|
W 21 Aug |
Java Programming (Ch. 3) |
|
|
M 26 Aug |
Classes (Ch. 4) |
ONE of #9-23, pp. 131-137 (Ch.3) |
|
W 28 Aug |
Selection Statements (Ch. 6) |
|
|
M 2 Sep |
Repetition Statements (Ch. 7) |
#16 p. 285 OR #21 p. 287 (Ch. 6) |
|
W 4 Sep |
Midterm Exam 1 – Chapters 1,2,3,4,6,7 |
|
|
M 9 Sep |
Characters, Strings (Ch. 8) |
#22 p. 349 (Ch. 7) |
|
W 11 Sep |
Array Processing (Ch. 9) |
|
|
M 16 Sep |
File Input/Output (Ch. 11) |
ONE of (1) #15 p. 407, (2) #20 & 21 pp. 408-409, (3) #22 & #23 p. 409. (Ch. 8) |
|
W 18 Sep |
Midterm Exam 2 – cumulative, with major emphasis on chapters 8, 9, 11 |
|
|
M 23 Sep |
Sorting and Searching (Ch. 10) |
#3 OR #4 (explain in lab report what would be different with the other choice) pp. 476-477 (Ch. 9), AND in the same program #15 p. 558 (Ch. 11) |
|
W 25 Sep |
Reusable Classes and Packages (Ch. 12) |
|
|
M 30 Sep |
GUI Classes and Event-Driven Programming (Ch. 13) |
#13 p. 518 (Ch. 10). Create and use at least one reusable and packaged class (Ch. 12). |
|
W 2 Oct |
Applets (Ch. 5) |
|
|
M 7 Oct |
Inheritance and Polymorphism (Ch. 14) |
#16 p. 656 (Ch. 13), a GUI modification of #22 p. 349. |
|
W 9 Oct |
FINAL EXAM – cumulative |
|
Late Work
The standard rule is that late programs will be penalized by 10% for each week that they are late.
Attendance
Students are expected to be in class unless it is unavoidable (e.g., TDY, family emergency). If you must miss, you are responsible for getting information from other students regarding what was covered in class (which may well not follow the textbook!), and for submitting assigned work according to the published due dates.
Turn in the following for Each
Assignment
- Program source code (.java) and compiled code (.class) on a floppy disk. The disk should be clearly labeled, including the exact file name used for this assignment if there are other files on the disk. (Assume that you will be without this disk for a week, so don’t give me a disk that contains files you will need sooner than that, and don’t give me your only copy of anything!)
- Printout of the Java source code, and of the results of running the program.
- A brief narrative (use word processing to produce this, please!) describing your experiences in working on this program – the types of errors you encountered, any decisions you made regarding test data (and discussion of why you think this collection of test results is sufficient to demonstrate that the program works correctly), any decisions made during the process of designing your program, etc. If you have received any help with your programming, you should give credit in the lab report. This “lab report” serves two functions – gives you a chance to think about what you have learned from the assignment, and gives me a chance to get some insights about that as well.
Getting help
I will try to check my email every day, and welcome questions via that mode about your programs. Some of you have my Samford University address, but I would prefer to use my UMUC address for all email related to this course: sdean@faculty.ed.umuc.edu
When you send questions via email, please be as specific as possible (e.g., don’t just say it doesn’t work, tell me the text of the error messages or specifically what results you are seeing, from what inputs, that are incorrect). Also, please attach a copy of the .java file(s) and any input data files that I did not give you.
Plan to check the web board frequently, as I will use it to post information of potential interest to all of you. For example, it is possible that as I help solve a problem that one of you has sent via email, I will realize that there is something that I should tell all of you It is your responsibility to check the web board – I will not notify you when I put information there.
We do not have access to a computer lab at Kapaun. I will try to allow time at the end of each class to debug problems that you bring on diskette. Assuming that we have access to a projection device, I will display these for the class to see. This is not intended to be embarrassing, the goal is to learn from our mistakes. Hopefully, everyone will be able to contribute material for these learning opportunities.