Back to main Java for Students site

Planning a course on Java

Approach

If you've decided to use Java for Students, 5th edition, you have probably also decided to:

The Software Development Environment

You will, of course, have to decide which development environment the students will use. The CD has information on this.

Information on the Libraries

The other thing that students need is access to information about the Java libraries - what's available and how to use it. Having access to good clear information can be a problem, we feel. There are the following sources:

The trouble with the JDK, the Sun web site page and a browser is that the information is minimal - sometimes no more than a method signature. Again, the appendix in the book gives more information. As an instructor, you may feel the need for comprehensive information. For this purpose we keep copies of the following books to hand. They are thick and probably too expensive for students to buy. We have also placed single copies in our library for reference-only by students.

The Java Developers Almanac, Patrick Chan, Addison-Wesley, frequent editions.

 

We also find that students get confused about what is a Java keyword and what is a library method. To assist, the book index includes all the keywords and all the methods used in the book. There is also an appendix F that lists all the keywords. At the end of each chapter the newly-introduced keywords are listed.

Novices?

The book is aimed at novices, so it spends quite some time on basic control structures and on using methods. For more experienced students, you could romp through the early material quite quickly, while the students would probably enjoy creating GUI's and the associated event handling. We have used the book successfully in this way with students who have previously used Visual Basic.

You might be used to fitting course within a semester structure. Here in England a semester lasts about 12 to 15 weeks, or roughly half the academic year. We think that there's too much in the book for a single semester. There are too many ideas that would need to be understood in a short elapsed time. So we tend to think that there is a course on basic topics for semester 1 (see below), then a course on advanced topics in semester 2 (see below).

Practical work

We believe that practical work is vital in learning programming. To be realistic, there usually isn't enough time for students to attempt more than 2 or 3 exercises each week from the end-of-chapter exercises. Choose the ones that seem most fun!

A suggested course

Reminder: aimed at students new to programming.

Uses approximately one chapter each week.

Some topics could be easily omitted if time is short. Candidates include two dimensional arrays and strings. Testing and debugging could be collapsed to a smaller time scale.

 

First Semester

week

chapter title

book chapter

1

The background to Java

First Programs

1

2

2

Using graphics methods

3

3

Variables and Calculations

4

4

Methods and parameters

5

5

Using objects

6

6

Selection

7

7

Repetition

8

8

Writing classes

9

9

Inheritance

10

10

Calculations

11

11

Array Lists

12

Calculations

Chapter 11 explains how to do non-trivial calculations in Java.

If your students are information system specialists or are business oriented, time could be spent on looking at financial calculations, as explained in chapter 11.

Alternatively, if your students are mathematical, scientific or engineering, the time could be spent on numerical calculations (also in chapter 11).

Second Semester

Aimed at students who have completed semester1.

Some of these ideas - like polymorphism and abstract classes - are challenging, we think. So the students need some time to understand them.

week

topic

book chapter

1

Arrays

13

2

Strings

15

3

exceptions

16

4

Files and console applications

17

5

OO design

18

6

style

19

7

Testing and Debugging

20, 21

8

threads

22

9

interfaces

23

10

packages

24

11

polymorphism

25

 

Network Programming

We think that network programming is fun and trendy. On this web site we have provided material that could be used over 4 weeks to teach this subject. Perhaps this would be part of a second-level course.

Swing or AWT?

Most of the book uses the Swing approach to providing a GUI. We think this is the main way in which people will want to teach and use Java for the foreseeable future. But we have included appendix B on AWT for those who are interested

Enjoy your teaching