CS360 - Client/Server Programming Using Java
Class Times: TTh 9:25 AM - 10.40 AM
Location: Strain 322
This course will introduce you to the basics of client/server programming using the Java programming language. You will be introduced to the basics and fundamentals of networks. You will learn how information travels across networks using TCP and UDP. As part of this course you will also learn how to set up and use the Apache Tomcat web server and the MySQL database management system. Since this course uses Java as the primary programming language, you will gain more experience in object-oriented programming.
Course Goals:
- Gain experience in object-oriented programming.
- Learn to mix and work with different technologies such as web servers, databases and XML.
- Understand the concepts of client/server programming.
- Learn the importance of automated testing.
Prerequisite:
- CS250. You should understand the basics of object-oriented programming and be familiar with simple programming concepts such as loops, selection structures and arrays.
Textbooks:
- Primary:
- Java How to Program (Fifth Edition) by Deitel & Deitel Prentice Hall
- Recommended:
- Java Network Programming by Elliotte Rusty Harold O'Reilly
Tentative Grading:
- 6 to 7 Programming Assignments: 30%.
- Final Project: 10%.
- 2 Exams: 35%.
- 1 Final: 25%.
Percent Breakdown:
92-100 |
A |
|
90-92 |
A- |
|
|
|
88-90 |
B+ |
|
82-88 |
B |
|
80-82 |
B- |
78-80 |
C+ |
|
72-78 |
C |
|
70-72 |
C- |
68-70 |
D+ |
|
60-68 |
D |
|
|
|
0-60 |
F |
|
|
|
|
|
|
Dates of Exams:
-
Midterm 1: Thursday, March 14, 2004.
-
Midterm 2: Thursday, April 15, 2004.
-
Final Exam: Thursday, May 13, 2004.
Course Notes and Assignments:
WEEK 1
|
Tuesday
February 3, 2004
|
Introduction to Java: html - pdf - ppt
- History of Java
- Java Runtime Environment (JRE)
- Your first Java application
- Java API
|
Chapter 2
|
|
Thursday
February 5, 2004
|
Java Applets: html - pdf - ppt
- Examples of applets
- Difference between applets and applications
- Simple HTML
- Your first applet
|
Chapter 3
|
Assign. 1
html - pdf - doc
|
WEEK 2
|
Tuesday
February 10, 2004
|
Methods: html - pdf - ppt
- Using API methods
- Defining and calling your own methods
- A note on scope
- Overloading methods
|
Chapter 6
|
|
Thursday
February 12, 2004
|
Object Based Programming: html - pdf - ppt
- Abstract Data Types
- Writing your own ADTs or objects
- Member access (private, public)
|
Chapter 8
|
|
WEEK 3
|
Tuesday
February 17, 2004
|
Object Based Programming:html - pdf - doc
- Composition
- Garbage collection
- Static and final
|
Chapter 8
|
Assign. 1 Due
Assign. 2
html - pdf - doc
|
Thursday
February 19, 2004
|
Inheritance: html - pdf - doc
- Subclasses and superclasses
- super and protected
- Cloning
|
Chapter 9
|
|
WEEK 4
|
Tuesday
February 24, 2004
|
Polymorphism: html - pdf - doc
- Understand polymorphism
- Abstract classes
- Nested classes
|
Chapter 10
|
Assign. 2 Due
Assign. 3
html - pdf - doc
|
Thursday
February 26, 2004
|
Review and more examples html - pdf - doc
|
|
|
WEEK 5
|
Tuesday
March 2, 2004
|
Exception Handling: html - pdf - doc
- Nested classes
- Using try, throw and catch to handle errors
- printStackTrace method
|
Chapter 15
|
|
Thursday
March 4, 2004
|
Midterm 1
|
|
|
WEEK 6
|
Tuesday
March 9, 2004
|
Multithreading: html - pdf - doc
- Concurrent programming
- Life cycle of threads
- Thread scheduling
- Thread control
|
Chapter 16
|
Assign. 3 Due
|
Thursday
March 11, 2004
|
Multithreading: html - pdf - doc
- Thread control
- Safety and mutual access
- Other thread issues
|
Chapter 16
Chapter 17
|
|
WEEK 7
|
Tuesday
March 16, 2004
|
Networking: html - pdf - doc
- Files and streams
- Networking with sockets
- Networking basics (TCP, UDP, IP, ports)
|
Chapter 18
|
Assign. 4
html - pdf - doc
|
Thursday
March 18, 2004
|
Networking: html - pdf - doc
- Networking basics (TCP, UDP, IP, ports)
- Networking with sockets
|
Chapter 18
|
|
WEEK 8
|
Tuesday
March 23, 2004
|
Spring break
|
|
|
Thursday
March 25, 2004
|
Spring break
|
|
|
WEEK 9
|
Tuesday
March 30, 2004
|
Networking: html - pdf - doc
|
Chapter 18
|
|
Thursday
April 1, 2004
|
Multicast Java Servers
|
Chapter 23
|
Assign.4 Due
Assign. 5
html - pdf - doc
Coding Standards
htm - pdf - doc
|
WEEK 10
|
Tuesday
April 6, 2004
|
Writing Java Clients
|
Chapter 23
|
|
Thursday
April 8, 2004
|
Java Database Connectivity: html - pdf - doc
- Relational databases
- SQL queries
- MySQL DBMS
|
|
|
WEEK 11
|
Tuesday
April 13, 2004
|
Java Database Connectivity: html - pdf - doc
- Connecting Java with MySQL
- Extracting database metadata
|
Chapter 24
|
Assign. 5 Due
Assign. 6
html - pdf - doc
|
Thursday
April 15, 2004
|
Midterm 2
|
|
|
WEEK 12
|
Tuesday
April 20, 2004
|
|
|
|
Thursday
April 22, 2004
|
|
|
|
WEEK 13
|
Tuesday
April 27, 2004
|
Servlets: html - pdf - doc
- Introduction to servlets
- Setting up Apache Tomcat
- Multi-tier applications
|
Chapter 24
|
Assign. 6 Due
Final Project
|
Thursday
April 29, 2004
|
|
|
|
WEEK 14
|
Tuesday
May 4, 2004
|
|
|
|
Thursday
May 6, 2004
|
Servlets:
- Servlets communicating with databases
|
|
Final Project
html - pdf - doc
|
WEEK 15
|
Tuesday
May 11, 2004
|
Review
|
|
Final Project Due
|
Policies:
-
Programs are to be submitted in the course drop box by 9.25 AM on the day in which the assignment is due.
-
Programs can be turned in 24 hours late with a penalty of 20%. Anything later will not be accepted.
-
The coding standards for this course are attached to the syllabus. You must adhere to these coding standards on every assignment to receive full credit.
-
No early or late exams/finals will be given.
-
No incompletes will be given.
-
The cheating policy is defined in Pacific Stuff & the Pacific Catalog as well as the Academic Policy that each of you signed upon entering Pacific University. Be sure you read or reread this policy carefully. All code written for CS360 is to be an original design and an original implementation. The Web, textbooks, and any other references are simply references for you. Copying source code from any source is prohibited. Further, source code is not to exchange hands in any form or by any medium except when sending your solutions to the instructor. It is OK to share high level ideas during the design phase, help someone in the class fix a bug occasionally, share information dealing with OS issues, debugger issues, in general, development issues that do not involve code writing.
-
All code in any form generated from this course becomes the intellectual property of Pacific University. You may not share this code with anyone without obtaining written permission from Pacific University.
-
Neither computer failure, software failure, nor lack of computer access are accepted as excuses for late programs; therefore, start work on the programs as soon as they are assigned, don't put them off until the last minute. Further, corruption of programs due to bad disk media is also not accepted as an excuse for late programs; therefore, always keep a current backup of all programs on a separate disk.
- The instructor reserves the right to raise or lower a student's grade based on class participation and attendance.
- I do not want to hear any electronic devices go off during lecture; therefore, make sure you silence these devices before lecture starts.
Important Dates:
- February 13: Last day to add and drop courses.
- March 22-26: Spring Break.
- April 9: Last day to withdraw from courses.
- April 15: Final Exam for CS130.
- May 11: Last day of class for CS230.
- May 12: Reading Day.
- May 13: Final Exam, Thursday 12:00 PM - 2.30 PM.
|