COURSE DESCRIPTION
This course is designed for students in the computer field who will be
working with computer programming languages. The course covers both design
and programming using the programming language Java, which is a
object-oriented language. The student will develop many programs using Java.
(Prerequisites: CST1794) (5 Credits) (1 Lecture, 4
Lab, 0 On the Job Training.)
COURSE FOCUS
This course focuses on hands-on programming with the JAVA language and the
concepts necessary to design programs. The course focuses on the completion
of programming problems as given in the text in a self-paced format.
TEXT AND REFERENCES
1. Java for Students,
fifth
edition (Student supplied
textbook)
2. Computer system with Win9x or better. (School or Student supplied
equipment)
COURSE EXPECTATIONS
See this link for
additional course
expectations.
COURSE EVALUATION
Student objectives and evaluations are translated
to a percentage and the percentages to grades. A score of 70% is passing.
The following percentage distribution guarantees the following grade:
A:93%+, A-:90%+, B+:87%+, B:83%+, B-:78%+, C+:77%+, C:73%+, C-:70%+,
NC:<70%.
REQUIREMENTS
This course is lecture/lab based. The CST / MMDT
Instructors will deliver the lectures, as well as supervise the lab. The
student is expected to spend at least 32 hours per credit in self study and
16 hours per credit with direction from instructors and/or instructional
guides and testing. This a five credit course, so an average student is
expected to spend approximately 240 hours completing this course, which
includes lectures and lab. All lectures will be scheduled, with that
schedule posted online.
COURSE GOALS
The following list of course goals will be addressed in the course.
Credit 1
|
Page
|
Unit 1 - The Scope of JAVA.
|
1
|
1. |
The Internet and the
Web, Hypertext. |
2. |
Executable Documents, What is a
Program, Object-oriented Programming. |
Unit 2 - A First JAVA Program
|
10
|
3. |
Applets and Applications, Integrated
Development Environment (IDE), The operating system, Files and the
Editor. |
4. |
Preparing a Java program, Editing,
Compiling, Creating a Web Page, the Libraries, Running the Java program,
Demystifying the program and Programming pitfalls. |
Unit 3 - Introductory
Graphics. |
21
|
5. |
Setting the scene, First picture,
Graphics screen, Explanation of the program. |
6. |
The paint method, Methods for
drawing, Filling shapes with colors, Sequence concept, Displaying
characters, Joining strings, Adding comments, Programming pitfalls,
Grammar spot and New language elements. |
Unit 4 - Variables and
Calculations. |
31
|
7. |
Numeric variables: Int and Float,
Declaring variables, the Assignment statement, Calculations and
operators and Arithmetic operators. |
8. |
Displaying variables, type
conversion, expressions, Grammar spot, Programming pitfalls and New
language elements. |
Unit 5 - Methods and
parameters. |
46
|
9. |
Writing methods, Private and public,
Invoking methods, Passing parameters, Formal and actual parameters,
Local variables and Name clashes. |
10. |
Public and paint, Return and results,
Flexibility of methods, Building on methods, Grammar spot, Programming
pitfalls and New language elements. |
11. |
What's an event, Event loop,
Event-driven program, Event framework, Scopes, Abstract Window Toolkit,
Scrollbar component and an Event-driven example. |
12. |
Adding labels, Scaling the scrollbar,
Building up graphical output, Grammar spot, Programming pitfalls and New
language elements. |
Unit 1 - Decisions - if and
switch. |
80
|
13. |
If statement, Comparison operators,
And, or not, Nested ifs, Case studies using if, Using buttons.
|
14. |
Boolean variables, Random numbers,
Case studies using buttons, Switch, Text fields, Grammar spot,
Programming pitfalls, New language elements. |
Unit 2 - Repetition - while,
for and do. |
116
|
15. |
While, For, Do...while, And, or not,
Nested loops. |
16. |
Combining control structures,
Programming pitfalls, Grammar spot and New language elements.
|
Unit 3 - Objects and classes.
|
140
|
17. |
Objects, Classes, Initialization and
constructors, Public or private, Creating an object using new,
Displaying an object, Using objects, Public data and Private methods.
|
18. |
Names of classes, objects and
methods, This, Instances of, Built-in types, Operations on objects,
Object destruction and garbage collection, Method overloading, Static,
Null, Classes and files, scope rules, Grammar spot, Programming pitfalls
and New language elements. |
Unit 4 - Applet Architecture.
|
171
|
19. |
The model, view controller
architecture, and In the beginning. |
20. |
The controller, The model and the
View. |
Unit 5 - Inheritance.
|
182
|
21. |
Using inheritance, Scope
rules, Protected, The class hierarchy. Restricting functionality using
inheritance, Polymorphism, Allowed operations, Casting, Super,
Inheriting from library classes. |
22. |
Final, Final static, Browsing,
Programming principles, Programming pitfalls, New language elements.
|
Unit 6 - Calculations.
|
198
|
23. |
Integer types, Declaration and
assignment, Input/Output, Operator precedence, Library mathematical
functions, Constants, Comparison and iteration. |
24. |
Mixing data types and casting, Case
study - money, Graphs, Exceptions, Programming pitfalls and Programming
principles. |
Credit 3
|
Page
|
Unit 1 - Arrays.
|
223
|
25. |
Creating an array, Indices, The
length of an array, Passing arrays as parameters, Typical operations on
arrays, Using constants, Initializing an array. |
26. |
A sample program, Arrays of objects,
Lookup and searching, Bar charts and pie charts, Programming pitfalls
and Programming principles. |
Unit 2 - Arrays -
two-dimensional. |
257
|
27. |
Declaring an array, Indices, The size
of an array, Passing arrays as parameters and Typical operations on
arrays. |
28. |
Constants, Initializing an array, A
sample program, Programming principles and programming pitfalls.
|
Unit 3 - String manipulation.
|
276
|
29. |
The char type, The string class,
Using strings, Characters within strings, Comparing strings, Amending
strings and Examining strings. |
30. |
The StringTokenizer class, string
conversions, String parameters, An example of string processing, String
case study, Grammar spot, Programming pitfalls and New language
elements. |
|
Exceptions and objects,
when to use exceptions, the jargon of exceptions, a try-catch example,
try and scope, search for a catcher, throwing- an introduction,
exception classes, compilation and checked exceptions, catching- the
common cases, using the exception class structure and finally are
covered.. |
Unit 5 - Graphical User
Interface |
315
|
|
Components - the general approach,
check boxes, check box groups, choice boxes, lists, text areas,
canvasses, panels, layout managers, flow layout, border layout and
designing user interfaces are covered. |
Unit 6 - Free-Standing
Programs. |
330
|
|
Running an application, using the AWT
with an application, converting between applets and applications and
menus are covered. |
Credit 4
|
Page
|
Unit 1 - Files.
|
344
|
|
Files and security, file access, the
essentials of stream, the java I/O classes, the BufferReader and
PrintWriter classes, file output, file input, file searching, the
FileDialog class, console I/O, the System class, non-AWT applications,
the File class, and reading from a remote site, are covered.
|
Unit 2 - Graphics and Sound.
|
373
|
|
Displaying graphics, playing audio
and animation are covered. |
|
The principles of object-oriented
programming, the design problem, design notations, the design method, a
case study, looking for reuse, relationships between classes, guidelines
for class design, detailed design, the design approach and event-driven
programming are covered. |
Unit 4 - Program Style.
|
404
|
|
Objects and classes, program layout,
comments, using constants, method size, classes, consistency, nested
ifs, nested loops, complex conditions, and documentation are covered..
|
|
Program specifications, exhaustive
testing, black box, white box, inspectors and walkthroughs, stepping
through code, formal verification, unit testing and system testing and
incremental development are covered. |
|
Debugging, using a debugger, and
common errors are covered. |
Credit 5
|
Page
|
Unit 1 - Threads
|
443
|
|
Multithreading, independent threads,
initializing threads, dying and killing, the state of a thread,
scheduling, thread priorities and yield, mutual exclusion and
synchronized, thread interaction - wait and notify, the producer -
consumer problem, interruption and deadlock are covered. |
Unit 2 - Programming in the
Large - Packages. |
484
|
|
Packages and files, using packages
and import, identifying packages and scope rules for packages are
covered. |
Unit 3 - Advanced
Object-Oriented Programming. |
490
|
|
Abstract classes, interfaces,
multiple inheritance and interfaces, interfaces vs abstract classes,
designing multithreaded programs and other design approaches are
covered. |
Unit 4 - Polymorphism
|
527
|
Unit 5 - Java in context.
|
545
|
|
What makes java a good language are
covered. |
|