CST1640 Intro to Java
Syllabus

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.
Unit 6 - Events. 62
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.
Credit 2 Page
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.
Unit 4 - Exceptions. 299
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.
Unit 3 - OO Design. 382
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..
Unit 5 - Testing. 418
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.
Unit 6 - Debugging. 434
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.

 



Version Information:
Sep  6, 2002 Original course material compliments of Mark Case.
Jan 12, 2005 Course is first 20 chapters of book.