Object-Oriented Programming
Recommended texts: (there is no required text)
- An Introduction to Object-Oriented Programming,
Second edition
-
UML Toolkit
-
UML Distilled
-
Design Patterns
-
Practical Introduction to Software Design with C++
-
C++ Programming Language
-
On to Java
Exam 3, due 3/9/2001
Online material:
- UML Notation (pdf)
- UML Semantics (pdf)
- Java Tutorial
- HTML
tutorial
- Fill-out forms
- Simple Java I/O
- Writing Servlets
- A Book on Java (version
1, which is completely adequate for this course).
Note: Java does support
general collections classes such as Vectors, Stacks, Hashes.
See
Chapter 8 of book
- Java Software
Development Kit (including the compiler and runtime)
- Book on Objective C (pdf format)
-
Adaptive Object-Oriented Software:
a PWS book, by Karl Lieberherr
This is the book that introduced the Law of Demeter
-
Standard Template Library Page
The STL is a library of C++ classes implementing many
standard data structures.
Note on compiling servlets: Some people have
had trouble compiling servlets because javac does not know where
the Servlet library is (you get messages that HttpServlet is
undefined, etc.)
The only way this can be done (unfortunately!) is to add the
following two lines to the end of your 'c:\autoexec.bat' file
(they should be single lines)(scroll sideways to see the
whole lines!):
set CLASSPATH=.;c:\jdk1.3\lib\dr.jar;c:\jdk1.3\lib\tools.jar;c:\jsdk2.0\lib\jsdk.jar;c:\Program Files\Apache JServ 1.1.2\ApacheJServ.jar;c:\Program Files\Apache JServ 1.1.2\servlets;c:\myjavalib
set PATH=c:\jdk1.3\bin
Then execute this file (or reboot). It's better to execute in case
there are typos. Every subsequent time you boot, these variables
will be automatically set.
CLASSPATH tells the java compiler where to find its libraries (I
added the myjavalib in case you want to create Java libraries of
your own). The PATH variable tells Windows where to find
programs that you intend to execute from the command line
(it might not already exist in your autoexec.bat file because
people rarely run programs from the command-line n Windows.
If you download Java libraries from other sources and want to
use them, add more directories to the CLASSPATH (separated by
semicolins). Note that each '.zip" and '.jar' file is regarded by
Java as a directory so your path names must end
in these file names. '.class' files, on the other hand,
are regarded by Java as ordinary files, so just include the
directories containing them.
Homework assignments
Check this list frequently!
This course teaches the object-oriented paradigm of programming.
It covers several object-oriented programming languages,
including Smalltalk, C++, and Java.
Final grade is based on graded homework, five exams and the
semester project.
- Introduction to objected-oriented programming
- Message-oriented programming model.
- Generic functions
- Classes
- Inheritance
- Multiple Inheritance
- Applications
- Reusable software
- Programming paradigms
- Responsibility-based programming
- Object-oriented languages: Java. How it differs from C++.
- UML.
- Object-oriented languages: Smalltalk.
Team sign up
Page
Programming Projects
Links
Servlet Resources
- Recommended system: This is the older technology
for running Servlets and it is much easier to set up (but it
doesn't support JSP).
- Install Java
Development Kit (including the compiler and runtime)
(JDK) if you haven't already.
- Install Apache for
Windows or Unix in the default location.
-
Java Servlet Development Kit, version 2.0 for Windows or
Unix (JSDK)
Note: You
must use version 2.0 --- earlier or later versions
don't work with JServ.
- Install
Apache JServ 1.1.2 (the *.rpm file nicely installs this
for Linux, and the *.exe file installs to Windows). Install
in the default locations and answer the questions it asks
about the locations of the JDK and JSDK. Also say Yes to the
question of whether you want to run Servlets in conjunction
with Apache.
- If you're running windows, edit two files:
(apache home)\conf\httpd.conf
and
(apache jserv home)\conf\jserv.conf
in the following way: Globally replace
all
occurrences of '\' by '/'.
- After the install, test it by starting up the Apache web
server and starting up a browser. Point the browser to
http://127.0.0.1
You should see the Apache Documentation.
If this works, test servlets by pointing the browser to
http://127.0.0.1/servlets/IsItWorking
You should see a message that it is working.
- Other sources of instructions:
- Cutting Edge System (hard to configure):
Jakarta Tomcat Web Server and Servlet Engine A free
Servlet and JSP Engine for Windows. You must have the sun
Java Development System installed on your machine to use
it. It can run in conjunction with Apache or as a standalone
web server.
User's
Guide (with instructions for installing). You will want
the standalone version of the install.