Java Programming

Curriculum Guide

Teaneck High School

Computer Department

August, 2000

revised February, 2001

description | outline | SunŽ resources | links | NJ Standards | proficiencies | workbook | books

goals of instruction | learner outcomes | assessment | applet demos


JCreatorTemplates.zip

Course Description

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.

(back to top)


Course Outline

note: projects with numbers (like "3-1")are in the Workbook.


 

 
 
 
 
 

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)

(back to top)


The Sun Java site

The SunŽ Java Tutorial will be used extensively in the course.

  • The "Really Big Index" lists all of the Sun Java Tutorial's content pages.
  • (back to top)

    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.


    What Can Java Technology Do?

    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 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.


    Links to other Java Internet resources:

    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!

    (back to top)


    New Jersey Core Curriculum Content Standards

    This course addresses the following New Jersey Core Curriculum Content Standards:


    Student Workbook

    The following project workbook will be used by all students:

    Sestak, Java Programming Projects Activities Workbook, South-Western, 2000 (CD Included)

    (back to top)


    Java Books on hand

    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)

    (back to top)


    Java Programming Course Proficiencies 2000 - 2001

    1. Write Java Applications
    2. Write Java Applets
    3. Create and use Java classes
    4. Complete the AP Computer Science Marine Biology Case Study using Java rather than C++
    5. Demonstrate responsible, mature attitudes with respect to computer equipment and software.
    6. Demonstrate positive attitudes reflected in self-direction, working with others, the execution of one’s work, and strict adherence to the attendance policy as a requirement for passing.

    (back to top)



    The Four Goals of Instruction

    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>.

    (back to top)


    Learner Outcomes

    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)


    Assessment

    Grades are based on:

    (back to top)
    last updated 08/30/2000, John Hanna, jhanna@teaneck.k12.nj.us