Practical Artificial Intelligence Programming in Java

Sponsor Advertisement

  • Author: Mark Watson
  • Format: archived PDF and example code
  • Price: free

This Open Content book covers AI programming techniques using Java.
The latest version has a completed new chapter on statistical natural language processing and a new section on embedded expert systems, and a new chapter on spam detection.
This is not the original book written for Morgan Kaufman Publishers. This book contains all new material.
Chapters include:

  • Search – graph search, and alpha-beta search in tic-tac-toe and chess
  • Natural Language Processing – a simple ATN parser that uses a huge lexicon derived from Wordnet data, material NLBean project, and an embedded Prolog parser (includes Sieuwert van Otterloo’s fine Prolog implementation in Java).
  • Expert systems – two simple examples using the Jess system
  • Genetic algorithms – Java utility classes and two examples
  • Neural Networks – utility classes for Hopfield and back propagation. Only includes simple examples to show how to use the utility classes.
  • Statistical Natural Language Processing (Markov Models)
  • SPAM Email detection

Download book here

The Ultimate CSS Reference

Sponsor Advertisement

  • Author: Tommy Olsson and Paul O’Brien (SitePoint)
  • Format: online HTML
  • Price: free

A comprehensive reference written by two of the world’s most renowned CSS experts. Although it is well written, this is an older reference and does not reflect the changes and additions introduced with CSS3.

Chapters include:

  • What Is CSS?
  • General Syntax and Nomenclature
  • At-rules Reference
  • Selector Reference
  • The Cascade, Specificity, and Inheritance
  • CSS Layout and Formatting
  • Box Properties
  • Layout Properties
  • List Properties
  • Table Properties
  • Color and Backgrounds
  • Typographical Properties
  • Generated Content
  • User Interface Properties
  • Paged Media Properties
  • Vendor-specific Properties
  • Workarounds, Filters, and Hacks
  • Differences Between HTML and XHTML
  • Alphabetic Property Index

Read: The Ultimate CSS Reference

PHP 5 Power Programming

Sponsor Advertisement

PHP 5 Power Programming
  • Author: Andi Gutmans, Stig Sæther Bakken, and Derick Rethans
  • Format: online PDF
  • Price: free

This book is an introduction to the advanced features new to PHP 5. It is written for PHP programmers who are making the move to PHP 5. Although Chapter 2, “PHP 5 Basic Language,” contains an introduction to PHP 5 syntax, it is meant as a refresher for PHP programmers and not as a tutorial for new programmers. However, web developers with experience programming other high-level languages may indeed find that this tutorial is all they need in order to begin working effectively with PHP 5.
Chapters include:

  • What Is New in PHP 5?
  • PHP 5 Basic Language
  • PHP 5 OO Language
  • PHP 5 Advanced OOP and Design Patterns
  • How to Write a Web Application with PHP
  • Databases with PHP 5
  • Error Handling
  • XML with PHP 5
  • Mainstream Extensions
  • Using PEAR
  • Important PEAR Packages
  • Building PEAR Components
  • Making the Move
  • Performance
  • An Introduction to Writing PHP Extensions
  • PHP Shell Scripting
  • PEAR and PECL Package Index
  • phpDocumentor Format Reference
  • Zend Studio Quick Start

Learning Object Oriented Programming with Delphi

Sponsor Advertisement

My image
  • Author: John Barrow
  • Format: online HTML
  • Price: free

This course uses Delphi to teach object orientation. Delphi’s roots lie in Pascal, and so it has a sound, structured foundation. It is also strongly object oriented and provides many OO characteristics such as class inheritance, static binding and dynamic binding, and reference semantics.

The module makes extensive use of graded, worked examples to give students hands-on experience in the implementation of OO code. This helps to bridge the gap between the seemingly simple OO principles and the ramifications of these principles in practice. Through the inductive sequencing of concepts and through the extensive use of worked examples, this module strongly supports independent study, and has been prepared with distance learning students in mind.

Chapters include:

  • Introduction to OO basics
  • Introduction to class inheritance
  • Programmer defined classes and objects
  • Accessing an object and its data
  • The Sender parameter and substitution
  • Introducing type inheritance
  • Using and abusing inheritance
  • Indirection
  • Association & Composition
  • Two Patterns Using Composition
  • Some Patterns for varying behaviour
  • Bidirectional links, Callbacks and Linking Classes
  • Factory Patterns
  • A Decorator

Sams Teach Yourself HTML 4 in 24 Hours

Sponsor Advertisement

  • Author: Dick Oliver
  • Format: online HTML
  • Price: free

Sams Teach Yourself HTML 4 in 24 Hours, Fourth Edition, is a carefully organized tutorial that teaches the beginning Web page author just what you need to know in order to get a Web page up in the shortest time possible. The book covers only those HTML tags and technologies that are likely to be used on a beginner’s Web page, and it is organized in a logical step-by-step order. This new edition updates coverage of new Web publishing technologies. Refined and reworked parts of the book to make it even more clear and straightforward for beginners.

Chapters include:

  • Hour 1. Understanding HTML and XML
  • Hour 2. Create a Web Page Right Now
  • Hour 3. Linking to Other Web Pages
  • Hour 4. Publishing Your HTML Pages
  • Hour 5. Text Alignment and Lists
  • Hour 6. Text Formatting and Font Control
  • Hour 7. Email Links and Links Within a Page
  • Hour 8. Creating HTML Forms
  • Hour 9. Creating Your Own Web Page Graphics
  • Hour 10. Putting Graphics on a Web Page
  • Hour 11. Custom Backgrounds and Colors
  • Hour 12. Creating Animated Graphics
  • Hour 13. Page Design and Layout
  • Hour 14. Graphical Links and Imagemaps
  • Hour 15. Advanced Layout with Tables
  • Hour 16. Using Style Sheets
  • Hour 17. Embedding Multimedia in Web Pages
  • Hour 18. Interactive Pages with Applets and ActiveX
  • Hour 19. Web Page Scripting for Non-Programmers
  • Hour 20. Setting Pages in Motion with Dynamic HTML
  • Hour 21. Multipage Layout with Frames
  • Hour 22. Organizing and Managing a Web Site
  • Hour 23. Helping People Find Your Web Pages
  • Hour 24. Planning for the Future of HTML

Read: Sams Teach Yourself HTML 4 in 24 Hours

C# in Detail

Sponsor Advertisement

My image
  • Author: Jon Jagger
  • Format: archived HTML
  • Price: free

This is a two 90 minute presentation course, containing over 300 Powerpoint slides, created by Jon Jagger for the ACCU Spring 2001 Conference.

Jon Jagger has taught this course to Microsoft’s developers and trainers, and his course is now a part of Microsoft’s official training curricula.

Content of course includes:

  • Part 1: Value Types
  • Part 2: Reference Types

Object Orientated Programming in ANSI-C

Sponsor Advertisement

  • Author: Axel Schreiner
  • Format: PDF
  • Price: free

Object-oriented programming is the current cure-all – although it has been around for much more then ten years. At the core, there is little more to it then finally applying the good programming principles which we have been taught for more then twenty years. C++ (Eiffel, Oberon-2, Smalltalk … take your pick) is the New Language because it is object-oriented – although you need not use it that way if you do not want to (or know how to), and it turns out that you can do just as well with plain ANSI-C. Only object-orientation permits code reuse between projects, although the idea of subroutines is as old as computers and good programmers always carried their toolkits and libraries with them.

This book is not going to praise object-oriented programming or condemn the Old Way. We are simply going to use ANSI-C to discover how object-oriented programming is done, what its techniques are, why they help us solve bigger problems, and how we harness generality and program to catch mistakes earlier. Along the way we encounter all the jargon – classes, inheritance, instances, linkage, methods, objects, polymorphisms, and more – but we take it out of the realm of magic and see how it translates into the things we have known and done all along.

Chapters include:

  • Abstract Data Types — Information Hiding
  • Dynamic Linkage — Generic Functions
  • Programming Savvy — Arithmetic Expressions
  • Inheritance — Code Reuse and Refinement
  • Programming Savvy — Symbol Table
  • Class Hierarchy — Maintainability
  • The ooc Preprocessor — Enforcing a Coding Standard
  • Dynamic Type Checking — Defensive Programming
  • Static Construction— Self-Organization
  • Delegates — Callback Functions
  • Class Methods— Plugging Memory Leaks
  • Persistent Objects — Storing and Loading Data Structures
  • Exceptions — Disciplined Error Recovery
  • Forwarding Messages — A GUI Calculator

Ada 95 Reference Manual

Sponsor Advertisement

My image
  • Author: Tucker S. Taft (Editor), Robert A. Duff (Editor)
  • Format: online HTML
  • Price: free

This Ada 95 Reference Manual is essentially identical to the new International Standard ISO/IEC 8652:1995(E) for the Ada programming language. The thorough technical revisions and extensions documented in this manual are built on broad participation from the international Ada community and generous support by leading institutions. Over 750 submitted revision requests were evaluated, and the resulting enhancements make Ada 95 an outstanding language. The flexibility of languages such as C++, modern features such as object orientation, and improved interfacing capabilities have been added to the reliable software engineering capabilities provided and proven for over a decade by the predecessor version Ada 83; furthermore, upward compatibility from Ada 83 to Ada 95 has been achieved.

Chapters include:

  • General
  • Lexical Elements
  • Declarations and Types
  • Names and Expressions
  • Statements
  • Subprograms
  • Packages
  • Visibility Rules
  • Tasks and Synchronization
  • Program Structure and Compilation Issues
  • Exceptions
  • Generic Units
  • Representation Issues

Thinking in C++ 2nd Edition (Volumes 1 & 2)

Sponsor Advertisement

  • Author: Bruce Eckel
  • Format: online HTML, archived PDF
  • Price: free

Bruce Eckel has kindly provided his books “Thinking in C++, Second Edition” free of charge to on-line readers.

Volume 1: Introduction to Standard C++

Fully revised and beefed up with plenty of new material on today’s Standard C++, the new edition of Bruce Eckel’s Thinking in C++: Volume I is an excellent tutorial to mastering this rich (and sometimes daunting) programming language, filled with expert advice and written in a patient, knowledgeable style.

The effective presentation, along with dozens of helpful code examples, make this book a standout. The text first sets the stage for using C++ with a tour of what object-oriented programming is all about, as well as the software design life cycle.

The author then delves into every aspect of C++, from basic keywords and programming principles to more advanced topics, like function and operator overloading, virtual inheritance, exception handling, namespaces, and templates.

C++ is a complex language, and the author covers a lot of ground using today’s Standard C++, but without getting bogged down in excessive detail.

Chapters include:

  • Introduction to Objects
  • Making & Using Objects
  • The C in C++
  • Data Abstraction
  • Hiding the Implementation
  • Initialization & Cleanup
  • Function Overloading & Default Arguments
  • Constants
  • Inline Functions
  • Name Control
  • References & the Copy-Constructor
  • Operator Overloading
  • Dynamic Object Creation
  • Inheritance & Composition
  • Polymorphism & Virtual Functions
  • Introduction to Templates

Volume 2: Practical Programming

Best selling author Bruce Eckel has joined forces with Chuck Allison to write Thinking in C++, Volume 2, the sequel to the highly received and best selling Thinking in C++, Volume 1. Eckel is the master of teaching professional programmers how to quickly learn cutting edge topics in C++ that are glossed over in other C++ books.

In Thinking in C++, Volume 2, the authors cover the finer points of exception handling, defensive programming and string and stream processing that every C++ programmer needs to know. Special attention is given to generic programming where the authors reveal little known techniques for effectively using the Standard Template Library.

In addition, Eckel and Allison demonstrate how to apply RTTI, design patterns and concurrent programming techniques to improve the quality of industrial strength C++ applications.
This book is targeted at programmers of all levels of experience who want to master C++.

Chapters include:

  • Introduction
  • Exception Handling
  • Defensive Programming
  • Strings in Depth
  • Iostreams
  • Templates in Depth
  • Generic Algorithms
  • Generic Containers
  • Runtime Type Identification
  • Multiple Inheritance
  • Design Patterns
  • Concurrency

online HTML Volume 1:

online HTML Volume 2:

archived PDF:

Ada 95 Rationale

Sponsor Advertisement

My image
  • Author: Laurent Guerby
  • Format: online HTML
  • Price: free

Ada is a programming language of special value in the development of large programs which must work reliably. This applies to most defense applications (from which background Ada evolved) and extends to many application domains. Indeed over half the Ada programs now being developed are for non-defense applications.
This document describes the rationale for Ada 95, the revised International Standard. Ada 95 increases the flexibility of Ada thus making it applicable to wider domains but retains the inherent reliability for which Ada has become noted. Important aspects of Ada 95 include

  • Object Oriented Programming. Ada 95 includes full OOP facilities giving the flexibility of programming by extension which enables programs to be extended and maintained at lower cost.
  • Hierarchical Libraries. The library mechanism now takes a hierarchical form which is valuable for the control and decomposition of large programs.
  • Protected Objects. The tasking features of Ada are enhanced to incorporate a very efficient mechanism for multitask synchronized access to shared data. This is of special value for hard realtime systems.

Chapters include:

  • Evolution of Ada 95
  • Highlights of Ada 95
  • Overview of the Ada Language
  • Introduction
  • Lexical Elements
  • Types and Expressions
  • Object Oriented Programming
  • Statements
  • Subprograms
  • Packages
  • Visibility Rules
  • Tasking
  • Program Structure and Compilation Issues
  • Exceptions
  • Generics
  • Representation Issues
  • Predefined Language Environment
  • Interface to Other Languages
  • Systems Programming
  • Real-Time Systems
  • Distributed Systems
  • Information Systems
  • Numerics
  • Safety and Security