description | outline | SunŽ resources | links | NJ Standards | proficiencies | workbook | books
goals of instruction | learner outcomes | assessment | applet demos
Java is the language of the Internet. Developed by Sun Microsystems, the Java language is object-oriented from the ground up, allowing developers to write a program (application) that will run on any computer or write a program that can run on a Web page (applet). Also, having an understanding of Java syntax and keywords gives the programmer access to JavaScript capabilities, in which the code is actaully part of the Web page rather than executed from a different file. This course will focus on all three methods of programming: applications, applets, and JavaScript. Since students come from a variety of experiences, this course will be individually tailored to meed each student's needs and expectations.
Unit 1
History of programming and programming languages. Procedural/functional languages vs. object-oriented languages. Overview of the Java Technology, applets, applications, and JavaScript.
Unit 2
Downloading and installing the latest Java Developer's Kit (JDK 1.3?).
Unit 3
Your first application.
Project: "Hello World!"
Unit 4
Introduction to Applets
Variables and data types
Projects: 1-1: Distance Conversion, 1-2: Checkbook balancing
Unit 5
User Interaction/ User interface
Projects: 2-1: Menus, 2-2: Menu Buttons
Unit 6
Writing Applets
Projects: 3-1,2,3,4: Conversion applets, 3-5: interest calculations
Unit 7
Control strucures: Decisions and Loops
Projects: 4-1,2,3,4,5: Menus, 5-4:compound interest, Divisibility
Unit 8
Vectors and Arrays
Projects: 6-5: Bubble sort, 6-6: Linear (and binary) searches, Life
Unit 9
Applets and Graphics
Projects: Drawings and animations, graphing functions.
Unit 10
Introduction to Classes and Objects
The BlueJ environment
Unit 11
Math Class Methods (Deitel, 2e ch. 4)
Projects: Random number generator, Monte Carlo methods, PI at random, Divisibility project (Lambert, p 77)
Unit 12
Strings, Files, and Streams (Deitel, 2e, ch 8 and 15)
Projects: analyzing textfiles
Unit 13
Multimedia: Loading images, loops and animation, loading and playing audio clips
Project: multimedia applets, Workbook Lesson 10 , Projects 10-1 through 10-5
Unit 14
Networking
Projects: establishing a simple server, establishing a simple client (Deitel, 3e, ch 21)
Unit 15
The Marine Biology Case Study (AP)
Between the next two horizontal lines is a section from the
tutorial under 'Getting Started::The Java Technology Phenomenon::What
can Java Technology Do?'... It is included here to give the
reader a feel for the importance of Java and its potential.
The most common types of programs written in the Java programming language are applets and applications. If you've surfed the Web, you're probably already familiar with applets. An applet is a program that adheres to certain conventions that allow it to run within a Java-enabled browser.
However, the Java programming language is not just for writing cute, entertaining applets for the Web. The general-purpose, high-level Java programming language is also a powerful software platform. Using the generous API, you can write many types of programs.
An application is a standalone program that runs directly on the Java platform. A special kind of application known as a server serves and supports clients on a network. Examples of servers are Web servers, proxy servers, mail servers, and print servers. Another specialized program is a servlet. A servlet can almost be thought of as an applet that runs on the server side. Java Servlets are a popular choice for building interactive web applications, replacing the use of CGI scripts. Servlets are similar to applets in that they are runtime extensions of applications. Instead of working in browsers, though, servlets run within Java Web servers, configuring or tailoring the server.
How does the API support all these kinds of programs? It does so with packages of software components that provide a wide range of functionality. Every full implementation of the Java platform gives you the following features:
- The essentials: Objects, strings, threads, numbers, input and output, data structures, system properties, date and time, and so on.
- Applets: The set of conventions used by applets.
- Networking: URLs, TCP (Transmission Control Protocol), UDP (User Datagram Protocol) sockets, and IP (Internet Protocol) addresses.
- Internationalization: Help for writing programs that can be localized for users worldwide. Programs can automatically adapt to specific locales and be displayed in the appropriate language.
- Security: Both low level and high level, including electronic signatures, public and private key management, access control, and certificates.
- Software components: Known as JavaBeansTM, can plug into existing component architectures.
- Object serialization: Allows lightweight persistence and communication via Remote Method Invocation (RMI).
- Java Database Connectivity (JDBCTM): Provides uniform access to a wide range of relational databases.
The Java platform also has APIs for 2D and 3D graphics, accessibility, servers, collaboration, telephony, speech, animation, and more. The following figure depicts what is included in the Java 2 SDK.
How to Think Like a Computer Scientist - great online book for beginning programmers. Classes are covered late in the book, though.
The Java Ranch - tutorials and tests for 'greenhorns'.
BlueJ: The Interactive Java Environment is an integrated Java environment for introductory teaching. Some students may find this programming environment helpful.
Java Education - Introduction to Java Online Course (IBM)
Download The Java Tutorial (from the Sun Java website)
Java Software Solutions (accompaniment to the book)
A Java Tutorial: This is an online version of The Java Tutorial by Mary Campione and Kathy Walrath
Gamelan - recommended by Deitel
Shlurrrpp...Java learning Java: "The first user-friendly tutorial on Java"
Java tutorial and S-W from Jan Newmarch
Java and JavaScript Programming, Scoop on Java - 09-11-99 (by Dick Baldwin)
comp.lang.java FAQ newsgroup list
Java-JavaScript Resources on the Internet: A listing of some Java and JavaScript resources available on the Internet.
javascript tutorial (WebTeacher)
Java and JavaScript Programming, by Richard G Baldwin
Java Programming, Books, Tools, FAQ, Links, etc., by Richard G Baldwin
JAVA: How do I start?
Writing Java Programs: another link to Campione and Walrath
The BreezyGUI Web Site - used in Lambert, Java Complete Course
Java Programming Resources: http://www.apl.jhu.edu/~hall/java/
Other links to Java sites and Info: http://www.javaman.com/static/links.html
Borland's Jbuilder4 free 'foundation' download site. Get the IDE used to develop applications and applets as in a Visual Basic environment. Written in Java, so it's not 100% Windows-friendly!
This course addresses the following New Jersey Core Curriculum Content Standards:
The following project workbook will be used by all students:
Sestak, Java Programming Projects Activities Workbook, South-Western, 2000 (CD Included)
The following books are the classroom/lab resource guides:
How to Think Like a Computer Scientist - great online book for beginning programmers. Classes are covered late in the book, though.
Horstmann, Computing Concepts with Java 2 Essentials, Wiley, 2000 (good online resources)
Farrell, Java Programming, ITP, 1999 (CD included)
Deitel & Deitel, Java: How to Program, 2nd Edition, Prentice Hall, 1998 (CD: JAva Multimedia Cyber Classroom)
Deitel & Deitel, Java: How to Program, 3rd Edition, Prentice Hall, 1999
Lambert & Osborne, Java: Complete Course, ITP, 2000 (online resources:The BreezyGUI Web Site)
Turner et. al., Java Programming Basics, South-Western, 1997
Knowlton, Java: Introduction to Programming, South-Western, 1999
Davis, Learn Java Now, Microsoft Press, 1996 (for Visual J++)
Shafer, JavaScript & Netscape Wizardry, Coriolis, 1996 (CD Included)
Jamsa et. al., Web Programming, Jamsa Press, 1996 (CD Included)
The computer programs, projects, and activities associated with each unit reflect the ideals of the four goals of instruction. Computer and textbook exercises at the end of each unit address the mastery component. Programming problems address understanding and synthesis. These assignments will allow the student to apply what is learned and to use that knowledge in new situations. Through cooperative learning activities and lab-oriented classroom environment, involvement is regularly encouraged and monitored. The Unit Objectives below indicate the goals addressed in each topic by <M, U, S, I>.
We want all students to develop the social skills
necessary to be successful in school, in work. and as members of
their families and communities. Students of Java Programming
are encouraged to help one another, to work cooperatively yet
competitively. We want all students to become
responsible citizens who are willing and able to make
informed decisions about the issues of the day that affect their
community, their natural environment, and their wider world of
national and international relations. Students are encouraged
to work cooperatively and to use computer technology maturely and
ethically. We want all students to be knowledgeable
learners, who feel curious and comfortable about new
learning and are able to manage information and acquire new
skills throughout their lives. Students will use many
different types of resources for help, such as online
help files, textbooks, Internet resources, and each other. We
want all students to be able to make connections
among a variety of contents and between the knowledge they
acquire in school and the greater world beyond the school doors.
Students will use a variety of software in the process of
designing projects, including Internet resources. We want all
students to develop a character they can be
proud of, one that includes the confidence, perseverance,
generosity, and courage necessary to be a success in school and i
n life. We expect all students to be successful and willing
to share their success with others. We want all students to be
effective thinkers able to solve problems,
weigh evidence, and use the principles of reasoned argument to
analyze, interpret, and evaluate their own and others' work.
Programming is problem solving. The computer is limited in its
capacity, yet unlimited in its potential. Programming brings the
student to realize his/her potential for teaching the computer. We
want all students to be able to use their imagination
to create original, thoughtful products that display a real
concern for quality and craftsmanship and to be able to
appreciate the works and products of others. Creativity is
realized through programming. The most elegant program is also
the simplest one that solves the problem. We want all students
to acquire sufficient knowledge of current and future
technology so as to assume successful positions as
students in college, workers in the workplace, or in any other
post-high-school situation. Computer technology changes daily.
It is important for all of us to remain abreast of current trends
and new technology. What better way than to be involved in
Computer Science! (back to top)
Grades are based on: