DSC4A1

JAVA

johnmarc@home.com


what is java???
  cup1.gif (2391 bytes)


COURSE OUTLINE

Course:                    Grade 12 Computer Science
School:                     Queen Elizabeth Park
Teacher:                   Mr. Marco
Ministry Guideline:     Computer Studies Guideline 1983

Ontario Ministry of Education, Grade 12, Computer and Information Science (ICS 4M)


Level :                      Advanced
Prerequisite:             Grade 11 DSC3A1 OR some ADVANCED Programming
Credit Value:             One Credit
Course Code:           DSC 4A1

COURSE DESCRIPTION


 

Students learn the fundamentals of good program design and modern programming practice. Challenging individual and team projects enable them to develop their problem-solving skills, master the basic concepts of classic programming algorithms, and advance their computer literacy.

This course helps prepare students for the use of computers in various university disciplines, including the sciences, law, and the humanities.Also, this course will prepare students for any computer career at the community colleges. Quite often, a student can skip course( upto a year) if the marks are high enough in the programming courses at the High School Level.

 

Objectives:


 

The course of study includes:

 

Recommended texts


 

Hubbard John, Programming with Java(New York:McGraw Hill, 199)

Maguire Steve, WRITING SOLID CODE (Redmond: Microsoft Press, 1993)

Perry Greg, C++ BY EXAMPLE (Palatino: Que, 1992)

Introduction to Programming Using Java

Thinking in Java, 2nd Edition

many free online java   books

JVM

OBJECT ORIENTATION: PARADIGM SHIFT

JAVA AS A TEACHING LANGUAGE

ALGORITHMS

COURSE OUTLINE

who are you?
 

units

PART A

                        THEORY - READINGS--from

1.Overview: The Mental Landscape

get these resources

 

2: Programming in the Small I: Names and Things-

 

 

 

 

 

 

 

switch command

 

 

 

3: Programming in the Small II: Control

MORE ON LOOPS

skeleton ++

applet skeleton

needed auxiliary files--you must include and compile them so that they can be used for later

  • TextIO-GUI.java defines an alternative version of the TextIO class. It defines the same set of input and output routines as the original version of TextIO. But instead of using standard I/O, it opens its own window, and all the input/output is done in that window. Please read the comments at the beginning of the file.
  • ConsoleApplet.java, a class that can be used as a framework for writing applets that do console-style input/output. To write such an applet, you have to define a subclass of ConsoleApplet. See the source code for details. Many examples of applets created using ConsoleApplet are available above. Any project that uses this class also requires ConsolePanel.java and ConsoleCanvas.java.
  • SimpleAnimationApplet.java, a class that can be used as a framework for writing animated applets. To use the framework, you have to define a subclass of SimpleAnimationApplet. Section 3.7 has an example.
  • KeyboardAnimationApplet.java, a class that can be used as a framework for writing animated applets, which the user can interact with by using the keyboard. This framework can be used for simple arcade-style games, such as the SubKiller game in Section 6.5. To use the framework, you have to define a subclass of KeyboardAnimationApplet.
  • Mosaic.java which let's you write programs that work with a window full of rows and columns of colored rectangles. MosaicFrame.java depends on MosaicCanvas.java. There is an example in Section 4.6.
  • MosaicCanvas.java, a subclass of the built-in Canvas class that implements a grid of colored rectangles.
  • MessageDialog.java, a class for displaying modal dialogs that contain a message and one, two, or three buttons. From an example in Section 7.7.
  • TextReader.java, a class that can be used to read data from text files and other input streams. From Section 10.1.

4: Programming in the Large I: Subroutines

5: Programming in the Large II: Objects and Classes

 

 

 

inheritance presentation

 

examples of inheritance

library files: book , libraryitem, compact disk. libtest

another example


   Time1.java (first version with public fields)
   Time2.java (second version with private fields)
   Time3.java (third version with hours, minutes & seconds combined into one integer)
   TimeStub.java (a stub for the Time class)
Demo Program to test the first version:
    Time1Demo.java
Demo Program to test the second version (or the third version or the stub if you replace Time2 with Time3 or TimeStub inside it):
   Time2Demo.java
Program to show parameter semantics for primitive types and classes; uses Time2:
    ValDemo.java

    SavitchIn.java

what is an abstract class?

6:  awt  and swing---EXAMPLES--layouts   run all of them applet examples

applet template

awt skeleton

awt reference

network example

threads explanation--threads template

wrapper classes

game programming --best book

 

 

 

7: Arrays

2D ARRAYS

8: Advanced Input/Output--files

9: Linked Data Structures and Recursion

Appendix 1: From Java to C++

ASSIGNMENTS

your mini help

1A..What is java, what are the job opportunities?

1B programming paradigms--more tutorials

1 C-first Java program

quiz

 

 

 

 

2A variable

2B strings

 

 

3a. ifs

3b loops

3c applets--more examples

do artists plan their work

review for loops test

UNIT TEST

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  4.assignment

 

 

 

 

 

 

 

 

 

 

5.1 first class

5.2 CREATE A CLASS

5.3  do question one

5.4 INHERITANCE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.1 run all examples including applet- application

6.2 widget box

6.3 draw the calculator

6.4 run applet examples

6.5 craps game

6.6 thread--short intro

 

7.1 basic competencies--1d

7.2 basic competencies--2d

7.3 pattens Web App

 

8. recursion

9 exceptions

10 files

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PART B---

  1. FINAL PROJECT
  2. FINAL REVIEW---mock exam



 

JAVA NOTES

 

JAVA LANGUAGE REFERENCE

 



MARKING SCHEME


ASSIGNMENTS  15%
LABS 5%
TESTS 35%
PROJECT 15%
EXAM 25%
notes, resource materials 5%

At the end of each unit, the student will write a unit test. Keep all your assignments on your email server so that you can check errors as I will. If they are not on my email server, no corrections can be made. Ideally, one would like as much time as possible on the project. STUDENTS SHOULD NOT COPY ASSIGNMENTS. Each one should try to be creative as possible. Do the assignments on your own. Explore your ideas. If you need any help, ask the teacher or a fellow student.

The student should maintain a good set of study materials: class notes, handouts and valuable Internet Sites. These can be crucial for learning. A bookmark file should be made for this class. These study materials will be marked randomly. Students can email me their answers. No diskettes. Email me     johnmarc@home.com


All absences must be justified. Above 10 absences, when not justified, the student must make up the classes. It is a definite advantage to have a computer at home. If you do not own one, then consider purchasing one. THIS IS NOT A NECESSITY FOR THE CLASS. 

We will be using Jbuilder as our programmin environment. You can obtain a demo version here with everything that you need.

http://cashew.cs.tamu.edu/faculty/daugher/

  • basic challenging questions
  • contest questions
  •  

    Parent's Signature: ____________________