Sie sind auf Seite 1von 23

CSE 221

Object Oriented
Programming with Web-
Based Applications
This course will continue with object-
oriented programming and will
introduce graphics, virtual machines,
programming language concepts and
web-based programming using Java.
Course Objectives
 CSE 221 introduces graphics, virtual
machines, programming language
concepts and web-based programming
using Java. Topics include object oriented
design, event-handling methods, Web
technologies, virtual machines, graphical
user interfaces, API programming. This
course uses Java as the object oriented
computer language to complement the
C++ computer language from the
previous programming course in preparing
computer science and computer
engineering majors to meet immediate
Course Objectives
 CSE 221 is the third course in a 3-course
programming sequence. This course extends the
understanding of basic paradigms and concepts
in computer science and computer engineering
with a second course of object oriented design,
classes and subclasses. Web technologies, client-
server computing, common gateway interface
(CGI) programs, client-side scripts, and Java
applets are just a few of the concepts presented
in the third course that stresses the principles of
graphical user interfaces (GUI). The 3-course
programming sequence reinforces fundamental,
intermediate and advanced levels of
sophistication in both C++ classes and Java
classes with GUI in the third course of the
programming sequence.
Course Objectives
 CSE 221 programming assignments
in Java require an understanding of
the entire process of client/server
development. A small-group
semester project must be
successfully completed within time-
lines by following these steps:
interface prototyping, program
design, implementation of both client
and server programs, unit testing,
Primary Outcomes
Upon completion of the course, students
should be able to successfully complete:
 Correctly implement a class in the target
language, including the appropriate use of
public and private methods and data.
 Implement a subclass of the existing class
in order to extend the functionality of the
base class in order to solve the stated
problem.
 Design and implement a reusable
collection class, including iteration, in the
target language.
Primary Outcomes
(continued)
 Create an event-handling program
which incorporates exception
handling.
 Create and manipulate files and
internally stored data structures
containing binary graphical data in
JPG and PNG format.
 Implement his or her own simple
client and server programs using
appropriate inter-process
Primary Outcomes
(continued)
 Create and execute both a client and
a server-side CGI program, including
both GET and POST protocols.
 Write a simple web server program
using standard HTTP protocols.
 Demonstrate an understanding of
issues of security, permissions and
file management with regard to a
client/server system.
Primary Outcomes
(continued)
 Demonstrate an understanding of the
concept of a virtual machine and
intermediate code generation (Java-
specific).
 Create a program using the following
user interface features: text box, list
box, radio buttons, check boxes.
 Write a server-side program which
will translate a client request into a
database query, execute it, and
return the resultant data.
Primary Outcomes
(continued)
 Demonstrate an understanding of the
entire process of client/server
development by following these
steps in the completion of a small-
group semester project: interface
prototyping, program design,
implementation of both client and
server programs, unit testing, and
documentation.
Sample Syllabus
Week Topic
2. Programming with classes. Class
hierarchies. Classes and subclasses.
Collection classes and iteration
protocols.
3. More on classes. Encapsulation and
information hiding. Separation of
behavior and implementation.
Inheritance (overriding, dynamic
dispatch). Polymorphism.
Sample Syllabus
(continued)
Week Topic
2. Designing Java programs. Object-
oriented design. Programming by
example. Component-level design for
reuse. Introduction to component-based
computing.
3. Virtual machine & memory management.
The concept of a virtual machine.
Hierarchy of virtual machines.
Intermediate languages. Garbage
collection vs. other languages. Internal
representations of objects and methods
tables.
Sample Syllabus
(continued)
Week Topic
2. Programming a GUI. Principles of
graphical user interfaces. Using a
graphics API. Simple color models (RGB,
CMYK). API programming. Debugging in
the API environment. Interface
prototyping. Representation of
nonnumeric data (graphical data).
3. Event & error handling. Event-handling
methods. Event propagation. Exception
handling. Unit/integration testing.
Sample Syllabus
(continued)
Week Topic
2. Client-server architectures. The web as
an example of client-server computing.
Web technologies. Characteristics of web
servers. Capabilities of common server
architectures. Role of client computers.
Nature of the client-server relationship.
3. Issues & problems with client-server
computing. Handling permissions. File
management. Web protocols. Security
issues arising from running code on an
alien machine. Remote method
invocations.
Sample Syllabus
(continued)
Week Topic
2. Basic web connectivity. Support
tools for web site creation and web
management. Developing Internet
information servers. Publishing
information and applications.
Server-side program. Common
gateway interface (CGI) programs.
3. Java web connectivity. Applets.
Servlets.
Sample Syllabus
(continued)
Week Topic
2. Java web connectivity (continued).
JavaServer pages. Java Beans.
3. Database connectivity. Use of a
database query language (SQL).
JDBC.
4. Database connectivity (continued).
Use of a database query language
(SQL). JDBC.
Sample Syllabus
(continued)
Week Topic
2. Review and tying everything
together. The range of
specializations within net-centric
computing. Influences of security,
networking, multimedia, windows.
Contexts for HCI (tools, web
hypermedia, communication).
Class Format
Two lecture/labs per week. Each
lecture/lab is 75 minutes.
Evaluation
Evaluation will be by examinations
and programming projects.
Approximately 30-50% of the course
grade will be based on proctored
examinations and the other
approximately 50-70% on
programming projects, both
individual and team contributions,
consisting of either in lab or outside
the lab assignments.
Software Needs
  NetBeans Version 4.1: JAVA
integrated development
environment
 Java 2 Standard Edition
Development Kit (JDK) Version
5.0
 MySQL 4.0.20
 MySQL Connector/J Version
3.0.14
 Apache Tomcat Version 5.0.25
Recommended Textbook
 Java How to Program, 6/E
View Larger Image Harvey M.
Deitel, Deitel & Associates, Inc.
Paul J. Deitel, Deitel & Associates,
Inc.
Publisher: Prentice Hall Copyright:
2005
Format: Paper Bound w/CD-ROM;
1568 pp
Java How to Program, 6/E
Table of Contents
1. Introduction to Computers, the Internet and the Web 
2. Introduction to Java Applications 
3. Introduction to Classes and Objects 
4. Control Statements: Part 1 
5. Control Statements: Part 2 
6. Methods 
7. Arrays 
8. Classes and Objects - A Deeper Look 
9. Object-Oriented Programming: Inheritance
10. Object-Oriented Programming: Polymorphism
11. GUI Components: Part I
12. Graphics and Java2D
13. Exception Handling
14. Files and Streams
15. Recursion
Java How to Program, 6/E
Table of Contents
1.
(continued)
Searching and Sorting
2. Data Structures
3. Generics
4. Collections
5. Introduction to Java Applets
6. Multimedia: Applets and Applications
7. GUI Components: Part 2
8. Multithreading
9. Networking
10. Manipulating Databases with JDBC
11. Servlets
12. JavaServer Pages (JSP)
13. Formatted Output
14. Strings, Characters and Regular
Java How to Program, 6/E
CD Software Contents
 Java[TM] 2 Platform Standard Edition Development Kit,
Version 5.0
 Java Editors and IDEs (Install one of the following)
BlueJ Version 1.3.5
JCreator Lite Version 3.10
jEdit Version 4.1
jGRASP Version 1.7.0
NetBeans(TM) IDE Version 3.6

MySQL(R) Version 4.0.20d


MySQL(R) Connector/J Version 3.0.14
Apache Tomcat Version 5.0.25

Das könnte Ihnen auch gefallen