Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
DSC4A1
JAVA
johnmarc@home.com
what is
java???

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:
- top-down programming
- documentation and style
- effective human-interface design
- testing and debugging
- programming paradigms
- variable types and arrays
- procedures and functions
- program control (selections & repetition)
- counters, loops, error traps, exits
- file I/O (sequential and random-access files)
- arrays, records, and programmer-defined types
- sorting and searching algorithms
- linked-listsr
- recursion
- graphics
- societal implications of computing
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
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
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---
- FINAL PROJECT
- 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: ____________________