COP 2805
Java Programming II

Java II Syllabus
View Weekly Course Schedule   Other interesting links:

Resources  (examples, ...)

  Instructions for Programming Assignment #1.

  Instructions for Programming Assignment #2.

  Instructions for Programming Assignment #3.

  Instructions for Programming Assignment #4.

  Instructions for Programming Assignment #5.
  www.JavaSoft.com - The source for JDK and more.
On-line version of the Java 6 SDK Docs from Sun.
On-line Textbook supplements and Student Resources - Liang's textbook companion website.
TampaJUG.org - Tampa Bay area Java Users Group.
on-line Java Language Reference - the final word on Java; explains obscure language features.
on-line Java Tutorials — Excellent tutorials on all topics, including sample code.
A Java FAQ (Java Glossary), lots of answers.
JavaWorld.com — Online Java Magazine, many great articles in their archives.
on-line training articles from Sun.
IBM Java developerWorks — Large collection of beginner to expert articles on all things Java.
Test your JRE installation here.
ootips.org A large collection of OO tips, techniques, and design patterns.
www.UML.org The site for UML standards, tutorials, and more.  Download ArgoUML, a free UML modeling tool.
Java Certification Programs and Exam Objectives.
Professional Software Engineering certification information (may be required to practice SE in some states).
Java classroom setup directions.

Syllabus

Spring 2010

Cource policies
Time & Place: Ref No. 94820: Tuesday & Thursday, 7:00–8:15 PM, Dale Mabry Room DTEC–427
Instructor: Name:  Wayne Pollock
E-mail:  Internet:
Office & Phone:  DTEC–404, 253–7213.
DM Office Hours:  Monday–Thursday, 3:55–5:25 & Tues., Thurs. 8:20–8:35;
On-line Office Hours:  Wednesday–Friday, 12:00 PM (noon)–1:00 PMor by appointment.
Contact Information
Instant Messenger ID (Yahoo Messenger):  waynepollocklive
Homepage URL:  http://www.hccfl.edu/pollock/
          Yahoo Messenger on-line status - click to chat or leave a message
Text: Y. Daniel Liang, An Introduction to Java Programming, Comprehensive Seventh Edition (includes free Java Reference), ©2009 Pearson Education, Inc.  ISBN: 978-0-13-208494-9.

HCC bookstore on-line

Description: This course is a continuation of COP 2800 (Java Programming I).  The focus is on the development of client-server applications and advanced GUI.  Topics include Java features (such as enums, autoboxing, and generic types), multithreading, collections, files, advanced multimedia and GUIs, internationalization, and web programming (including database use, networking, security, servlets, Java Server Pages, JavaBeans, and Remote Method Invocation).
Objectives: The student will demonstrate a knowledge of the following topics through objective tests, hands-on activities, and projects:
  1. Understand and build applications and applets using advanced object-oriented programming concepts (such as design patterns and basic UML)
  2. Understand and use advanced Java features including reflection, annotations, weak references, enums, and autoboxing and unboxing
  3. Understanding Exceptions, Assertions, and testing (JUnit)
  4. Understanding and using generic collections
  5. Understand how to construct internationalized applications and applets
  6. Understand and build advanced graphic user interfaces (including 2-d graphics and advanced layout techniques)
  7. Understand multithreading concepts and build multithreaded applets and applications
  8. Work with files and I/O, including XML files (including DOM, SAX, and XSLT)
  9. Understand how to digitally sign an applet and applications, and how to grant extra privileges to an applet, and other features of JAR files
  10. Understanding deployment issues and the use of Java WebStart
  11. Describe J2ME concepts and components
  12. Understand how to use databases from a Java program
  13. Printing from a Java application
  14. Understand basic networking concepts and building client-server (web based) applications with servlets and Java Server Pages (JSPs), JavaBeans, and Remote Method Invocation (RMI)
  15. Understand issues and basic design of enterprise applications using Java EE (including such concepts as web-, business-, and EIS- tiers, fat and thin clients, grids and clusters, WARs and EARs, etc.)
  16. Understand and describe enterprise technologies and related services and protocols, including JNDI, JMS, JavaMail, and Web Services ( UDDI, SOAP, and WSDL)
Prerequisite: COP 2800, or Permission of the Instructor.  Students enrolled in a degree or college credit certificate program must complete all prerequisites.
Facilities: All assignments can be performed on any computer that supports Java 6 and the Java 6 EE development tools.  (These include the HCC classroom and Computer Lab computers.)  You can obtain JDK and Java EE from www.javasoft.com, Eclipse from eclipse.org, NetBeans from NetBeans.org, JUnit from junit.org, and Tomcat from apache.org.  (These are all free tools.)  You will need your own floppy/flash disk, writing materials, and three Scantron 882–E or 882–ES forms.  You can use HawkNet (WebAdvisor) or FACTS.org to obtain your final grade for the course.  You can use CampusCrusier for email, college calendars, and course (and college related) resources.

HCC DM Open Lab
Computers are located in the computer science department open lab in DTEC–462.  Lab hours are:
Dale Mabry campus open lab hours
Monday – Thursday8:00 AM to 10:00 PM
Friday 8:00 AM to 8:30 PM
Saturday 8:00 AM to 4:30 PM
Grading:
grading policy
3 equally weighted exams:     50%
Programming projects (about 4):     50%
Classroom participation:     +5%

Grading scale:  A=90-100,   B=80-89,   C=70-79,   D=65-69,   F=0-64
(Or you can elect to audit the class during the add/drop period.)

Policies:
  • No makeup exams will be offered without the prior approval of the instructor.
  • Exams will be closed book and closed note multiple choice exams.  While the exams are non-cumulative, each does build upon knowledge acquired earlier.  Exams are based mostly upon material presented in class however some questions may be from assigned readings (the textbook and on-line resources).
  • Exams will only cover material discussed in class or assigned as reading before the exam.  Should the class fall behind the course schedule, some topics shown on the syllabus due for an earlier exam will be tested on the following exam instead.
  • Regular attendance is imperative for the successful completion of this class.  The textbook and on-line resources should be considered as required course supplements; in other words the course is not based on the text.
  • All phones, pagers, and beepers must be turned off during class time, except with prior permission of the instructor.  No food or drink is permitted in HCC classrooms.
  • Attendance will be taken within 5 minutes of the start of class; after 4 unexcused absences and/or lateness, the student will lose 2 points off the final grade for each additional occurrence.
  • If you miss a class you are still responsible for the material covered in that class.  All students should exchange contact information (name, email address, phone number) with at least one other student in the class.  If you must miss a class, you should then contact another student and request they take class notes for you.  (Note Campus Cruiser has email and discussion board areas for our course.)
  • Credit for class participation includes attendance, preparedness, and adding to class discussions by asking questions and participating in discussions.  Playing computer games, surfing the Internet, or working on assignments for this or other classes during class time will lose you credit.
  • Additional time outside of class will be required.  For typical students an average of between 6 and 10 hours each week outside of class are required for preparation, practice, projects, and homework assignments.
  • Students are expected to prepare for each class by completing all reading assignments, reviewing examples and model solutions provided, and practicing outside of class.  This is important — you can't learn a skill such as Java programming only by attending class and reading books.  You must practice several hours a few days each week!  If you won't have enough time available, consider auditing the course.
  • Students are expected to check the class website regularly.  Any syllabus changes, class cancellations, project assignments, and homework assignments are announced in class and posted to the website and the RSS feed for this class.
  • Working together on individual assignments is considered as cheating!  Turning in someone else's work without giving them credit is also considered cheating (plagiarism).  Cheating will result in an automatic F (zero) for the project for all parties.  Note that some projects may be group projects, where each member of a small group works together on a project.  It is also OK to ask a fellow student for class notes (in the event you miss a class) or for help in understanding the text or material given to the class (e.g., examples on the class website).  It is encouraged to study together as well.
  • You must follow the academic honesty policy for HCC.  A second cheating offense will result in an F for the course, and your name will be turned over to the dean for further handling.  I take these matters very seriously.  You have been warned!
  • Communications Policy:  I will respond to your emails within 48 hours or two business days.  HCC policy is that grades can only be discussed in person during office hours, or via email only if you use your assigned HCC HawkNet (or Campus Cruiser) email account.
  • Every effort will be made to stick to the weekly schedule for our course.  However it may happen that we will fall behind the schedule at some point.  If so no topics will be skipped.  Instead we will attempt to catch up over the following weeks.
  • Please be aware that if we fall behind on the weekly schedule, the topics discussed may not match what shows on the syllabus.  The weekly schedule may (but probably won't be) updated in this case.
  • In the case we fall behind, homework assignments are automatically postponed until we do discuss that topic in class (i.e., the next class).  Projects and in-class exams will not be automatically postponed.  Should your instructor deem it necessary, projects and exams may be rescheduled; this will be announced in class.
  • Hawk Alert text messaging service allows you to receive important information regarding campus closures or emergencies.  You may also sign up for financial aid notifications and registration and payment deadlines.  This is a free service, although some fees may be applied by your cellular service provider or plan for text messages.  To sign up, or for more information, visit www.hccfl.edu/alerts/.
  • No appointment is necessary to see me during my scheduled, on-campus office hours.  You can just walk-in.  You can make appointments for other times as long as I'm available. 
  • Occasionally my office hours will be canceled on short (or no) notice, for example if the dean calls me for a meeting.  Before driving out to campus just for my office hours, you can contact me the night before to make sure I still plan to be there.
  • Late Policies:  Late assignments (homework assignments, projects, or exams) generally will not be accepted.  An assignment is late if not turned in by the start of class on the day it is due.

    Late assignments will be accepted late only if you obtain the instructor's permission prior to the due date of the assignment, or for a documented serious medical reason.  All late assignments are subject to a late penalty of at least one letter grade (10%) regardless of the reason for the delay.

    Projects and homework assignments later than one week will receive a more severe late penalty; very late assignments without adequate excuses will receive a grade of F (0).  However if you have a very good reason your instructor may waive any or all of the late penalty.  (Examples of good reasons include extended illness that prevents working, being out of town for work, or military service.  Remember documentation will be required.)

  • The dangers of the flu or another contagious disease require some changes to normal policies.  HCC is implementing the recommendations for institutions of higher learning of the CDC.  (See www.cdc.gov/h1n1flu/guidance/ and www.flu.gov/ for guidance from the CDC.)  You won't need documentation if you miss class due to the flu.  (But if you think you have the flu, you should see a doctor as soon as you can.)  In the unlikely event of a school closure, some plan to make up the missed work will be made.

    If you think you have the flu, stay home.  Do not come to HCC until 48 hours after your fever has broken as you are still infectious.  Also people are infectious to others for a day or so before they have any symptoms.  Flu is spread by touching doorknobs, computer keyboards, railings on stairs, etc., that were touched by someone with the flu.  Avoid shaking hands; use the fist shake (touching of fists) if you must use a physical greeting.  The most effective way to avoid catching the flu is to wash your hands frequently, especially after touching something that was touched by others.  Avoid unnecessary touching of eyes, nose and mouth.  While not as good as properly washing hands, hand sanitizers have been installed throughout the campus; use them often.

Projects: Projects will be assigned from the class web page at various times.  You will have plenty of time to complete the projects, at least 2 weeks and usually longer.  Although there will be some group programming projects and in-class group exercises, you must work individually on non-group projects, typically outside of regular class hours.

Projects are graded on the following scale:

A = 95% (Excellent: Good design with good comments, style, and extras)
B = 85% (Good: Good design, some comments, readable style, and it works)
C = 75% (Acceptable: Project objectives are met or are close to being met)
D = 65% (Unacceptable)
E = 10-64% (Variable credit: At least you tried)
F = 0% (Didn't hand in the project)

Minor extras worth +5 points, minor omissions or poor design worth -5.

Projects are graded according to their design (25%), how well they compile and run (20%), how well your project meets the requirements specifications (20%), the coding style (15%), the amount (and quality) of your comments (10%), and your creativity in extending the project usefully or an innovative design that uses the features taught in class well (10%).

Projects are not graded when turned in.  They are graded all at once, sometime after the project deadline has passed (usually the next weekend).  Further details will be provided with your first project.  (See also submitting assignments below.)

Submitting Assignments: Most all assignments (except when noted) can be submitted by email to .  Please use a subject such as Java II Project #1 Submission so I can tell which emails are submitted work.  Send only one assignment per email message.  Email your Java source and HTML files by copy-and-paste.  (Please do not send as attachments!)  Note: If you use Microsoft Outlook Express or a similar email program, please be aware that this program has a feature that automatically converts slash-slash (//) comments in your email to FILE://.  Make sure your Java source is correct before you send the email!  If possible, use the text and not the HTML mode of your email program.

In the event a student submits more than once for the same assignment, I will ignore all but the last one received up to the deadline.  Assignments submitted after the deadline will not count toward your grade except as allowed by the course late policy.

The HCC email server automatically accepts and silently discards email with certain types of attachments.  For our class, the problem is with zip attachments, which you need to use for some assignments.

To send email with a .zip attachment, you must first rename the file extension to .zap, and then send the renamed file as an attachment.

To avoid having your submitted work rejected as spam, you can use CampusCruiser to send email to professors.  (This doesn't always work either!)

If you have an email problem you may turn in a printout instead.  Be sure your name is clearly written on the top of any pages turned in.  Please staple multiple pages together (at the upper left).

Academic Calendar
Classes Begin: Monday  1/11/10   (First class meeting: Tuesday 1/12/10)
Add-Drop Ends: Friday   1/15/10
Last Day to Withdraw:  Thursday  3/18/10
Classes End: Monday  5/10/10  (Last regularly scheduled class: Monday 5/10/10)
Grades Available:  Thursday  5/13/10 (from FACTS.org or HawkNet)
HCC is closed on: Monday  1/18/10 (Martin Luther King Day),
Monday  2/15/10 (Presidents' Day),
Friday–Sunday  3/26/10–4/4/10 (Midterm Break),
Thursday  4/15/10 (In-Service Day)

Request For Accommodation

If, to participate in this course, you require an accommodation due to a physical disability or learning impairment, you must contact the Office of Services to Students with Disabilities, Dale Mabry campus: Student Services Building (DSTU) Room 204, voice phone: (813) 259–6035,  TTD: (813) 253–7035,  FAX: (813) 253–7336.  Brandon campus: voice phone: (813) 253–7914.

HCC has a religious observance policy that accommodates the religious observance, practices, and beliefs of students.  Should students need to miss class or postpone examinations and assignments due to religious observances, they must notify their instructor at least one week prior to a religious observance.

 

Quotes on learning
Quotes:         Tell me and I'll listen.
Show me and I'll understand.
Involve me and I'll learn.
    — Lakota Indian saying
        Learning is not a spectator sport!     — Chickering & Gamson

Course schedule for COP 2805

Day by Day Course Schedule
Dates
Tue       Thu
Topics Readings
1/12     1/14 Assign User IDs for LAN, Discuss passwords.  Open Lab procedures and hours.  Review: Applications and Applets, bytecode, Methods, Scope, modifiers, Object Oriented programming.  Graphics, AWT, swing, and SWT.  User interfaces, events, layout managers.  MVC (Model-View-Controller) architecture.  Wrapper classes.  Using BigNum class.  Using bitwise operators.  Using Eclipse Java IDE. Chapters 1–11, 13–17, 35.1–35.4, Liang on-line supplements I-F (Packages),
II-D through II-F (Netbeans and Eclipse Overviews)
.
1/19     1/21 Exceptions review: checked vs. unchecked, using and defining, try-catch-finally blocks.  System.exit, finalizers, and shutdown hooks.
Boxing and unboxing.  Initialization blocks.  static import.  enums.  Annotations.  Covarient return types.  Varargs.  Reflection.
Chapters 18, 11.11, Liang on-line supplements III-K (initialization blocks), III-E (enums), on-line Exception demos, on-line enum, boxing, init. blocks, annotations, covarient, and reflection resources
1/26     1/28  
  2/2
Object-oriented analysis and design.  Using CVS (team programming using a code repository and versioning system).  Introduction to design patterns.  UML.
Project #1 (IDE) due 1/26
Chapters 12, Liang on-line supplements III-N (Design Patterns) and III-W (UML), on-line design, CVS, and UML resources
2/4  
2/9     2/11
Testing, using JUnit.  Using assertions.  Logging for Java.  Management and monitoring of applications and the JVM. Liang on-line supplements III-X (JUnit) and III-O (assertions), on-line testing resources, logging and monitoring demos
  2/15 Presidents' Day  —  HCC closed  
  2/16 Exam #1  
2/18  
  2/23
Generics.  Collections.  Weak/soft references, the garbage collector and Java memory model.
Project #2 (RFP) due 2/23
Chapters 21, 22, 24 (Ch. 25 optional), reference types, on-line Collections resources
2/25  
  3/2
Internationalization (I18n), Encoding (Unicode, UTF-8, ISO 8859-1).  Locales, java.text.*, resource bundles, property files.  System properties.  Using the Preferences API.
Chapter 31, on-line I18N resources
3/4  
  3/9     3/11
Multithreading (Concepts, issues, object locks, synchronized, wait, notify, notifyAll).  Timer classes.
Project #3 (CVS) due 3/11
Chapter 29, on-line Multi-Threading resources
3/16     3/18 Files and I/O (java.io, java.nio), JFileChooser. Chapters 8.6, 19, 34.9, on-line file resources
  3/23 XML (SAX, DOM, XSLT). Liang on-line supplements V-C and V-D (XML), on-line XML resources
3/25   Exam #2  
3/26 – 4/4 Mid-Term Break  —  HCC closed  
4/6       4/8
  4/13
Database access (JDBC), SQL, Using ODBC. Chapter 37, Liang on-line supplement IV-A, -B, -E, -F, -G, -H (databases). on-line database resources
4/15 In-Service Day  —  HCC closed  
4/20     4/22

  4/27
Overview of Java EE design: Web-, business-, and EIS- tiers, fat/thin clients, grids and clusters, applications and web services (SOAP, WSDL, and UDDI).  EJBs.  Other Java EE technologies: JNDI, ... Liang on-line supplement V-A (HTML), on-line Java EE resources
4/29  

  5/3
Installing Tomcat.  Servlets (Handling GET and POST requests, using cookies and session tracking).  JSP.  Deployment: WARs and EARs.  On-line Chapters  39–40, 42.6 (Ch. 41, 42 optional), on-line Java EE resources
5/3   Additional topics (interest and time permitting):
Using advanced layout managers (GridBag, Box, and Overlay and JlayerPane).  Borders.  PLAF.  Toolbars and Actions.  Swing and the MVC (Model-View-Controller) architecture.  JTables (and JTrees).
Networking (URLs, Sockets, UDP Datagrams, Client-Server).  RMI
Java WebStart (JNLP).  J2ME concepts.  Graphics and the Java 2D API: Clipping, transformations, stroking.
Printing in Java.  Java Security: Signed Applets, Policy files, sealed packages.  JDK Security utilities.  The jar utility, jar manifest files.  JavaBeans (Component based software development).
Chapters 33–36, on-line PLAF resources,
Chapters 30, 43, on-line Networking Resources
Chapters 32, Liang on-line supplements III-R (Java 2D), III-S (Adv. Layout managers), III-V, (PLAF), on-line JavaBeans, security, graphics, printing, WebStart, and JavaME resources
5/6   Final Exam  




Class name: COP 2805 (Java II)   Day: Tuesday, Thursday   Time: 7:00 PM

Student Information Sheet

Student Name: ___________________________

Student ID: _____________________________

Phone (optional):  ______________________

Email (optional):  ______________________



Student Certification Statement

I have read and understand all of the information contained in
the syllabus, and agree to abide by the conditions of this course,
especially the following areas  (initial each area):

		_____  Test Policy

		_____  Honesty Policy

		_____  Attendance Policy

		_____  Grading Policy

		_____  Class Conduct

					_________________________________
						Student Signature

 


 

course resources
Resources
Smile Swing Applet Another version of Smile, using ImageIO package.     BigNum.java Demo using java.lang.math.BigDecimal andBigInteger.
Bytecode Demo Bytecode Demo using javap     Pack.java Demo of bitwise operators
ExceptionDemo.java Demo of catching and throwing exceptions        
ShutdownHookDemo.java Demo of using shutdown hooks     Finalizer.java Demo of Finalizers
Student.java Demo of the telescoping constructors pattern     InitBlockDemo.java Initialization block demo
StudentBuilder.java Demo of the builder pattern to replace complex constructors     StudentPQ.java Slightly more complete (production quality) example of Student.java
Enum in Java 5 Tutorial on Java 5 enums     CoinPurse.java Demo of enums
BoxUnbox.java Demo of Java 5 auto-boxing     MetadataDemo.java Java 5 Annotations demo
Covariant.java Clone demo using covariant return type     ReflectionDemo.java Simple Relection Demo
VarArgs.java Simple varargs Demo        
Project Proposal for a voice mail system A project proposal     Object Categories A guide to finding objects
CRC Cards The original paper describing the CRC design method.  (Another example.)     OOD Guide OOA and OOD Study guide
Synopses of Design Patterns A brief description of many Java patterns.     Design Patterns Tutorials, FAQs, and more
ootips.org A large collection of OO tips, techniques, and design patterns.     Top 25 Errors A list of common security-related coding errors, from SANS.org and CWE.Mitre.org
www.UML.org The site for UML standards, tutorials, and more     CVS Tutorial for Eclipse Also see the CVS Tutorial for NetBeans.  Find more at the CVS home page.
UML Resource Center - IBM UML tutorials     How to Design a Program An over your shoulder look at thinking about design
Violet UML Editor Originally written by Cay Horstman, this free Java application (a runnable jar file) is an excellent UML diagram editor     ArgoUML Free UML diagramming tool that can produce code from the diagrams.  (Not well maintained, but there is an Eclipse plug-in for it.)
Dia Free diagramming tool (for UML and a lot more)        
UML Quick Reference (PDF) A excellent reference card showing one each of everything     UML Reference (PDF) A more complete UML reference
Testing Overview Lecture Notes on Testing     Test Case Self-Assessment Attempt to generate sufficient test cases for a simple program
TextKitTestSuite.java Junit Testing Example for TextKit.java class     BankAccount.java Demo using assertions for pre-, post-conditions, invariants
JUnit.org Junit Testing     JUnit API JavaDocs On-line JavaDocs for junit.* package
Java Code Checker PMD can report (likely) logic errors in your code        
LoggingDemo.java Short demo showing Java SE logging API (See also the Java logging tutorial)     Apache logging home Download or read about log4j, logging in general, and the GUI log viewer chainsaw
Java Monitoring tutorial See also Java Management and Monitoring resources     Management and Monitoring Demo Shows how to run a managed application and how to monitor it.  (See also docs for jconsole and jvisualvm tools)
Collections Tutorial from IBM Developerworks Tutorial on using Collections     Generics Tutorial from IBM Developerworks Tutorial on using Generics
CollectionsDemo.java Demo of using various Java 5 collections     Generics Tutorial from Sun (PDF) Tutorial and complete reference to using Generics (See also this easier generics tutorial from Sun)
HashCodes Steps to create your own hashCode methods     GenericDemo.java Demo of a generic method
RAM layout Shows how primitives and objects are referenced.     ReferenceDemo.java Example of weak and soft reference use
GenericRefDemo.java Demo of a generic Cache class that uses SoftReferences, and a demo of WeakHashMaps        
Java (HotSpot JVM) non-standard option reference Describes the non-standard options, useful to improve performance (of the garbage collector for example)     Java 6 Garbage Collector reference Discusses the various GC algorithms used with the HotSpot JVM and how to select one, and tune it for performance.
I18N (Internationalization Tutorial from Sun) Tutorial on using I18N, Locales, Resource Bundles, ...     ISO-216 international paper sizes A clear explaination of A4 and other international standard paper sizes.
ISO-639 English (and French) language names, and the standard 2 and 3 letter codes     ISO-3166 Country Codes The official list of two and three letter country codes, used in locales.
Encodings and Character Sets More information then you want to know about Unicode, encodings, etc.     Locales and I18N Some notes about using Locales and internationalizing programs
Font concepts Explains Font terms and concepts used in Java.     ShowFonts.java Show all local fonts, list font families
CodePointDemo.java Shows how to work with I18N Strings.        
IGreet.java Uses Locales, ListRecourceBundles for I18N     Stocks.java An Internationalized Applet
Version.java Displays the JVM version in your borwser     Unicode symbols Applet showing Unicode font listings, plus a few symbols.
ShowProps.java Lists Java system properties and their values     PrefsDemo.java Shows the Java Preferences API
Multi-Threading Review Notes A review of the concepts and issues of using Threads     ThreadLocal.java Demo of ThreadLocal variables
DiningPhilosophers Sun's DeadLock Thread Demo     Sort algorithm race Sun's Multi-thread Sorting Demo
PServer1.java Pseudocode of a Print Server     PServer2.java Improved pseudocode of a Print Server
Bank.java Mutli-threaded Demo of synchronized     Threads.java Mutli-threaded Demo showing suspend, resume, and stop
HoopsApp.java Simple Animation using a Thread     Ssjava1.java Swing animation, uses Timer
Greet2.java Shows non-GUI input with Scanner     FileDemo.java Shows reading, writing files with encodings. (download UTF-8-demo.txt)
DirList.java Prints a directory listing.     FileKit.java Show how to calculate the MD5 checksum of a file.
Person.java A short demo to open, read, parse a file of data, and create a List of objects.     People.txt A (very) short text file to use with Person.java.
UseDOM.java XML Demo of DOM API     HelloXML.java XML Demo of SAX2 API
DOMDemo.java Demo of XML DOM parsing     XMLNotepadSetup.exe A Microsoft free XML editor.  (There are better ones!)
XML-XSL-Demo XSL (XML Style Sheets) Demo     Xerces-J Setup Some help to install Apache's Xerces-J XML parser on Windows
NioDemo.java Uses java.nio classes to copy a file.     Tutorial for java.nio (PDF) A clear tutorial on using the many features of java.nio.
MemMapDemo.java Uses java.nio memory-mapped file.        
Database Concepts A brief overview of database concepts, and how to use databases in Java        
DBDump.java Displays a table from a Database     Grades.java MultiThreaded Swing GUI and JDBC Demo
DerbyDemo.java JDBC demo of the embedded Derby database     Java DB Manuals Tutorials and reference for Java DB (a.k.a. Apache Derby)
Coffee Database Directions to create an ODBC Text database     SquirrelSQL.org A (free) GUI Java database client, to work with (nearly) any type of database
myServlet.war Example WAR (Web application ARchive) with a Servlet     Java EE Home Sun Java EE site
Java EE Overview Draft lecture notes     Hello, World RMI demo Simple, basic RMI demo from Sun
JNDI Tutorial Sun's JNDI on-line tutorial     Mastering Enterprise JavaBeans, 3rd Ed. A great EJB book, for free as a PDF download.
Designing Java EE Applications A Sun Blueprint Article     J5EE Tutorial A Sun Java EE Tutorial
Java EE Technology Center A Sun Java EE developer resources        
TheServerSide.com A Java EE site with many tutorials     Java EE Architect's Handbook A pretty good Java EE book, available for free from here
JBoss Home JBoss Java EE Application Server     WebSphere IBM Java EE application server
Tomcat Setup Apache's Tomcat web application Server install help for Windows     Credit Card Processing A brief overview of e-commerce payment processing
CopyTest.java Shows Graphic contexts are copies     HeavyLight.java Shows difference of Heavy and Light weight components
Logo2D Java2D Graphics Demo     Jade.java Fancy Text Rendering
Smile2.java Multimedia (with sound) applet     SmileJar.java Graphics, in a jar
Printing Demos Several examples of Java printing     JfileChooserDemo Shows a GUI file chooser dialog.
AWT - Swing Demo.java Simple Swing Demo, Compares with AWT Version     IntCalc.java Interest Caclulator with Swing PLAF Demo
SwingDemo1.java Simple Swing demo     LblDemo.java Swing JLabel demo
MultiLineDemo.java Shows how to draw text with styles        
Ssjava2.java Swing animation, uses JLayerPane        
JTableDemo.java Simple JTable Demo     ClipEx.java Demo of copy/paste clipboard access
SimpleBean.java A Simple JavaBean Tutorial     Marquee Marquee Java Bean
SBean.java Simple Java Bean with BeanInfo, runnable jar     Download the BeanBuilder A GUI Bean Developement Kit
JavaBeans home page Read the Specifications and find other related resources     Download the BDK The Bean Developement Kit (platform independent Version from Sun) is interesting but obsolete
J2ME Step by step (PDF) Tutorial on J2ME     JNLP API Examples  
ChatServer Chat room Server        
Java2 Security Tutorial on Java Security from Sun     WriteFile.java A signed Applet to create a file on the local system
Model Solutions to Assigned Projects
Logo2D Java2D Graphics Demo     Office Hours Model Solution to Office Hours project #1

[Valid RSS]

RSS iconXML iconRSS feed for this page

What is RSS?