Be sure to check out our new Blogs and discover all the new Free Training!

Free Computer and IT Training Tutorials and Courses

Newsletter for Computer IT Education,
Training & Tutorial Resources

*** ISSUE #68 - June 2007 ***

Please Update Your Bookmarks & Web Links!

This Newsletter is only sent to its subscribers
and is available on the web at

Newsletter Archives are here:

Subscribe and unsubscribe instructions are at the end.

Please forward this newsletter to all your friends
and associates who might be interested!

In This Issue:

1)... Editor's Greeting

2)... The Best New Free I.T. Training & Tutorial Sites

3)... New Free I.T. Books & Book Sites

4)... University Computer Science Course Sites

5)... The Best Suggested Sites from Website Users

6)... New I.T. Training & Tutorial Link Sites

7)... I.T. Sites Worth Mentioning

8)... Question of the Month about Technical Training

9)... Please Support Our Computer Training Mission

1) Editor's Greeting:

Hello everyone, and welcome to our new subscribers!

This is the June 2007 issue (#68) of our free monthly newsletter for Computer IT Education, Training, & Tutorial Resources providing you with the latest Free online IT Training Resources that we have recently discovered and researched. This newsletter is free to anyone subscribing (instructions at bottom, no username/password is needed). To access our member site, however, you do need a user name and password - registering as a member of costs $15 for two months, for more information please see Become a Member of

My desire is that these free resources will help you with your computer education and training and are tools to advance your IT career. Our main mission is the training of those less fortunate who are seeking to become computer literate, both technically and from a user's perspective. 

In this issue we describe and link to a total of 124 computer, IT and programming learning and tutorial web sites. By means of this email newsletter, you have knowledge of and access to these sites before our web site visitors do.

***Current News ***

Please take a look at our Blogs, We post on a daily basis to these blogs all New Free Training and Tutorial Resources, as we discover and evaluate them, here are the links:

       Best New Free Technical Computer and Development Training Sites

       Free Computer, Technical, and IT Books

       Our 3 Blogs for

            - Web Development   - Adobe & Macromedia   - Microsoft Office

To get your Free Computer Training updates via RSS, please cut and paste this urls into your RSS reader:

Please Visit Our New Free Training & Tutorial Search Engine
- this new website at is a search engine with a large database of over 150,000 free IT education and training web resources, with another 70,000 free resources reserved exclusively for paid members. If you're an Member, go to to access the special members' page for searching over 220,000 free training web resources.

All of the links for these 220,000 free web resources have been validated, so you should not get any broken ones. We are also caching all previous results pages to help you find all the free training content and materials you need and are looking for. So check out our new free IT training search engine now, and if you'd like to, please provide me your feedback. Again, the url is: Thank you.

For your convenience, this newsletter is also available to subscribers in HTML format at this special url:

I wish you the best with your computer studies and learning.

Warm Regards, 
Jeff Love 
Newsletter Editor and Webmaster


"Learn New Skills and Increase Your Earning Power
 - With Free Online Computer Training!"

*** Become a Member of ***

Our Members' Site contains the web's best computer and IT training resources and tutorials. This content is individually linked and presented in a way to expedite and facilitate your IT learning experience. We have done all the web research and presentation work for you so you can concentrate solely on your computer training. For short FAQ Answers, please see the end of this newsletter.

The total price to join as a member is only $15.00 total for 2 months, $25 for 4 months, $34 for 6 months, or $59 for a whole year. The funds generated will assist us to help all those seeking IT education and application development training. Here's the link to see what's available on our member's site and to sign up:

This is our new free computer and IT education and training search engine housing over 220,000 free training internet resources! Just type in a topic you're looking for and get tons of great web resources instantly. These search results are much better than the big search engines, like google. You can also check out our predefined search results page giving you tons of free training resources:

Our new software application and office training and tutorial site,, is now up and running. We give you Free access to hundreds of Free Training and Tutorials covering Microsoft Office, Flash, Photoshop, Dreamweaver and FrontPage. We also provide you a member site for the best available online software application training. You can follow this site's blog on our EOFC Twitter page

-> Here are Your 3 Rewards for Subscribing to this Newsletter <-

*** Free Online IT Training Materials for Subscribers *** 
This section of our site contains over 2,000 free IT, computer and programming training resource links:

*** Free Online Computer Training and Tutorial Resources *** 
Containing over 8,000 free IT training and tutorial resources, this section of our site is available only to our newsletter subscribers and web site members:

*** Free e-Book: "Understanding Computer Security" *** 
Our new e-book contains the best information from U.S. government agency computer security papers and guides and presents it in a coherent and understandable manner. My hope is that this e-book will make computer security easier to learn. Click here to receive your Free Copy: (553 kb). When unzipped it is a windows executable.


2) The Best New Free I.T. Training & Tutorial Sites:

This section of our newsletter contains the best new free IT training and tutorial sites that we have found and researched in the last few weeks. These resources will be added to our Free IT Training & Courses page at, our Free IT Tutorials and Guides page at, or to our members' site.

This is our new Free computer and IT education, training and tutorial search engine housing over 150,000 free training internet resources! Just type in a topic you're looking for and get tons of great web resources instantly. We believe these results are better than the big search engines, like google. 

You can start searching right now using this form:

Here are a few search results to get you started:

  Web Development:

  Java Learning Resources:

  Linux Tutorials:

  XML Tutorials:

  C++ Tutorials:

  A+ Tutorials and free practice questions:

  iNet+ Tutorials:

  Network+ Tutorials:

  MCSE preparation:



  Windows 2003: paid Member-only search with 70,000 more free resources:  

  If you forgot your password please go here to retrieve it:



Visit TrainingByEmail to receive Free Training for C#, ASP.Net, SQL, Word, Excel, and Outlook,  via your email every week! We will send out a new training in the topic of your choosing every week. You can then save this, print it out, or delete it all at your convenience. And you can't beat the price, FREE!


Intelligentedu Online Library of Training Courses

This is another one of our new Free training and tutorial sites, providing over 450 free online IT tutorials. Tutorials range from entry level training on using word processors through to advanced techniques in programming, web development, database design, and network routing. In-depth courses are also available at low cost.


Free Ruby On Rails Learning and Training Content

Ruby on Rails is an open-source web application framework designed to make the job of the developer easier by providing everything one needs to create web-based, database-driven applications easily while focusing on the idea, not the technology behind implementing the idea. It is designed to be a marriage of the “quick-n-dirty” camp of PHP web developers and the “slow-n-clean” methodologies of the old enterprise architecture crowd. Ruby on Rails succeeds by automating the creation of the most common types of Web applications while not straightjacketing you if you want to add custom or atypical requirements. Moreover, compared to many Free Software libraries that perform individual aspects of a Web application, Rails contains a nicely integrated set of tools for all aspects.

Ruby on Rails is taking Web development by storm. Let's start with a refresher on the underlying technologies:

Being a full-stack framework means that all layers in Rails are built to work together so you don't repeat yourself and can use a single language from top to bottom. Within Rails, everything (templates to control flow to business logic) is written in Ruby. Rails favors reflection and runtime extensions over configuration files and annotations.
Download the open source Ruby on Rails Web framework.

Download Ruby from the project Web site.

Here are some of the best free Ruby On Rails Learning and Training Content that I have recently found.

Ruby On Rails (24 pages, 922kb, pdf format)
The main goal of the document is to give you an overview of Ruby On Rails, specifically, what it is, what is does, and where it is being used. You will see if Rails is feasible for your needs and will learn about resources where you can obtain more information about learning Rails.

Jim Weirich's Ruby On Rails Presentation
[.mov, 50.4MB] This was given at the January 2006 Cincinnati (Ohio, USA) eXtreme Programmers Group, XP Cincinatti. (archived)

Ruby On Rails Screencasts and Conference Presentations
These Screencasts offer a view at the fundamentals of getting started with a Rails application, and how they work. The presentations are slides and a movie.

An Introduction to Ruby On Rails (A 13 slide presentation in pdf format.)

An Introduction to Ruby On Rails (44 slides, 944kb, pdf format)

Ruby On Rails slides (48 slides, 553b, pdf format)

4 Chapters from Build Your Own Ruby On Rails Web Applications (163 pages, 3.95mb, pdf format)

Installing Ruby On Rails on Linux (7 pages, 711kb, pdf format)

A Ruby On Rails Cheatsheet
 (1 page, 105kb, pdf format)

Another Ruby On Rails Cheatsheet (1 page, 186kb, pdf format)

Ruby On Rails Reference (37 pages, 492kb, pdf format)
This is a "short" Ruby on Rails reference. It's goal is to give you an overview over the most used functions, methods, and classes. It is not intended as a tutorial, but as a reference guide for those already familiar with this technology.

Ruby on Rails 1.16 - Edge Reference (25 pages, 77kb, pdf format)

A Quick Introduction to Rails
This Rails presentation is designed for a firefox browser.

Ruby On Rails Videos at Blinkbits
These videos include the following:
 - About Ruby on Rails Components (video/quicktime)
 - Seeing Is Believing -
 - Ruby on Rails - Why not
 - AJAX in Ruby on Rails tutorial
 - Ruby on Rails demo
 - tim bray - ruby on rails podcast
 - Screencast InstantRails

10 Things Every Java Programmer Should Know About Ruby, By Jim Weirich

Software Architecture Case Study: Ruby on Rails
 (24 pages, 385kb, pdf format)

The Many Facets of RubyGems

Using Ruby - An Introduction to Ruby for Java Programmers

An Invitation to Ruby
This presentation is an invitation to check Ruby out.


Java / J2EE Job Interview Companion Ebook

This is an 70-page ebook containing over 400+ questions with answers covering Java and J2EE job interview questions. Answers include many diagrams, examples, code snippets, comparison tables, tips, x-ref and key area icons. Here is the PDF Download. Here is the 47 page concise version.


Web Design and Development Tutorials

Here are Training Tutorials and Techniques, with sample code, teaching Web Design and Development. These tutorials are for an introductory Web Page Design Course at Saint Vincent College. The modules and tutorials here cover HTML and web programming techniques. HTML tags are taught via tutorials and explanations. Chapter 10 covers Cascading Style Sheets (CSS) and how these are used to facilitate web page and web site design with consistency across a whole site. Later training chapters discuss techniques that can be used to make web pages more interactive, including coding examples using JavaScript, HTML forms, CGI Scripts, VBScripts, Active Server Pages, and Java Applets. The reference page at the end provides web resources for further in-depth information on web development.

Table of Contents:

  1. Preface
  2. Markup Languages - A Definition and Some History
  3. Beginning HTML
  4. HTML Lists
  5. HTML Tables
  6. HTML - Color, Fonts and Special Characters
  7. HTML Links
  8. HTML Images
  9. HTML Frames
  10. Cascading Style Sheets
  11. MicroSoft PhotoDraw
  12. JavaScript
  13. HTML Forms and Form Handling
  14. VBScript
  15. Microsoft FrontPage
  16. Active Server Pages
  17. Java Applets
  18. XML Meaning and More
  19. Macromedia Flash 5.0
  20. References


PHP Programming Tutorials hosts these free PHP Programming Tutorials that will help you learn how to use and code PHP on web sites and web applications. These PHP tutorials use screen shots and coding examples to teach you how to program important PHP functions and routines. The aim of picture-based tutorials is to make it faster and easier for students to learn new computer and programming concepts.

Learning PHP Basics

Working with PHP Variables Working with Numbers PHP User Functions PHP Logic & Loops
Working with Files


Perl Programming Tutorials

This new application and programming tutorial web site,, provides the following free Perl Programming Tutorials. These tutorials demonstrate through screen shots and examples how to code important functions and programming topics using Perl. The Perl tutorials on this site are picture-based on screen shots that show you how to code the programming routines being taught. This picture type of tutorial has been shown to be easier for people to use and understand when learning new software and computer techniques.

Learning the Perl Basics

Working with Perl Variables Working with Numbers Perl Subroutines Perl Logic & Loops Working with Files


Top Programming Diggs in the last 30 days

Here are what I am judging to be the Best Free Learning and Training Programming Diggs in the last 30 days. These cover many areas, including Ruby On Rails; Programming Advice; Web Programming with HTML CSS, JavaScript, PHP, Ajax, and Apache; Grid Design; Google Gears; and Firefox Extensions.


26 Best Free Project Management Training Resources

Here are the 26 Best Free Project Management Training and Learning Resources on the web today which I have recently found and researched. These will help you become a better project manager and also assist you in studying for the PMP Certification Exam.

A Guide to the Project Management Body of Knowledge (PMBOK Guide 2000 Edition)
(12 chapters, 6 appendices, 211 pages, pdf)

A Guide to the Project Management Body of Knowledge (PMBOK Guide 2000 Edition)
(12 chapters, 6 appendices, 55 pages, pdf)

Understanding the Project Management Body of Knowledge (PMBOK) Guide
(11 pages, pdf)

Comparison Sheet PMBOK Guide - ICB
(3 pages, pdf)

Thinking Inside the Box: A Logical Look at the PMBOK 3rd Edition Processes
(16 pages, pdf)

PMBOK Guide - Third Edition Changes
(54 pages, pdf)

Free Project Management Book
Explains how to Initiate, Plan, Execute and Close projects, along with how to manage people, time, budget, communications, risks and issues.

3 Chapters from the book, Planning and Control Using Microsoft Project and PMBOK Guide
(40 pages, pdf)

PMBOK - Making it Work
(23 slides, pdf)

Integrating the Project Management Body of Knowledge (PMBOK) Guide and the Unified Process (UP)
(13 pages, pdf)

A Guide to the Project Management Body of Knowledge (PMBOK Guide 1996 Edition):
(12 chapters, 7 appendices, 182 pages, pdf, archived)

The following Free Project Management learning resources require registration, click on the "View this now" link in light blue.


People and Methodologies in Software Development

This is a well written doctorate thesis, by  Alistair Cockburn, named People and Methodologies in Software Development. It discusses software development methodology and how people on the development project work with a methodology. Reading this will help you understand how to manage application development projects better and understand better how to work with people on a project. Here is a mirror of this thesis.

Table of Contents:

1. The Research Topic

   1.1 Clarification of Words
   1.2 Background to Question 1
   1.3 Background to Question 2
   1.4 Background to Question 3
   1.5 Placing This Work in Context
   1.6 Personal Motivation and Direction

2. The Research Approach

   2.1 The Research Practice
   2.2 The Research Theory

3. Issues and Results Chronologically

   3.1 The Impact of Object-Orientation on Application Development
   3.2 Selecting a Project's Methodology
   3.3 The Interaction of Social Issues and Software Architecture
   3.4 Characterizing People as First-Order, Non-Linear Components in Software Development
   3.5 Project Winifred Case Study
   3.6 Just-in-Time Methodology Construction
   3.7 Balancing Lightness with Sufficiency

4. Consolidation ed Results and Reflection

   4.1 Answering the Questions
   4.2 Consolidation and Reliability of Results
   4.3 Relating to Mathiassen's Reflective Systems Development
   4.4 Reflection: The Limits of People-Plus-Methodologies


Free Training for Visual Basic .Net

Here are two free training resources for Visual Basic .Net. The first one linked and described below is for those with no previous Visual Basic programming experience, and for that matter, no programming knowledge is needed at all. The second one below is for those who already have used and programmed in Visual Basic 6 and need to transition to VB .Net.

This is a set of Visual Basic .Net Projects for the classroom. Teacher notes are available for each VB .Net project, along with student programming assignments. The objective of this VB.Net project book is as a first programming course using Visual Basic .Net. It assumes no previous programming knowledge on the part of the student. (pdf format, 364kb, 81 pages)

A Programmer’s Introduction to Visual Basic.NET is structured to help you learn and apply the changes from Visual Basic to Visual Basic.NET (VB.NET). Most of this ebook assumes that you are comfortable with Visual Basic 6.0 (VB6). It discusses and explains the major differences between VB6 and VB.NET. The Common Language Specification is included in the appendix. (pdf format, 4.2mb, 223 pages)


Free training for ASP .NET with VB .NET

If you are seeking to learn how to use ASP .NET to create web applications, then this training from St. Vincent College will interest you. This free training for developing ASP .NET Web Applications with VB .NET shows you how to code using ASP .NET to create web applications, and specifically, those types of applications that work as a front-end to a database. Visual Basic .NET 2003 is used as the programming language. The coding examples given assume that you are familiar with introductory programming. The coding examples that connect to and modify the database assume that you already know basic database concepts, such as what tables and queries are. The database examples use SQL Server but a background in Access, Oracle, or similar should be sufficient.


SQL Server 2005 Webcasts and Tutorials

SQL Server 2005, from Microsoft, provides a database that integrates SQL Server and the CLR to provide several major benefits, including enhanced programming mode, enhanced safety and security, user defined types and aggregates, and a common development environment where database development is integrated into the Microsoft Visual Studio 2005 development environment.
Enterprises use SQL Server 2005 to manage their data along with integrated Business Intelligence tools. Its database engine offers storage for both relational and structured data.

Here are Microsoft's SQL Server 2005 On-Demand and Live Webcasts, along with their collection of SQL Server 2005 Tutorials.

TechNet Events: SQL Server 2005

SQL Server 2005 Webcasts - Live and On-Demand Webcasts

This is a 10-part developer primer series of on-demand webcasts by Kimberly Tripp, a SQL Server expert.
 - A Primer to Proper SQL Server Development
 - ADO.NET and CLR Runtime Hosting
 - Business Intelligence and Reporting Services
 - Data-Driven Smart Client Development
 - Security, Search, Replication, and Management
 - SQL Server 2005 Essentials
 - SQL Server Integration Services
 - T-SQL
 - All Webcasts

SQL Server 2005 Tutorials
 - SQL Server Tools Tutorials
 - Analysis Services Tutorial
 - Database Engine Tutorials
 - Data Mining Tutorials
 - Integration Services Tutorial Lessons
 - Notification Services Tutorials
 - Reporting Services Tutorials


3) New Free Computer IT Books, Publications & Book Sites:

Some of these web resources will be added to our Free IT Books page at and some will be added to our members site

Free and Open Source Online Books

Huihoo - Free and Open Source Online Books
 is a web site hosting free and open source online books in many technical areas, as listed below. These can help you become more proficient and increase your knowledge and understanding of these specific technologies.

Topics covered by Online Books at Huihoo:

Java programming
Python programming
Graphics, Game Design, Animation
Hardware & Computer Organization and Architecture
Digital Media
Theory & Data Structures & Algorithms
Artificial Intelligence
Compiler Design and Construction
HPC, Cluster, and Beowulf Cluster
Perl Scripting
Networking, TCP/IP
Web Programming, HTML
C++ programming
Oracle, PL/SQL
Ruby programming
Unix programming


2 Google Searches for Computer Books

Here are two google searches that return links to many freely available online books covering networking, Unix, Linux, Oralce Database, Web Design, Web Programming, Java Programming, Java Enterprise Programming, Perl Scripting, and XML. These searches use ordinary keywords, such as reference and library.

 Google Book Search #1

 Google Book Search #2


Freely Available Programming Books

Here is repository of freely available books and ebooks at
Books hosted here include the following topics:

 - Programming
 - Algorithms
 - Assembly
 - ASP.Net
 - C++ Programming
 - Visual Studio with C++
 - Gawk
 - Gdb
 - Java Programming
 - J2EE
 - JavaScript
 - Parallel Programming
 - Perl
 - PHP
 - Python Programming
 - XML


140 Ebooks on C, C++, Python, Ruby, Security, GTK

Here is another ebook repository containing about 140 freely available ebooks on the following topics:


188 Freely Available Ebooks

Here are 188 Freely Available Ebooks covering several application and web programming topics, as show below. These are mainly about Java development technologies and web application programming tools and topics, such as Ajax.

Web Development and Programming Topics covered:

Oracle Application Server 10G Web Development
Core JavaServer Faces
Struts Reference
JavaServer Pages (JSP)
AJAX In Action
Java Programming Language Ebook
Java Traps and Pitfalls
The Java Programming Language
Java Development with Spring, Hibernate, and Eclipse
Ajax Patterns
Beginning JavaScript with and Ajax
Apache Ant
Jakarta Tomcat
Ajax Foundations
JSF and Ajax - Rich Internet Components
Web Frameworks: Struts, Spring MVC, WebWork, Tapestry and JSF
DHTML with JavaScript and DOM
Design Patterns
Html Using Css
JSP Building Web Applications
JFC Swing Tutorial
Java Web Development
Struts, Tapestry, Commons, Velocity, Junit, Axis, Cocoon, Internetbeans, Webwork
Web Site Accessibility
Eclipse IDE
Javascript and DHTML
Regular Expressions
Unix Tools
FreeBSD and OpenBSD Security
Ajax Design Patterns
SCJP Sun Certified Programmer
Snort and Ethereal
Security Tools and Exploits
sed and awk


Bulgaria Online Books Archive

Here is a repository of online computer, programming, application, and web development books hosted by Bulgaria Online Books Archive. Most of these books are dated, but many are still a good reference for learning how to program or perform setup or administration activities on your operating system and networks.

Operating System Books
 - The Unix Operating System
 - Unix Power Tools
 - Linux
 - Red Hat Linux

Programming Books
 - ActiveX
 - CGI
 - Java Applets
 - Java
 - JavaScript
 - Perl
 - Visual C++
 - C ++ Programing
 - Cryptography
 - Regular Expressions
 - Tcl and Tk toolkit
 - C Programming
 - Tex

Web Development Books
 - Web Scripting
 - WebMaster
 - Shockwave Web Pages
 - Web Graphics and Web Page Design
 - Java Web Applets
 - Perl for Web Programming
 - Fusion Web Database
 - WWW Plug-Ins
 - Web Programming
 - Web Publishing

Database Books
 - Oracle 8
 - SQL

More Books

 - TCP/IP Networking
 - Sendmail
 - Firewalls
 - Unix and Internet Security
 - Using Samba

 - Unix Power Tools
 - Unix System V Edition
 - Vi Editor
 - Sed & Awk
 - Korn Shell

Web Development:
 - CGI Programming
 - JavaScript
 - Perl
 - Webmaster

 - Java Programming
 - Java Reference
 - Java AWT
 - Java Classes

Networking Books

PC Books

Books for Routers

Books for Software Applications

How Tos


Free Book: Software Design Using C++

Here is a Free Online Programming Book, titled Software Design Using C++, made available by the Computer and Information Science Department of St. Vincent College. This online C++ programming book covers the learning materials for three complete computer science courses. Many C++ topics are covered, including intermediate and advanced topics.  The C++ code examples were tested with Microsoft's Visual C++ 6.0 compiler, and also (in most cases) with both the Visual C++ .NET 2003 compiler and the g++ compiler under Linux. Most should also work with Visual C++ .NET 2005 as well as other compilers. Some of the C++ code examples need to be run in the .NET environment.

Table of Contents

  1. Introduction and Philosophy

  2. Introductory Topics
    1. Simple C++ Programs
    2. Using the Compiler and Debugger
    3. Simple C++ Functions - No parameters or return values.
    4. Decisions, Decisions: Making Choices in C++
    5. Complex C++ Functions - With parameters and/or return values.
    6. Repetition in C++ - Loops
    7. A Matter of Style: The Art of Programming
    8. Programming Patterns
    9. Arithmetic and Formatting of Output in C++
    10. Basics of Arrays
    11. Using Objects
    12. Introduction to Windows Forms Applications
    13. Basics of Data Streams
    14. Simple Graphics
    15. Useful Tables: Precedence Chart, Data Types, and Library Functions
    16. Review of Introductory Topics

  3. Intermediate Topics
    1. You can review the previous section to see if you are ready for this intermediate section.
    2. Software Engineering
    3. Functions and Parameters
    4. Arrays
    5. Records (Structures)
    6. Files
    7. Web Search I (Simple Web Search in Linux)
    8. Objects and Classes
    9. More Complex Object-Oriented Features
    10. Recursion (Including recursive sorting algorithms)
    11. Pointers
    12. Linked Lists
    13. Stacks
    14. Queues
    15. Intermediate Windows Forms Applications

  4. Advanced Topics
    1. Computer Science Theory
    2. Advanced Linked Lists
    3. Binary Trees
    4. Heaps and Heapsort
    5. Hash Tables
    6. B-Trees
    7. AVL Trees
    8. C++ Exceptions
    9. External Sorting
    10. The Standard Template Library
    11. Web Search II (Web Search in Linux)
    12. Advanced Windows Forms Applications
    13. Using AppWizard
    14. Professional Programming: Issues and Tools
    15. Graphics Programming

  5. Further Information
  6. Search CIS Dept Web Pages can be used to search for specific C++ programming items.


Python Data Structures and Algorithms Book

This Python book, Data Structures and Algorithms with Object-Oriented Design Patterns in Python, written by Bruno R. Preiss, teaches data structures and algorithms presented in the Python programming language. Data structures and Algorithms are the fundamental pieces from which larger and more complex software components and applications are developed. This book will show and teach you the following: 1) how the information is arranged in the memory of the computer, 2) the algorithms for manipulating the information contained in the data structure, and 3) the performance characteristics of the data structure, so you can select an appropriate data structure for a given application. This book also illustrates object-oriented design and it promotes the use of common, object-oriented design patterns. Here are the author's other books, covering the same content, but for different programming languages: C++ BookJava Book, C# BookRuby Book, Lua Book, Perl Book, PHP Book.

Table of Contents for Data Structures and Algorithms with Object-Oriented Design Patterns in Python:

  » Colophon
  » Dedication
  » Preface
  » Introduction
  » Algorithm Analysis
  » Asymptotic Notation
  » Foundational Data Structures
  » Data Types and Abstraction
  » Stacks, Queues, and Deques
  » Ordered Lists and Sorted Lists
  » Hashing, Hash Tables, and Scatter Tables
  » Trees
  » Search Trees
  » Heaps and Priority Queues
  » Sets, Multisets, and Partitions
  » Garbage Collection and the Other Kind of Heap
  » Algorithmic Patterns and Problem Solvers
  » Sorting Algorithms and Sorters
  » Graphs and Graph Algorithms
  » Python and Object-Oriented Programming
  » Class Hierarchy Diagrams
  » Character Codes
  » References
  » Index


4) University Computer Science Course Sites Free to Browse and Study:

These web sites will be added to our Free University IT Course Webs page at

148 Free University Lectures in Computer Science

Here are 148 Free University Lectures in Computer Science, courtesy of Many of the computer science lectures listed in the beginning of the linked list below also include video and audio learning content. These lectures cover many computer and technical topics, including how computers operate, how computers are programmed, and Information Technology (I.T.).

» Machine Structures (C, Assembly, CPU design...) - UC Berkeley
» Introduction to Computers - UC Berkeley
» Understanding Computers and the Internet - Harvard
» Computer Language Engineering - MIT
» Introduction to Algorithms - MIT
» Programming Languages - Washington
» Computer Science 1 - UCLA
» Search Engines: Technology, Society and Business - UC Berkeley
» The Structure and Interpretation of Computer Programs - UC Berkeley
» Donald Knuth: Musings and More (Video Collection) - Stanford
» Structure and Interpretation of Computer Programs - MIT
» How I Invented the Personal Computer (Steve Wozniak) - MIT
» Introduction to Computer Science (Java) - Virginia
» Data Structures and Advanced Programming (Java) - UC Berkeley
» 3D Modeling, Animation and Rendering with Blender - Tufts
» Vision Algorithms - Washington
» Memory Circuit Design - Boise State
» Digital Image Processing - UC Berkeley
» Circuits and Electronics - MIT
» Data Structures and Advanced Programming - UC Berkeley
» Principles of Digital Communication II - MIT
» Computer System Engineering - MIT
» Introduction to Symbolic Programming - UC Berkeley
» Alan Turing: Codebreaker and AI Pioneer - MIT
» Software Breakthroughs (Bill Gates) - MIT
» Networks and Games - UC Berkeley
» Sky.NET Simulations - Rice
» Human Beings and the Machines of Sunshine - Rice
» The Semantic Web (Tim Berners-Lee) - MIT
» Creating a Science of Games - Rice
» HTML, CSS, Javascript (Screencasts) - Macquarie
» Introduction to Python (Screencast) - Macquarie
» Operating Systems and System Programming - UC Berkeley
» Functional Programming in Scheme - Aalborg
» History of Information - UC Berkeley
» Reshaping Space, Time and Energy - Washington
» Game Programming - Eastern Michigan
» Introduction to Computation and Problem Solving - MIT
» Computers in Our World (Brian Kernighan) - Princeton
» Logic Programming - Carnegie Mellon
» Introduction to Computer Graphics - Washington
» Introduction to Computer Graphics - British Columbia
» Computational Complexity Theory - Bristol
» Object Oriented Programming with Java - Bristol
» Introduction to Cryptography - Bristol
» Information Security - Bristol
» Advanced Cryptography - Bristol
» Operating System Engineering - MIT
» Foundations of Computer Science (ML) - Cambridge
» Introduction to Computer Systems - Carnegie Mellon
» Foundations of Programming Languages - Carnegie Mellon
» Linear Logic - Carnegie Mellon
» Constructive Logic - Carnegie Mellon
» The Anthropology of Computing - MIT
» Computer Graphics - Queen Mary
» C++ for Image Processing - Queen Mary
» Computability - Queen Mary
» Algorithms and Data Structures (Java) - Queen Mary
» Introduction to Programming (Java) - Queen Mary
» Computational Molecular Biology - Carnegie Mellon
» Machine Learning - Carnegie Mellon
» Computer Communication and Networks - Washington
» Tools for Software Development - Washington
» Software Engineering - Washington
» Formal Models in Computer Science - Washington
» Data Structures - Washington
» Machine Organization and Assembly - Washington
» Introduction to Database Systems - Washington
» Operating Systems - Washington
» Advanced Internet and Web Services - Washington
» Computer Vision - Washington
» Software for Embedded Systems - Washington
» Advanced Digital Design - Washington
» Computer Design and Organization - Washington
» Introduction to Artificial Intelligence - Washington
» Introduction to Data Compression - Washington
» Neurobotics - Washington
» Computer Systems - Washington
» Artificial Intelligence - Washington
» Algorithms and Computational Complexity - Washington
» Implementation of Programming Languages - Washington
» Software Engineering - Washington
» Computational Neuroscience - Washington
» Data Mining - Washington
» Computer Graphics: Visualization - Washington
» Image and Video Analysis - Washington
» Quantum Computing - Washington
» Programming Languages (Haskell) - Oxford
» Computer Vision - Oxford
» Software Engineering Concepts - MIT
» Logic II - MIT
» Ambient Intelligence - MIT
» Introduction to Game Development - Tufts
» Programming Languages (Scheme) - Tufts
» Database Systems - Tufts
» Artificial Intelligence - Tufts
» Data Structures  - Tufts
» Computational Geometry - Tufts
» Real-Time Rendering - Virginia
» Introduction to Computer Graphics - Virginia
» Animation - Virginia
» Image Synthesis - Virginia
» Big Data in Computer Graphics - Virginia
» Advanced Computer Graphics - Virginia
» Game Design - Utrecht
» Information Visualization - British Columbia
» Microelectronic Devices and Circuits - MIT
» Introduction to Computation (Java) - British Columbia
» Fundamentals of Computing (Python) - Kansas State
» Programming Principles in Java - Kansas State
» Data Structures and Algorithms - Kansas State
» Introduction to C - Caltech
» Introduction to C++ - Caltech
» Advanced C++ - Caltech
» Introduction to Java - Caltech
» Introduction to Haskell - Caltech
» Introduction to Python - Caltech
» Introduction to Computation - Caltech
» Introduction to Artificial Intelligence - UC Berkeley
» Introduction to Database Systems - UC Berkeley
» Foundations of Computer Graphics - UC Berkeley
» XML Foundations - UC Berkeley
» Science of Sound - Utah State
» Introduction to Molecular Computing - Tokyo
» Applied Parallel Computing - MIT
» Numerical Methods of Applied Mathematics II - MIT
» Infinite Random Matrix Theory - MIT
» Advanced Topics in Cryptography - MIT
» Quantum Computation - MIT
» Internet Research Problems - MIT
» Signals and Systems - MIT
» Computation Structures - MIT
» Microelectronic Devices and Circuits - MIT
» Information and Entropy - MIT
» Data Communication Networks - MIT
» Automatic Speech Recognition - MIT
» Transmission of Information - MIT
» Principles of Digital Communication I - MIT
» Computer System Architecture - MIT
» Techniques in Artificial Intelligence - MIT
» Principles of Computer Systems - MIT
» Multithreaded Parallelism: Languages and Compilers - MIT
» Computer Networks - MIT
» User Interface Design and Implementation - MIT
» Network Optimization - MIT
» Introduction to Computer Science - Bristol
» Programming in C - Bristol
» Intro to Software Engineering (Java, Haskell) - Bristol


5) The Best Suggested Sites from our Website Users
- Every month we feature the best suggested IT training and tutorial sites from our website visitors. Here are this month's sites: 

Open IT Books

At this site you can download Free I.T. Books and Ebooks covering Programming (JAVA, VB, NET, C, PHP), Design (Flash, Photoshop, 3Ds Max, Maya), Database, Network, Windows and MacOS.

Book Categories:

This site has free online certification practice tests for the following I.T. certification:




6) New Computer & IT Training & Tutorial Link & Resource Sites:

These web sites will be added to our IT Links and Resources page at 


Educypedia: Computers - The Educational Encyclopedia

This site offers over 4,500 knowledge and tutorial resource links covering many computer and technical areas, including the following:

Web Design:
Adding sound
Cliparts - giffiles
Color charts
Javascript tools
Useful tools
Wavs - midi
Website control
Web search engine

Cascade Style Sheet
HTML editors
HTML tools

Operating Systems:

Bootable USB keys
Computer boot process
Windows tips and tricks


Windows - VPN
Windows XP


PC Information and Forums:

File systems
Miscellaneous info
PC help forum
PC startpages

Virus info

Data Communication:

Bus systems
CAN bus
CRC algorithm
Data communication
Data compression
Error detection
PC home networking
Wireless networking
Driver link sites
Driver list

Parallel Port
PC hardware
PCI Express
PC power supply
Video cards comparison
Video technical
Video/graphic cards
USB bus

Memory Devices:
Floppy disk drives
General topics
Hard disk drives
Hdisk manufacturers
Memory chips

Memory types

Intel microprocessors
Microprocessor topics
Performance comparison

BIOS Beep Codes
Motherboard lists

7) I.T. Sites and Free Downloads Worth Mentioning: 

The following programs are totally Free, no popups, adware, spyware, or shareware.

DCleaner 1.08.211

DCleaner is a freeware system cleaner and optimizer that cleans up unused temporary files from Windows, Internet Explorer, and many other applications. While doing this it improves overall performance of your pc and makes more hard disk space available. Works with Windows 95/98/ME/NT/2000/XP.
Download (325 kB)


Ragtime Solo 5.65

RagTime combines typical features from office programs such as spreadsheet calculations and text processing with the rich layout capabilities of DTP (desktop publishing) software. You can do many types of projects using RagTime, such as designing and creating photo albums, travel diaries, invitations, budgetary plannings, financial statements and much more. This application provides a single convenient layout environment in which you can process text, tables, drawings, pictures and graphs.
Download (32,865 kB)


AR Soft RAM Disk 1.20

AR Soft RAM Disk is a freeware RAM Disk driver you can use with Windows NT, Windows 2000 and Windows XP. Use this driver if you need to create an additional drive in the physical memory of your machine. Doing this will increase your system's performance when accessing this drive.
Download (82 kB)



This is a free FTP client with a Windows Explorer-like interface.
Features include:
- Copy/Move/Delete multiple items, including trees (directories)
- Copy/Move between FTP servers
- Copy/Move within same FTP server
- Copy/Move between FTP server and local drive
- Local file operations (Copy / Move / Delete / Rename)
- Drag and Drop
- 100% keyboard support (you don't need a pointing device)
Download (306 kB)



RapidQ is a freeware Basic compiler for Windows, Linux, and Unix operating systems. It makes creating console and GUI Windows applications easy to do.
When creating console applications, you can use the traditional Basic syntax. Windows GUI applications can be created with a simple, easy to use, object-oriented syntax. It comes with a graphical GUI designer that you use to create user interfaces. RapidQ generates stand-alone exe programs, and no runtime DLL's needed.
Download (1126 kB)


BrowserSizer 1.5

BrowserSizer is a slim, low-resource utility that you can use to test how your developed web pages look on various screen resolutions. You resize the web browser's screen resolutions directly from the application's interface.
Download (676 kB)


Uninstall Tool 1.6.6

Ultra fast is a small tool that helps you to uninstall software. It can be used instead of the "Add and Remove Programs". It offers many features and options missing in Microsoft's uninstall application.
Download (122 kB)


8) Question of the Month about Technical Training:

Each month Jeff Love will answer a current or important question that we have received about computer and IT training and career development.

June 2007 Question of the Month: 

What are my options for virtualization software, and which virtualization approach is best?


There is no best virtualization solution because everyone has a more or less unique computer and I.T. server infrastructure. There are several options available.

Two of the most common approaches to virtualization are full virtualization  and para-virtualization. With full virtualization, a layer exists between the virtualized operating systems and the hardware as a way to arbitrate access. This layer is called a hypervisor, or virtual machine monitor (VMM). Para-virtualization is similar, but the hypervisor operates in a more cooperative fashion. This is because each guest operating system is aware that it's being virtualized, so each cooperates with the hypervisor to virtualize the underlying hardware. VMware and KVM are two examples of full virtualization. Para-virtualization is provided by Xen and User-Mode-Linux (UML).

Here are the Benefits of Virtualization, according to VMWare:
Now, on to the virtual server alternatives that available in the market and via open source.

VMware has two products for server virtualization: VMware Server and ESX Server. VMware Server is available as a free download and has features similar to Microsoft Virtual Server 2005. It has broad support for guest OSs, which makes it an ideal candidate to use for virtual lab creation, especially if you support several different OSs. You install VMware Server over a host OS (Windows Server or Linux). Typically a host server running VMware Server has locally attached storage.

Because of ESX Server's lightweight kernel, it has significantly less overhead and provides better performance of the guest servers. ESX Server abstracts processor, memory, storage and networking resources into multiple virtual machines, giving you greater hardware utilization and flexibility. The benefits of virtualization using ESX Server are:
Microsoft's Virtual Server 2005 R2 is the server virtualization technology engineered for the Windows Server platform. As a key part of any server consolidation strategy, this software increases hardware utilization and enables IT staff to rapidly configure and deploy new servers. It runs on top of Windows Server 2003. Microsoft has a Virtual Server Migration Toolkit that will create a virtual server image from a running physical server.

In regards to Linux, no other OS gives you as many virtualization options as Linux. This operating system lets you carve up your servers using any method available on any other platform. Here are several excellent Linux Virtualization Howtos and Tutorials.

Here is a table outlining Linux virtualization options that are available, as shown in this Virtual Linux developerworks article:

Linux-related virtualization projects

ProjectType of VirtualizationLicense
VMwareFull virtualizationProprietary
z/VMFull virtualizationProprietary
Linux-VServerOperating system-level virtualizationGPL
OpenVZOperating system-level virtualizationGPL

The most recent news out of Linux is the incorporation of the KVM into the Linux kernel (2.6.20). KVM is a full virtualization solution that is unique in that it turns a Linux kernel into a hypervisor using a kernel module. This module allows other guest operating systems to then run in user-space of the host Linux kernel. KVM supports the virtualization of Linux guest operating systems -- even Windows with hardware that is virtualization-aware. This article explains the architecture of the Linux KVM.

I hopes this help you.

Jeff Love
Site Editor

9) Please Support Our Training Mission

How You Can Support Our IT Training Mission

Please help support's Computer and IT Education and Training Mission by visiting our sponsors below. By doing so, you will be helping people who want to learn to use computers in an Information Technology career.

ITT Technical Institute: Choose from their many programs

University of Phoenix Online: Advance your career

DeVry: Online degrees for working adults

Kaplan College Online:
Advance your career with an online degree from Kaplan College

Capella University -accredited online education for professionals

Computer Education, Training, & Tutorial Resources
Free I.T. Training Now!

A free and member-based I.T. educational and training portal web site. We have compiled, categorized, described, and linked many, many sites that will be of keen interest to computer science students and instructors and others seeking free training and knowledge about computers. All areas are covered, from programming to systems administration to networking to the internet. You are able to study and learn all about computers and I.T. via Free training, courses, tutorials, books, guides, documentation, articles, tips, notes, and help. Also offered are free technical training tutorials co-branded with Check us out today.

Copyright Notice: Please note that all of the items hyperlinked are copyrighted by their authors and/or publishers. You are expected to look for, read, and adhere to such notices. Downloaded and online material is copyrighted whether or not a copyright notice is present.


***'s Member Site ***

Our Members' Site contains the web's best computer and IT training resources and tutorials. This content is individually linked and presented in a way to expedite and facilitate your IT learning experience. We have done all the web research and presentation work for you so you can concentrate solely on your computer training. Member Site FAQ Answers:

  1. Over half of the web sites and pages in our members site are not in the free section of our web site. The online training resources in our members' site are linked and laid out in a much more detailed fashion than those in the free section. This will save you time in finding all the best free training on the web.
  2. If you use a credit card when joining, you may choose to be billed by PayPal, or you may purchase from, our authorized retailer, whichever you choose.
  3. You have a choice to select the non-recurring or recurring method of payment. If you select non-recurring, when your membership period expires, you will not be automatically charged another fee on your credit card or check.
  4. If you are looking for training and tutorials covering popular software such as Microsoft Office, Flash, Photoshop, Dreamweaver, Web Development, Windows and Computer Hardware, please see our sister site,

The total price to join our member's site is only $15.00 total for 2 months, $25 for 4 months, $34 for 6 months, or $59 for a whole year. The funds generated will assist us to help all those seeking IT education and application development training. Here's the link to see what's available on our member's site and to sign up: <>. You can email Jeff Love with questions at

I will give you 8 great Free Bonuses when you sign up now. These are as follows:

1. A Comprehensive 47-page IT Glossary
2. How To Understand Windows Error Messages program 
3. 105 Great Totally Free Utility Programs 
4. A Bug Tracking Access
5. The Four Best IT Salary Calculator/Wizard sites 
6. 12 Great Web Resources for Learning the Best Methods to Study and Take Tests
7. Six Great e-Books (a $120 value) to help you Make Money using the Internet
8. Five extra bonus IT resource sites that are the best from our "worth mentioning" newsletter section

To Subscribe
to this Free monthly Newsletter of Computer Education, Training, & Tutorial Resources simply send a blank email to this address:

(You will need to reply to a confirming email.)

Or go to this web page and use the Subscribe form:

To Unsubscribe from this Free monthly Newsletter of Computer Education, Training, & Tutorial Resources simply send a blank email to this address with Unsubscribe in the subject::
(no need to confirm)

Or go to this web page and use the unsubscribe form:

Thank You!