CIS 180 - Object-Oriented Programming I
Fall 2008
| Instructor |
Dr. Paul Bergstein |
| Office |
302B Dion |
| Phone |
(508) 999-9184 |
| Email |
pbergstein@umassd.edu
|
Office Hours |
| Mon. |
3:00PM - 5:00PM |
| Wed. |
3:00PM - 4:00PM |
| Fri. |
11:00AM - 12:00PM |
|
|
|
Teaching Assistant |
Harmeet Chawla |
| Email |
hchawla@umassd.edu |
Tutoring Hours |
| Dion 303 |
| Mon. |
10:00AM - 12:00PM |
| Tue. |
4:00PM - 6:00PM |
| Thu. |
4:00PM - 6:00PM |
|
|
Course Objectives
- To obtain a basic understanding of the virtual computer.
- To develop an understanding of the principles of the object
paradigm.
- To learn the concept of programming by contract.
- To learn an object-oriented programming language.
Course Description
Basic concepts in programming, and introduction to the object
paradigm. The course introduces the concept of the object paradigm and
teaches how to design and implement simple programs in an
object-oriented language. The course also covers the basics of how to
use a computer and basic software tools in the process of developing
programs.
Textbook
-
Java, Java, Java!, Third Edition, Prentice Hall, 2006, by Ralph Morelli and Ralph Walde
Programming Tools
We will be using the Eclipse IDE for Java Devleopers in the Department's computer
laboratories. You can download the software for free for your own computer. (You do not
need the Enterprise Edition (EE) versions.)
- First, download and install JDK 6 Update 7 from
java.sun.com/javase/downloads/.
- Next, download and install Eclipse
IDE for Java Developers from www.eclipse.org/downloads/.
On-line Resources
Other Resources
- Tutoring for CIS-180 is available in 303 Dion during posted
hours.
- Additional tutoring is available by appointment in the
Science and Engineering Center, Group II, Room 217
Grading
- 15% Midterm Exam #1 (a practice exam is available.)
- 15% Midterm Exam #2 (a practice exam is available.)
- 20% Final Exam (a practice exam is available.)
- 25% Laboratory Project
- 25% Homework Assignments
The letter grades will be assigned using the following
approximate scale: (A+,A,A-)[100-90], (B+,B,B-)[90-80],
(C+,C,C-)[80-70], (D+,D,D-)[70-60], and F[60-0]. Academic dishonesty
will be "rewarded" with a grade of "F". "Sharing" of solutions to
homework problems is strictly prohibited.
Student Responsibilities
- To attend class regularly and on
time. If a class is
missed, find out from another student, and/or the professor, what
transpired.
- To participate regularly and
intelligently in class.
- To come to class prepared. Bring
whatever materials are
required for participation and note taking. Complete assignments,
including reading, in advance.
- To seek clarification of unclear
points or assignments in
class by asking questions about them as soon as the difficulty occurs.
- To seek extra help during office
hours as soon as it is
needed.
- To complete all required work on
time. In the event that
an exam
must be missed, or required work cannot be completed on time, due to
illness or other serious and unavoidable circumstance, to notify the
professor as far in advance as possible by phone or
email.
- To take responsibility for your
own learning. The
university and the CIS Department offer tutoring and other forms of
assistance, but the student must take the initiative.
- To deal courteously with the
professor, teaching
assistants, and other students.
- To behave responsibly and
ethically. Not to cheat,
sabotage other students, or maliciously disrupt the learning process in
any way.
- Not to suffer in silence, but to
bring any grievance to
the professor promptly.
Course Outline
| Week Of |
Topics |
Reading |
Homework |
Lab |
Notes |
| 9/1 - 9/5 |
Intro to Computer Science, Software Lifecycle |
Ch. 0 |
|
No Lab |
No Mon. classes |
| 9/8 - 9/12 |
Object-Oriented Programming, UML |
Ch. 0 |
HW #1 |
Lab #1 |
|
| 9/15 - 9/19 |
Program Design, Java Basics |
Ch. 1 |
HW #2 |
Lab #2 |
|
| 9/22 - 9/26 |
Working with Objects |
Ch. 2 |
|
Lab #3 |
|
| 9/29 - 10/3 |
User Interface Design
Midterm Exam 1 (Friday)
Practice Exam |
Ch. 4 |
HW #3 |
Lab #4 |
|
| 10/6 - 10/10 |
GUI's, Inheritance, Interfaces |
Ch. 13, 8.2, 8.3 |
|
Lab #5 |
|
| 10/13 - 10/17 |
Variable and parameter details, reference types, scope rules |
Ch. 3 |
HW #4 |
No Lab |
Monday holiday. Follow Mon. schedule on Wed. |
| 10/20 - 10/24 |
Data types and Operators |
Ch. 5 |
|
Lab #6 |
|
| 10/27 - 10/31 |
Conditionals |
Ch. 3.6, 6.10 |
|
Lab #7 |
|
| 11/3 - 11/7 |
Review
Midterm Exam 2 (Friday)
Practice Exam |
Ch. 6 |
|
Lab #8 |
|
| 11/10 - 11/14 |
Strings, Vectors |
Ch. 7, 9.10 |
|
Lab #9 |
Tuesday holiday. |
| 11/17 - 11/21 |
Loops |
Ch. 11 |
|
Lab #10 |
|
| 11/24 - 11/28 |
Arrays, 2D Arrays |
Ch. 9.1 - 9.4, 9.7 |
|
No Lab |
No Thu. or Fri. classes |
| 12/1 - 12/5 |
Searching and Sorting |
Ch. 9.5, 9.6 |
|
Lab #11 |
|
| 12/8 - 12/12 |
Efficiency, Big-Oh Notation |
|
|
Project Demos |
|
| Tue. Dec. 16 |
Final Exam, 11:30AM - 2:30PM
Practice Exam |
|
|
|
|