General
information about the books.
A story about successful use
of these books
Begin
your studies using the free sample pages
Try IC8 -- a truly simple
computer!
To
personal homepage of Kari Laitinen.
More information
(mostly for experienced people)
© 2002-2009 Kari Laitinen
|
|
|
|
|
|
|
|
This page is the Internet home of Kari Laitinen's textbooks
about computer programming. The site also provides free
examples of computer programs.
If you would like to invite Mr. Laitinen to speak at your special event,
here are some interesting subjects.
Please, click the links at the beginning of the page.
Officially this page ends here.
The rest of the text exists to document the history
and possible future of this site. .
The following table compares the three published programming books.
The comments in the table cells explain how the three books and the
used programming languges
differ from each other. If a table cell does not contain any text,
it means that the chapter in question
is like a corresponding chapter in the other books.
| Java | C# | C++ | |
| Chapter 1
COMPUTING: SOME CONCEPTS AND TERMINOLOGY hardware software operating system, main memory, mass memory, auxiliary memory devices source program, object program, and executable program application system program development |
|||
| Chapter 2
FIRST LOOK AT Java/C#/C++ SOURCE PROGRAMS This chapter introduces a couple of computer programs, and explains how programs are compiled and executed. Some free editor programs (e.g. Notepad2, EditPad Lite, and JFE Jens' File Editor) are discussed in the books or on the internet site. |
Instructions for downloading the Java 1.5 Software Development Kit which includes a free Java compiler. | Instructions for downloading the .NET Framework which includes a free C# compiler. | Instructions for downloading the free Borland C++ compiler |
| Chapter 3
HOW INFORMATION IS STORED IN THE MEMORY OF COMPUTERS? numerical information, numbering systems, the binary world of computer, textual information, the ASCII coding system, Unicode, encoding of pictures, sound, and moving pictures |
|||
| Chapter 4
LOGICAL OPERATING PRINCIPLES OF COMPUTERS How does the main memory operate? computer memory, main memory, components of an imaginary computer, inside the imaginary processor, machine instructions step and state of program execution ICOM simulated imaginary computer, program that contains a loop, subroutine call and stack operation, program that use keyboard, memory area, and stack towards high-level programming |
|||
| Chapter 5
VARIABLES AND OTHER BASIC ELEMENTS IN PROGRAMS integral variables (int, short, long, char), keyword, name, space, and newline, floating-point variable, operator, assignments, numerical constant, literal constant, operand, formatting the output on the screen |
The format specifiers used by the printf() and String.format() methods are explained. | The format specifiers of C# are explained. | The input/output manipulators of C++ are explained. |
| Chapter 6
DECISIONS AND REPETITIONS: BASIC ACTIVITIES IN PROGRAMS making decision with keywords if and else, decisions with switch-case construct, while loop enable repetition, for loop repeat known number of times, do-while loop execute at least once, block structure of programs, truth values |
The new "foreach" loop of Java is explained at the end of the chapter. | The foreach loop is explained at the end of the chapter. | |
| Chapter 7
ARRAYS : SETS OF SIMILAR DATA ITEMS declaring and creating arrays, referring to array elements, array positions, initialized multidimensional arrays |
In the C++ book, Chapter 7 introduces also C-style strings which are arrays of type char. The string functions strcmp, strcat, strcpy, etc., are also discussed. The string class of C++ is introduced in Chapter 15. | ||
| Chapter 8
STRINGS STORE SEQUENCES OF CHARACTER CODES In the Java and C# books, this chapter introduces the standard String and StringBuilder classes and string methods. |
In the C++ book, Chapter 8 introduces pointers. Because pointers are not used in the other languages, Chapter 8 is different in the other books. | ||
| Chapter 9
METHODS: LOGICAL PERFORMING UNITS IN PROGRAMS static methods, concept of calling, caller, callee, method parameters (arguments), return statement, role of stack in method calls, scope of variables, local variables, global variables, parameters for the main() / Main() method, overloading method names |
Java does not have output paramters. This chapter is thus simpler in the Java book. | The parameter modifiers out and ref are explained in this chapter. | In the C++ book, the term "function" is used in place of the term "method". C++ function prototypes are explained in this chapter. |
| Chapter 10
CLASSES AND OBJECTS class members, fields, instance methods, constructor (and destructor), creation of objects, several constructors in a class, array of objects, stack that grows dynamically. |
In the C++ book, Chapter 10 is entitled STRUCTURES AND FILES: LARGER PIECES OF DATA, and it does not correspond to any chapter in the other books. In the other books, file accessing is discussed in Chapter 14. | ||
| Chapter 11
MORE ADVANCED CLASSES This chapter introduces some large classes and applications. Object-oriented programming (OOP), object-oriented design (OOD), and UML class diagrams are explained to some extent. |
In the C# book, this chapter introduces also properties and indexers. | In the C++ book, Chapter 11 is entitled GOING CLOSER TO THE MACHINE and it thus corresponds to Chapter 16 in the other books. However, threads are not discussed in the C++ book. | |
| Chapter 12
INHERITANCE AND CLASS HIERARCHIES base class, derived class, superclass, subclass, parent class, child class, polymorphism, polymorphic method, public, private, protected, abstract class, early binding, late binding |
In the C# book, structs are introduced at the end of Chapter 12. | Chapter 12 in the C++ book corresponds to Chapter 10 in the other books. | |
| Chapter 13
This chapter introduces the Object class, exception classes, and some other important classes. Boxing and unboxing are discussed as well. |
Wrapper classes Integer, Short, Byte, Double, etc. | Standard structs Int32, Int16, Byte, Double, etc. | Chapter 13 in the C++ book corresponds to Chapter 11 in the other books. |
| Chapter 14
STORING INFORMATION IN FILES text files vs. binary files, reading files, writing files, appending data to a file, standard classes available to access files |
Chapter 14 in the C++ book corresponds to Chapter 12 in the other books. | ||
| Chapter 15
This chapter introduces more standard classes (e.g. ArrayList class) |
Classes Calendar and GregorianCalendar. Generics are discussed shortly. | C# DateTime struct | Chapter 15 (STANDARD C++ CLASSES) in the C++ book corresponds "loosely" to chapters 14 and 15 in the other books. |
| Chapter 16
GOING CLOSER TO THE MACHINE Bit operators &, |, ^, ~. >>, and <<; getting current time and date into a program; threads |
Java has the extra bit operator >>>. | In the C# book, delegates are discussed shortly as they are needed when threads are used. | Chapter 16 of the C++ book is entitled LARGE OBJECT-ORIENTED APPLICATIONS and the other books do not have a chapter that would correspond to to it. |
| Appendices
The appendices are logically "equivalent" in all books. |