Final Exam: Friday, April 25 at 7pm
COP 3330-02 Object Oriented Programming
T,R 16:00-17:15
CSB 101
Semester: Spring 2003
Instructor: Ms. Jan Kinzler and Mr. Mat Lowery
Office#:
CSB 207
E-mail: jkinzler@cs.ucf.edu
and mlowery@cs.ucf.edu
Phone:(407)823-0169
Off. Hours: Mat
Lowery: T, R 5:30 to 6:30, CC1-202
Jan
Kinzler M, W 8 to 12, 1 to 2:30.
Assistants:
1.
Paul Smith rsmith@cs.ucf.edu
Office Hours: T
11am to 1pm in CSB 103
2.
Asaad Hakeem ahakeem@cs.ucf.edu
Office Hours: M
5:15 to 7 in CSB 103
TA-Assignment:
- Students whose last-names start with A
through Me are assigned to Paul (rsmith@cs.ucf.edu).
- Students whose last-names start with Mf
through Z are assigned to Asaad (ahakeem@cs.ucf.edu).
- Students have to email their programming
assignments to the assigned teaching assistant.
Open Lab Hours:
Monday 19:00-21:00 in ENGR 187
(Paul Smith)
Tuesday 13:00-15:00
in CCII 225 (Georgiana Hamza-Lup)
Wednesday 17:30-19:30 in ENGR 188 (Zeeshan Rasheed)
Friday
16:00-18:00 in ENGR 188 (Asaad Hakeem)
Textbook :
·
“The Object of Java”, David D. Riley, Addison-Wesley 2002.
References :
·
“Java Software Solutions, Foundations of Program Design”, John Lewis
and Williams Loftus, Addison-Wesley 2001. (strongly recommended – most of my
course notes are based on this book)
·
“Object-Oriented Software Development Using Java”, Xiaoping Jia,
Addison-Wesley, 2000.
·
“The Java Tutorial Third Edition: Object-Oriented Programming for the Internet”, Mary
Campione and Kathy Walrath, Addison-Wesley 2001. Also online at: http://java.sun.com/docs/books/tutorial/index.html
Tentative Course Outline :
WeekNo Topics Covered
1 Introduction to Object Oriented Programming and Java
2 Lexical Elements, Variables, Assg. Stat., Creating
Objects, Simple I/O
3 Control Statements, Boolean Expressions, Loops in
Java
4 Objects & Classes – Instance Methods,
Constructor, Parameter Passing
5 Objects & Classes – Static Modifier, Method
Overloading
6 MIDTERM 1
& Review
7 Arrays, Vectors ,
Strings
8 Exceptions and I/O Streams
9 Inheritance – Extending Classes , Class Hierarchies,
Constructors
10 Inheritance – Interfaces, Extending Interfaces,
Designing Classes
11 MIDTERM 2 & Review
12 Graphical User Interface (GUI)- Containers,
Components, Layout Managers
13 Design
by Abstraction – using abstract classes, interfaces, UML
14 Design by Abstraction, Review for Final
Exam
FINAL EXAM
Grading :
Midterm1
:
25%
Midterm2
: 25%
Final
:
30%
Programming Assignments : 20% (You will have 5 programming assignments)
I may use +/- grades.
Late home-works (maximum three days) will be accepted with a penalty.
You will loose 10% for the first day, 20% for the second day,
and 30% for the third day.
Course Web Page : http://www.cs.ucf.edu/courses/cop3330/spr2003
(Visit this web page regularly)
Lecture Notes :
- Lesson1
(overview) (Chapter 1)
- Lesson1
supplement (OO terminology and Java environment)
- Lesson2
(data types, etc) (Chapter 5)
- Lesson3
(precedence, conversions, etc) (Chapter 5)
- Lesson3supp
(tools)
- Lesson3supp2
(apps vs. applets)
- Logic,
Selection, and Repetition (Chapters 7 and 10)
- I/O
supplement
- Objects
& Classes - Instance Methods, Constructor, Parameter Passing (Chapters 2, 3, 4)
- Instantiation,
binding, aliases, orphans, methods, this (Chapters 2, 4, 6)
- Quiz
#1 Solutions
- Strings
and Arrays (Chapters 6.9 and 12)
- Supplier
Classes (Chapter 6)
- Sample
Midterm #1 Questions
- Sample
Midterm #1 Solutions
- Starting
to put it all together
- More
Sample Midterm #1 Questions
- More
Sample Midterm #1 Solutions
- Inheritance1
(Chapters 8 (excluding 8.5-8.7) and 9)
- Inheritance2
(Same as above)
- Midterm
#1 Solutions
- Inheritance3
(Same as above)
- Inheritance4
(not in book; see Java Language
Specification or try Thinking in Java)
- Exceptions
(not in book; see The Java Tutorial
and Java Language
Specification)
- Input/Output
(Chapter 13)
- Collections
Framework (Chapter 11)
- Graphical
User Interfaces (Appendix D)
- Sample Midterm #2 Questions (Set 1)
- Sample Midterm #2 Solutions (Set 1)
- Sample Midterm #2 Questions (Set 2)
- Sample Midterm #2 Solutions (Set 2)
- Midterm
#2 Solutions
- Graphics2
- UML
(Appendix E)
- UML
supplement (contains same images that are in UML
presentation but are larger)
- Sample Final Exam Questions (Set 1)
- Sample Final Exam Solutions (Set 1)
- Sample Final Exam Questions (Set 2)
- Sample Final Exam Solutions (Set 2)
- Final
Exam Solutions
Programming Assignments :
- Program #1: (Due Thursday, Jan. 30). Write an applet (take advantage of JBuilder for applet and
HTML creation) that takes as input 45 degrees Centigrade (you may
hard-code this input), and converts it to Fahrenheit. Print the Fahrenheit
value using drawString. In addition, include a write-up in
Microsoft Word. In the
write-up, explain the 4 life cycle methods (AKA milestones) that are
called during an applet’s lifetime.
Hint: Look here
for the answers to these questions.
If you are using the JDK (i.e. not JBuilder), your RUN.BAT should
execute appletviewer instead of java. If you’ve already completed the
assignment, then fine. Just
make sure that running instructions are included for the grader to follow
if you do not use appletviewer in your RUN.BAT.
- Solutions: JDK and JBuilder
Java
Environment:
Announcements:
- 2003-Apr-29: Posted Final Exam (curved)
grades under Current Grades. You have until Wednesday (Apr-30) to
meet with me before grades get turned in!
- 2003-Apr-26: Posted Final Exam Solutions under Lecture Notes. Note that the question on page 4 was thrown out (i.e.
everyone got full credit for that problem).
- 2003-Apr-26: Posted Final Exam raw (i.e. not
curved) grades under Current Grades. If you want, email me to set up a
time to review your exam.
- 2003-Apr-26: Posted Program #5 grades under Current Grades.
(Note: Asaad has left
for the semester, so questions normally sent to him should be sent to
Mat).
- 2003-Apr-21: Posted Program #5 Solutions.
- 2003-Apr-18: Posted an important note about incorrect information given
in class on Thursday, Apr. 17.
- 2003-Apr-18: We will follow the final
exam schedule.
Ours is Friday, Apr. 25 from 7pm to 9:50pm in our regular
classroom.
- 2003-Apr-13: Posted Sample Final Exam questions and solutions (two
sets) under Lecture
Notes. Please look
at these before class on April 15.
- 2003-Apr-10: Posted slides from today’s lecture (UML and UML
supplement).
- 2003-Apr-09: Posted Midterm #2 grades under Current Grades.
- 2003-Apr-08: Posted slides from today’s lecture (Graphics2).
- 2003-Apr-08: Posted Midterm #2 Solutions under Lecture Notes.
- 2003-Apr-08: Posted updated Program #3 grades.
- 2003-Apr-04: Posted Program #4 grades under Current Grades.
- 2003-Apr-03: Posted Program #3 grades under Current Grades.
- 2003-Apr-03: Posted samples for GUI under Code Examples.
- 2003-Apr-03: Posted Program #5 specs under Programming
Assignments.
- 2003-Mar-31: Reminder:
Be sure to study Iterators and try-catch for Midterm #2!
- 2003-Mar-31: Posted Program #4 Solutions.
- 2003-Mar-27: Posted evaluating
method invocations supplement under Java Environment. Since I botched
the explanation today, I’ve put up algorithms that hopefully will help
you when evaluating method invocations.
- 2003-Mar-20: Posted Sample Midterm #2 questions and solutions (two
sets) under Lecture
Notes. Keep
watching for possibly more samples.
- 2003-Mar-16: Posted some collection examples under Code Examples.
- 2003-Mar-15: Posted Program #3 Solutions under Programming
Assignments.
- 2003-Mar-06: Midterm #2 will be held Tuesday, April 1, 2003.
- 2003-Mar-06: Posted Program #4 specs under Programming
Assignments.
- 2003-Mar-05: Posted examples for interfaces, exceptions, and file
I/O under Code Examples.
- 2003-Mar-04: Posted today’s notes. None of the stuff we covered today is in the book. However they are important
topics. Please see the
supplements linked next to the slides for more information. Thinking
in Java is a free book.
I don’t know if it covers interfaces but it’s worth a try.
- 2003-Feb-26: Posted inheritance code example under Code Examples. This example makes use of the abstract
reserved word which has not yet been covered in the lectures. It will be covered within a week
at most. You can download and
run it now but you are not expected to understand the code until abstract
has been covered in class.
- 2003-Feb-26: For those interested, added Inheritance versus composition
link under Java
Environment.
- 2003-Feb-26: Posted Midterm #1 Solutions under Lecture Notes.
- 2003-Feb-26: Posted complete listing of Program #2 grades.
- 2003-Feb-25: Posted an INCOMPLETE listing of Program #2 grades under
Current Grades. Your grade might not be listed in
this file. It SHOULD be
listed by Thursday (Feb. 27) at class time.
- 2003-Feb-25: (2:15pm)
Program #3 specs were tweaked slightly (added package
requirements). Please
download again if you downloaded before this time and date.
- 2003-Feb-25: We will follow the final
exam schedule.
Ours is Friday, Apr. 25 from 7pm to 9:50pm.
- 2003-Feb-25: Spring Break is March 17-23 according to the academic calendar.
- 2003-Feb-24: Posted Midterm #1 grades under Current Grades.
- 2003-Feb-24: Posted Program #3 specs under Programming
Assignments.
- 2003-Feb-23: Posted Program #2 solutions under Programming
Assignments.
- 2003-Feb-20: Posted today’s lecture notes.
- 2003-Feb-13: Posted more Sample Midterm #1 questions and solutions
under Lecture
Notes.
- 2003-Feb-12: Posted more links to Java resources under Java Environment.
- 2003-Feb-11: Posted Sample Midterm #1 questions and solutions under Lecture Notes. DISCLAIMER: These questions are only
samples. They are meant to
help you gauge the difficulty and types of questions on the midterm. The instructor may evaluate you on
any material presented in class and, in addition, come up with new
question types.
- 2003-Feb-10: Posted grades for Quiz #1 and Program #1 under Current Grades.
- 2003-Feb-07: Posted Code Examples under Java Environment.
- 2003-Feb-07: Posted Frequently Asked Questions under Programming
Assignments. Keep
watching for updates.
- 2003-Feb-05: Solutions to Quiz #1 have been posted under Lecture Notes.
- 2003-Feb-05: Solutions to Program #1 have been posted under Programming
Assignments.
- 2003-Feb-05: Slide
set on instantiation, etc. should be downloaded again by all
students. (It contained
incorrect information on slide #35.
- 2003-Jan-30: Added TA office hours (not lab hours) under Assistants.
- 2003-Jan-29: Midterm #1 will be held Tuesday, Feb. 18, 2003.
- 2003-Jan-29: Added Program #2 specifications under Programming
Assignments.
- 2003-Jan-28: Added relevant book chapters to right of each slide set
under Lecture
Notes.
- 2003-Jan-28: In-class quiz on Thursday (2003-Jan-30) for extra
credit (about 15 minutes at the end of class). You will not have to write any code for this quiz. You will not need to read code on
the quiz. Although you should
be familiar with the reserved words in Java that have been presented so
far. The quiz is on concepts
that we have discussed in the lectures so far. Material that can be quizzed on stops after the I/O
supplement slides (in other words you can be quizzed on material from the
beginning of the semester through 2003-Jan-23).
- 2003-Jan-24: Added link to J2SE 1.4.1 API Specification under Java Environment.
- 2003-Jan-24: Added link to the Java Tutorial under Java Environment.
- 2003-Jan-24: Edited the specifications for Program #1 to be clearer.
- 2003-Jan-24: Course
Outline is now broken down into weeks, not lectures.
- 2003-Jan-24: All course slides can be found in Lecture Notes.
Current
Grades:
For hard copies of your work (if
applicable) or questions about your grade, see the TA to which you are assigned
during his office hours.
Files below are in Microsoft Excel
2000 format. If necessary,
download a free viewer.
Quiz #1
Program
#1
Midterm
#1
Program
#2
Program
#3
Program
#4
Midterm
#2
Program
#5
Final
Exam (curved)