Learn programming for Free and how to develop and write computer programs and IT applications. Get Free knowledge, information, references, and resources about computers now. Many Free training courses,tutorials, books, training guides, tips, articles, and helps are available to you.
Subscribe to our Free semimonthly Newsletter to Get the Latest & Best FREE Computer IT Training! -You'll stay current with all the New Free Computer Training and Education sites we discover - Subscribe now because you'll have access to these great new sites a month before our web site visitors do, and with each issue you'll receive our 2 non-public links containing 97 Pages of Free Training with over 10,000 Free IT training and tutorial resources.
This training is available on our members site only. As a member, all of the training and tutorials are available to you. We will be adding more training materials here in the future. You can join now for only USD $15 total for 2 months, $25.00 for 4 months, $34.00 for 6 months, or $59.00 for 1 year. (Please note the local links to member training content do not work on this page.)
This is an on-line textbook on introductory programming, which uses Java as the language of instruction. This text has more than enough material for a one-semester course, and it is also suitable for individuals who want to learn programming on their own. This is the third edition of the text. It covers more material and has more examples than the second edition. It also adds end-of-chapter quizzes and solved programming exercises. You can download for free the Java Software Development Kit (SDK) version 1.1 or later from Sun. For help with setting up and running the Java SDK look at this page (Essentials of the Java Programming Language, Lesson 1: Compiling and Running A Simple Program), this page (Java 2 SDK Standard Edition Documentation), and also here.
Preface
Preface to the Second Edition
Chapter 1: Overview: The Mental Landscape
Section 1: The Fetch-and-Execute Cycle: Machine Language
Section 2: Asynchronous Events: Polling Loops and Interrupts
Section 3: The Java Virtual Machine
Section 4: Fundamental Building Blocks of Programs
Section 5: Objects and Object-oriented Programming
Section 6: The Modern User Interface
Section 7: The Internet and World-Wide Web
Quiz on this Chapter
Chapter 2: Programming in the Small I: Names and Things
Section 1: The Basic Java Application
Section 2: Variables and the Primitive Types
Section 3: Strings, Objects, and Subroutines
Section 4: Text Input and Output
Section 5: Details of Expressions
Programming Exercises
Quiz on this Chapter
Chapter 3: Programming in the Small II: Control
Section 1: Blocks, Loops, and Branches
Section 2: Algorithm Development
Section 3: The while and do..while Statements
Section 4: The for Statement
Section 5: The if Statement
Section 6: The switch Statement
Section 7: Introduction to Applets and Graphics
Programming Exercises
Quiz on this Chapter
Chapter 4: Programming in the Large I: Subroutines
Section 1: Black Boxes
Section 2: Static Subroutines and Static Variables
Section 3: Parameters
Section 4: Return Values
Section 5: Toolboxes, API's, and Packages
Section 6: More on Program Design
Section 7: The Truth about Declarations
Programming Exercises
Quiz on this Chapter
Chapter 5: Programming in the Large II: Objects and Classes
Section 1: Objects, Instance Variables, and Instance Methods
Section 2: Constructors and Object Initialization
Section 3: Programming with Objects
Section 4: Inheritance, Polymorphism, and Abstract Classes
Section 5: More Details of Classes
Programming Exercises
Quiz on this Chapter
Chapter 6: Applets, HTML, and GUI's
Section 1: The Basic Java Applet
Section 2: HTML Basics and the Web
Section 3: Graphics and the Paint Method
Section 4: Mouse Events
Section 5: Keyboard Events
Section 6: Introduction to Layouts and Components
Section 7: Looking Back: The Java 1.0 Event Model
Programming Exercises
Quiz on this Chapter
Chapter 7: Advanced GUI Programming
Section 1: More about Graphics
Section 2: More about Layouts and Components
Section 3: Standard Components and Their Events
Section 4: Programming with Components
Section 5: Threads, Synchronization, and Animation
Section 6: Nested Classes and Adapter Classes
Section 7: Frames and Dialogs
Section 8: Looking Forward: Swing and Java 2.0
Programming Exercises
Quiz on this Chapter
Chapter 8: Arrays
Section 1: Creating and Using Arrays
Section 2: Programming with Arrays
Section 3: Vectors and Dynamic Arrays
Section 4: Searching and Sorting
Section 5: Multi-Dimensional Arrays
Programming Exercises
Quiz on this Chapter
Chapter 9: Correctness and Robustness
Section 1: Introduction to Correctness and Robustness
Section 2: Writing Correct Programs
Section 3: Exceptions and the try...catch Statement
Section 4: Programming with Exceptions
Programming Exercises
Quiz on this Chapter
Chapter 10: Advanced Input/Output
Section 1: Streams, Readers, and Writers
Section 2: Files
Section 3: Programming with Files
Section 4: Networking
Section 5: Programming Networked Applications
Programming Exercises
Quiz on this Chapter
Chapter 11: Linked Data Structures and Recursion
Section 1: Recursion
Section 2: Linking Objects
Section 3: Stacks and Queues
Section 4: Binary Trees
Section 5: A Simple Recursive-descent Parser
Programming Exercises
Quiz on this Chapter
Appendix 1: From Java to C++
Section 1: C++ Programming Fundamentals
Section 2: Pointers and Arrays in C++
Section 3: Classes and Objects in C++
Appendix 2: Some Notes on Java Programming Environments
Appendix 3: Source code for all examples in the text