About...
©1999
Osmar R. Zaïane
(
zaiane@cs.ualberta.ca
)
Course Content
[
All sections detailed schedule
] [
Laboratory schedule
]
Topic 1: Introduction
Slides + Text
Introduction
General Information
Lecture 1: A Simple Jave Application
Kinds of Java programs
Run Adventure Version 8
Code Warrior application demonstration
Review - (Edit, Compile)+, Load, Run
Application template
Write Adventure Version 0
Lecture 2: A Simple Jave Applet
Kinds of Java programs
Code Warrior applet demonstration
Applet template
Applet0
HTML
Lecture 3: Computing Using Simple Messages
Objects , messages, classes, instances and state.
Message expressions that compute results - String examples
State changes - Stack examples
Message arguments - Stack and PrintStream examples
Composed Messages - String > PrintStream examples
6/p
4/p
Topic 2: Objetcs
Slides + Text
Objects
Lecture 4: Objects and Values
Objects vs. Values
Pure and hybrid languages
Java values and Primitives Types
Some Java Operators
Lecture 5: Object Creation and Object Reference
Object Creation
References
Static Variables
Local Variables
Message Parameters
6/p
4/p
Topic 3: Simple Java Program
Slides + Text
Simple program
Lecture 6: Programming Language Syntax
Program Errors
Grammar, Syntax and BNF
Tokens
Identifiers
Literals
Semantics
Lecture 7: Simple Java Programs
Statement Syntax
Variable Declaration
Packages and Imports
Message Expression
Translation of Diagrams
Lecture 8: Keyboard Input and the Adventure program
Demonstration of the Adventure Program 8
Algorithms
The Keyboard Class
Program Adventure 1
Adding a Local Library to a Project
6/p
4/p
Topic 4: Methods
Slides + Text
Methods
Lecture 9: The structure of a Java program
Program
Classes
Methods
Methods dispatch
Launching an application
Launching an applet
Lecture 10: Implementing Classes-Methods
Restructuring the start class
Self reference - this
The return statement
Adventure version 2
6/p
4/p
Topic 5: Tracing programs
Slides + Text
Tracing Programs
Lecture 11: Tracing Java programs
Example of a new program
Notation for hand tracing
Hand tracing Adventure
CodeWarrior debugger
Tracing the example program again
6/p
4/p
Topic 6: Object State
Slides + Text
Tracing Programs
Lecture 12: Implementing Classes-Object State
Revit the Tune program
Using a class
Instance variables for object state
Syntax for instance variable reference
Accessing the state of the current object
Example class implementation
Managing multiple classes in CW
6/p
4/p
Topic 7: Sharing Resources
Slides + Text
Sharing Resources
Lecture 13: Common Resources - Static Variables and Methods
Static variables
Static Methods
Adventure Version 4
6/p
4/p
Topic 8: Selection
Slides + Text
Sharing Resources
Lecture 14: Selection Control Structure - if
The boolean type
The if statement
The compound statement
The if-the-else statement
Adventure version 5
Lecture 15: Selection Control Structure - switch
The switch statement
Adventure version 6
6/p
4/p
Topic 9: Repetitions
Slides + Text
Repetitions
Lecture 16: Repetition Control Structure - while
The while statement
Input validation
Adventure Version 7
6/p
4/p
Topic 10: Vectors
Slides + Text
Vectors and Other Repetitions
Lecture 17: Vectors and for Statement
Containers
Vectors
The for statement
Adventure Version 8
6/p
4/p
Topic 11: Testing/Debugging
Slides + Text
Testing and Debugging
Lecture 18: Black Box testing and Planned Debugging
Kinds of program errors
Testing
Black-box testing of Person
Planned Debugging
Lecture 19: White Box testing and ad-hoc Debugging
Inspecting an example Class' code for paths
Constructing an internal white box test suite
Correcting errors by ad-hoc debugging
6/p
4/p
Topic 12: Arrays
Slides + Text
Arrays
Lecture 20: Arrays
Arrays
Arrays versus vectors
Two simple arrays examples
6/p
4/p
Topic 13: Searching
Slides + Text
Searching
Lecture 21: Searching
Review the simple array examples
Sequential Search Approach
Complexity of sequential search
Binary Search Approach
Complexity of binary search
Compare sequential search and binary search
6/p
4/p
Topic 14: Files (Input/Output)
Slides + Text
Files (Input/Output)
Lecture 22: Files (I/O)
Files and basic operations on files
Writing to a file (file output)
Reading from a file (file input)
6/p
4/p
Topic 15: Sorting
Slides + Text
Sorting
Lecture 23: Sorting
The sorting problem
Simple methods like bubble sort
Selection sort exemple
Selection sort code
Complexity of selection sort
6/p
4/p
Topic 16: Inheritance
Slides + Text
Inheritance
Lecture 24: Inheritance
Subclasses and Superclasses
Type inheritance
Method inheritance
Represerntation inheritance
Constructor inheritance
Multiple inheritance
6/p
4/p
Topic 17: Recursion
Slides + Text
Recursion
Lecture 25: Recursion
What is recursion?
Conditions for termination
Factorial
Stack Frames
Merge Sort
Towers of Hanoi
6/p
4/p
[Home]
[Announcements]
[Calendar]
[On-line Materials]
[Activities]
[Grading]
[Glossary]
[U-Chat Tool]
[Web Links]
[Student Resources]
Last updated: April 8, 2000
[About this site and list of symbols]