Book Description
You can find a whole range of programming textbooks intended for complete beginners. However, this one is exceptional to certain extent. The whole textbook is designed as a record of the dialogue of the author with his daughter who wants to learn programming. The author endeavors not to explain the Java programming language to the readers, but to teach them real programming. To teach them how to think and design the program as the experienced programmers do. Entire matter is explained in a very illustrative way which means even a current secondary school student can understand it quite simply.
The book comes out of the author's long-term experience with teaching children, university students as well as professional programmers. The author teaches programming according to the Architecture First methodology which reacts at the companies' complaints that the school graduates are usually good in coding, but bad in software architecture. Coding itself is gradually taken over by various code-generators, but the work of the architect will stay irreplaceable for a long time. The author pursues the pedagogical principle saying that those items considered as the most important should be presented as soon as possible. Therefore he leads the readers to apply the proper design of the architecture of the created program and to avoid common mistakes since the very beginning.
For designing the programs, the development environment BlueJ is used, which is proposed specially for the beginners and which enables explaining, demonstrating and programming a number of basic architectonic constructs without leaving the architectonic level and degrading to the code level. The book is divided into three parts. The first one deals with the explanation of basic constructs of the object oriented programming and all proposed programs are created by the code-generator incorporated in BlueJ. The second part repeats the explained constructs and the readers can learn how to code the proposed program similarly as was done by the generator in the first part. The third part presents constructs which are beyond the bounds of abilities of the used code-generator, and therefore the readers have to program them themselves. Despite that, the explanation core keeps in the level of architecture.
The book is determined above all for complete beginners. However, the experience proved that even the intermediate programmers can find a lot of interesting and informative in it.
This open book is licensed under a Open Publication License (OPL). You can download OOP - Learn Object Oriented Thinking and Programming ebook for free in PDF format (6.7 MB).
Table of Contents
Part 1
Interactive mode
Chapter 1
The Prologue
Chapter 2
The OOP - Get Acquainted
Chapter 3
We Are Sending First Messages
Chapter 4
The Test Class
Chapter 5
The Messages Requiring a Value
Chapter 6
The Messages Requiring an Object
Chapter 7
The Messages with Parameters
Chapter 8
The Object Type Parameters
Chapter 9
The Expedition into the Interior of Instances
Chapter 10
The Interface
Chapter 11
The Interface Continued
Chapter 12
The Introduction into Design Patterns
Chapter 13
The Inheritance of Interface Types
Chapter 14
Mediator and Listener
Part 2
Basics of Creating OO Programs
Chapter 15
The First Code
Chapter 16
The First Constructor
Chapter 17
Parameters
Chapter 18
The Fields and the Methods
Chapter 19
Implementation of an interface
Chapter 20
Comments
Chapter 21
Using of this
Chapter 22
Overloading
Chapter 23
The Local Variables
Chapter 24
Methods Returning a Value
Chapter 25
The Crate
Chapter 26
Strings and How to Work with Them
Chapter 27
A Bit of Logic
Chapter 28
Class Methods and Fields
Chapter 29
Refactoring of the Code
Chapter 30
Static Constructor - Class Constructor
Chapter 31
Debugger
Chapter 32
Creating of an Standalone Application
Part 3
Advanced Creating of OO Programs
Chapter 33
Packages
Chapter 34
Linking of Instances
Chapter 35
Decorator
Chapter 36
Teaching Cars to Turn
Chapter 37
Controlling from Keyboard
Chapter 38
Containers and Maps
Chapter 39
Further Programming Constructions
Chapter 40
The Factory Method Second Time
Chapter 41
The Loops
Chapter 42
Lists and Their Ordering
Chapter 43
The Array
Chapter 44
The Finale