Java, Java, Java
2. Preface to the Third Edition
2.4. Organization of the Text
The book is still organized into three main parts. Part I (Chapters 0-4) in- troduces the basic concepts of object orientation and the basic features of the Java language. Part II (Chapters 5-9) focuses on remaining language el- ements, including data types, control structures, string and array process- ing, and inheritance and polymorphism. Part III (Chapters 10-16) covers advanced topics, including exceptions, file I/O, recursion, GUIs, threads and concurrent programming, sockets and networking, data structures, servlets, and Java Server Pages.
The first two parts make up the topics that are typically covered in an introductory CS1 course. The chapters in Part III are self-contained and can be selectively added to the end of a CS1 course if time permits.
The first part (Chapters 0 through 4) introduces the basic concepts of object orientation, including objects, classes, methods, parameter passing, information hiding, and a little taste of inheritance, and polymorphism. The primary focus in these chapters is on introducing the basic idea that an object-oriented program is a collection of objects that communicate and cooperate with each other to solve problems. Java language elements are introduced as needed to reinforce this idea. Students are given the basic building blocks for constructing Java programs from scratch.
Although the programs in the first few chapters have limited function- ality in terms of control structures and data types, the priority is placed
Table 2: A one-semester course.
Weeks |
Topics |
Chapters |
1 |
Object Orientation, UML |
Chapter 0 |
|
Program Design and Development |
Chapter 1 |
2-3 |
Objects and Class Definitions |
Chapter 2 |
|
Methods and Parameters |
Chapter 3 |
|
Selection structure (if-else) |
|
4 |
User Interfaces and I/O |
Chapter 4 |
5 |
Data Types and Operators |
Chapter 5 |
6–7 |
Control Structures (Loops) |
Chapter 6 |
|
Structured Programming |
|
8 |
String Processing (loops) |
Chapter 7 |
9 |
Inheritance and Polymorphism |
Chapter 8 |
10 |
Array Processing |
Chapter 9 |
11 |
Recursion |
Chapter 12 |
12 |
Advanced Topic (Exceptions) |
Chapter 10 |
13 |
Advanced Topic (GUIs) |
Chapter 11 |
|
Advanced Topic (Threads) |
Chapter 15 |
on how objects are constructed and how they interact with each other through method calls and parameter passing.
The second part (Chapters 5 through 9) focuses on the remaining lan- guage elements, including data types and operators (Chapter 5), control structures (Chapter 6), strings (Chapter 7), and arrays (Chapter 9). It also provides thorough coverage of inheritance and polymorphism, the primary mechanisms of object orientation: (Chapter 8).
Part three (Chapters 10 through 16) covers a variety of advanced topics (Table 1). Topics from these chapters can be used selectively depending on instructor and student interest.
Throughout the book, key concepts are introduced through simple, easy-to-grasp examples. Many of the concepts are used to create a set of games, which are used as a running example throughout the text. Our pedagogical approach focuses on design. Rather than starting of with lan- guage details, programming examples are carefully developed with an emphasis on the principles of object-oriented design.
Table2 provides an example syllabus from our one-semester CS1 course. Our semester is 13 weeks (plus one reading week during which classes do not meet). We pick and choose from among the advanced topics during the last two weeks of the course, depending on the interests and skill levels of the students.
Ralph Morelli June 25, 2017