SCHEDULE
Mtht 420
This schedule provides a tentative outline of each class period and
links to handouts given in class. It is not definitive, and will
change over the course of the semester.
- 4/29: Brief review for final exam. Final exam, including
programming portion in lab.
- 4/22: Review of Homework. Review for final exam. Discussion of
Chapter 17. Course evaluation. Lab work on sample exam questions.
- 4/15: Review of Homework. Complete discussion of Chapter 7.
Sorting a linked list exercise. Discussion of linked lists, queues
and stacks. Guest speaker Bill Schofield from Midway Games.
- 4/8: Return and review Midterm. Demonstration of insertion sort.
Discussion of Chapter 7. Modify Deitel and Deitel's BubbleSort.java program to sort a list
in descending order. (Here is the running applet.)
- 4/1: Review for Midterm. Midterm. Reader's guide to chapter 7.
- 3/25: Review of homework. Discussion of chaos and the Mandelbrot
set. Review for midterm -- arrays, classes, graphics, recursion, and
efficiency. In lab, complete Mandelbrot
Set applet, experiment with Life game,
Java demo of
the efficiency of different sort algorithms. (Connect to http://www.geocities.com/SiliconValley/1396/algorithms.html
for descriptions of several efficient sort algorithms.)
- 3/11: Review of homework. Discussion of Fibonacci recursive and
iterative methods. The scope of a class and its methods; class ComplexTest.java. Graphics for
beginners; fillRect and a Java Life game.
Introduction to the Mandelbrot set. Java demo of the
efficiency of different sort algorithms. (Connect to http://www.geocities.com/SiliconValley/1396/algorithms.html
for descriptions of several efficient sort algorithms.)
- 3/4: Review of homework; small group work on 6.2 if necessary.
Constructors, set, and get methods of objects. Comparing the
complexity, efficiency, and usefulness of an iterative Fibonacci applet and the recursive Fibonacci applet.
- 2/25: Review of homework. Data structures and arrays. What
methods and attributes should a class SquareMatrix have?
Object oriented programming and classes. Method overloading (example InitArray.java). Work on posting Java
quizzes on the web.
- 2/18: Review of homework (especially 4.40.) Review for exam. Midterm
exam.
- 2/11: Review of homework. Names, parameters, scope and
return-value-types in methods from examples Rational.java and RationalTest.java; recursion.
Review for exam. Begin coding Quiz applet.
- 2/4: Review of homework. Flow of control in a program; the break
command and more on the switch command. The assets of switch commands
and defects of break commands. The idea of a method; groups of
students choose a game and record the stages of game play.
E.g. Monopoly consists of setup (handing out money, choosing tokens,
laying out the board, shuffling cards), then an iterative loop of one
turn per player while no-one has yet won, then putting the game away.
The turns proceed clockwise around the board, with each turn
consisting of rolling the dice, moving the piece, and interacting with
the square the piece ands on. Methods of a Java applet (pp. 44, 132): methods init, paint, and
actionPerformed. Mallard, a sample
on-line quiz program, and other Java
applets.
- 1/28: Review of homework. How to develop a program: flowcharts
and pseudocode. Control structures: sequence structure (step by step
evaluation), selection structure (if/else, switch), and repetition
structure (for, while, do/while.) Write a flowchart and pseudocode to
grade a single multiplication problem. Write, compile, and run a
program to administer and grade a single multiplication problem (see
discussion of Math.random method on pp. 182.) If time
permits, modify the program to keep running until the student gets the
right answer.
- 1/21: Review of homework. Review of
terms. Quick summary of graphical user interface features,
introduction to if/else. Write down the steps a computer must take to
add two numbers. Convert those steps into a Java program. Variables and computer
memory, +=, ++. Compile and run that program.
- 1/14: Survey of interests and
abilities. Introduction to programming, html, and
Java. PBJ in-class exercise. Reading and understanding a simple Java
program. Reading, understanding, and using
a simple web page and applet. Creating and compiling Java programs and
applets in SEL 2249 or on icarus.