Best New Free Computer IT Training Tutorial Resources

November 30, 2006

The Web Design Library

The Web Design Library offers a large collection of Web Design Tutorials and Techniques using Phothoshop and Flash, and web programming and scripting languages.

The Web Design Library

Web Design Basics Photoshop Vector GraphicsFlash3D Graphics HTML and CSS Web Programming

Editor's Pick

Photoshop Basics

Special Effects

Text Effects

3D Effects

Textures & Patterns

Web Layout

Drawing Techniques

Color Management

Photo Editing

ImageReady Animation


Paint Shop Pro


Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 8:47 pm

Mainframe Tutorials, References and Forum

IBM Mainframe Guru offers IBM Mainframe tutorials, references, discussion forum, articles, and interview questions and answers.

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 8:07 pm

Practice Certification Exams for A+, Network+, Data Warehousing

Here are certification exams for CompTIA A+, Network+, Novell Netware, and Data Warehousing that were created by others that you can download for free. The site focuses on IT Certications, but is open to all subjects. By downloading the Free Exam application, users can create and run their own practice exams. By submitting the exam they created to the website, others can download that exam to practice on.

Free Exam Project - Download Exams

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 8:00 pm

Software and Hardware Support at Computer Hope

At Computer Hope you can find freely available online computer support and computer related information. This site is designed to assist all types of computer users with any of their computer related questions, and its also a great place to learn more about both computer hardware and software. Check out their Site Map and their Top 10 Pages for all the best pages.

Computer Hope Site Map

Computer Help

  Computer Hope forms
Main forums page

    Floppy drive
    Hard drive
    PCMCIA / PC-Card
    Power Supply
    Tape drive

    Operating Systems

    Hard Disk
    ISDN Adapters
    Network Adapters
    Removable / Tape drive
    Sound / Multimedia
    Video Adapters


  Computer Hope
Company Information
Technical Support
    Customer Service
    Web Masters
    Web Development

Manufacturers List

   Computer Hope chat

Current News
    Apple News
    Linux / Unix News
    Microsoft News
    Security News

Questions & Answers

    Q&A main page
    New Q&A's
    Q&A on Computer Hope
    Palm Pilot
    Windows 3.x
    Windows 95
    Windows 98
    Windows NT
    Windows 2000
    Windows XP

Network of links

    Computer links page



   Dictionary main page
   Word of the day
   Random word
   Word converter

  Definition pages
   Battery definitions
   CD definitions
   Certification definitions
   Chat definitions
   Electronics definitions
   Floppy definitions
   Gaming definitions
   Hard disk drive definitions
   Keyboard definitions
   Modem definitions
   Motherboard definitions
   Memory definitions
   Mouse definitions
   Network definitions
   OS definitions
   Power definitions
   Printer definitions
   Processor definitions
   Programming definitions
   Security definitions
   Scanner definitions
   Sound definitions
   Tape definitions
   Video definitions


   Palm Pilot
   Screen Savers
   Windows DLL files

Top 10 Overall Pages
  1. Area Code Look Up and Reference
  2. HTML color codes
  3. MS-DOS help and commands
  4. How to create a boot disk.
  5. Batch File Help
  6. CH000465: NTLDR is missing
  7. Microsoft Windows XP help
  8. MS-DOS net command help
  9. Computer Hope's free computer help
  10. Microsoft Windows and applications shortcut keys
Top 10 Help Pages
  1. Hard disk drive Help
  2. Computer Processor Information (CPU)
  3. Computer CMOS information
  4. Computer Video Card Support and Help
  5. Computer Sound Card Help
  6. Computer CD-ROM drive help and technical information.
  7. Computer Floppy Disk Drive Help
  8. Computer BIOS information and help
  9. Computer Interface Help and Information
  10. Computer mouse help and information
Top 10 Issues Pages
  1. CH000465: NTLDR is missing
  2. CHSAFE: Getting into Windows Safe Mode
  3. CH000186: How to erase my hard disk drive and start over.
  4. CHDOS: How to get to a MS-DOS prompt.
  5. CH000492: Additional information and help with the boot.ini.
  6. CH000646: NTOSKRNL.EXE is missing or corrupt.
  7. CH000192: How to enter the BIOS or CMOS setup.
  8. CH000627: How to use the Windows recovery console.
  9. CH000705: How do I password protect my files and folders in Windows?
  10. CH000549: How to set the path in Windows 2000 / Windows XP.
Top 10 Dictionary Pages
  1. Laugh out Loud - LOL
  2. Laugh My A** Off - LMAO
  3. Source data disk
  4. External command
  5. Rolling On the Floor Laughing - ROFL
  6. Wide XGA - WXGA
  8. NT loader - NTLDR
  9. Localhost
  10. GB
Top 10 Ccompany Pages
  1. Microsoft company information
  2. Apple company information
  3. ewlett Packard company information
  4. Electronic Arts company information
  5. Internal Business Machines (IBM) company information
  6. Intel company information
  7. Sony Computer company information
  8. Creative Labs company information
  9. Microprose company information
  10. Dell company information
Top 10 Drivers Pages
  1. Computer sound card drivers
  2. Computer video card drivers
  3. Computer CD-ROM / CD-R / CD-RW / DVD drivers
  4. Computer Drivers
  5. Computer motherboard drivers and updates
  6. Computer printer drivers
  7. Computer drivers
  8. Computer NIC or network interface card drivers
  9. Computer modem drivers and updates
  10. Computer hard disk drive drivers

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 7:43 pm

November 20, 2006

22 dotNET Guides

Here are 22 hands-on guides for Microsoft's .NET Framework, teaching and showing you how to implement, deploy and administer many of the features and components of .NET (dotNet). These guides are published by Microsoft and are written in a detailed and technical fashion for the both those who are and those who are learning to become .NET programmers, designers, and architects.

22 dotNET Guides

Application Interoperability: Microsoft .NET and J2EE
This guide shows how to link Microsoft .NET and J2EE, using Web services, runtime bridges, and asynchronous techniques.

Authentication in ASPdotNET: dotNET Security Guidance
This article explains how Microsoft Internet Information Services (IIS) and ASP.NET provide security models that allow you to authenticate your users appropriately and obtain the correct security context within your application. (29 printed pages)

Caching Architecture Guide for .NET Framework Applications
This guide introduces the concepts involved in caching, discusses the technologies that can be used to provide caching facilities, and describes the mechanisms you should use implement to cache data in a distributed application.

Data Patterns
Provides a brief overview of the Microsoft Data Patterns, and includes an introduction to patterns and a catalog of 12 architecture, design, and implementation patterns.

Deploying .NET Framework-based Applications
Gives you the information necessary to plan and implement the effective deployment of your .NET Framework-based applications.

Describing the Enterprise Architectural Space
This document presents an organizing table that describes the enterprise architectural space, shows relationships among artifacts in the space, and demonstrates how different roles in your enterprise view enterprise architecture.

Designing Application-Managed Authorization
This guide provides guidelines for designing and coding application-managed authorization tasks and scenarios for single or multi-tier .NET applications.

Design and Implementation Guidelines for Web Clients
This guide provides advice on how best to implement logic in the presentation layer of a distributed application.

Designing Data Tier Components and Passing Data Through Tiers
How to best expose your data to Microsoft .NET applications and how to implement an effective strategy for passing data between the tiers in a distributed application. (65 printed pages)

Enterprise Solution Patterns Using Microsoft .NET
Provides a brief overview of existing work in the patterns community, shows how to implement these patterns in .NET, and includes an introduction to patterns and a catalog of 32 architecture, design, and implementation patterns.

Exception Management in .NET
Discusses design and implementation guidelines for exception management systems and focuses on the process of handling exceptions within .NET-connected applications in a highly maintainable and supportable manner. (38 printed pages)

Guidelines for Application Integration
Examines what application integration means and describes the capabilities needed to enable application integration.

Integration Patterns
Explains how patterns were used to design and build an integration architecture within a customer scenario, and includes a catalog of 18 common integration patterns

Microsoft .NET/COM Migration and Interoperability
Shows how the interoperability features of the .NET Framework enable developers to continue using Win32 DLLs, ASP and COM applications, and help them to choose if and when to migrate these to .NET. (34 printed pages)

Monitoring in .NET Distributed Application Design
This article provides an introduction to Windows Management Instrumentation (WMI) and discusses the monitoring process in the context of .NET applications. (51 printed pages)

Production Debugging for .NET Framework Applications
This guide provides debugging guidance for developers debugging .NET Web applications. It discusses the processes for debugging in a production environment.

Web Service Security
This guide provides a scenario-driven approach to demonstrate where different security patterns are successful, combined with a series of decision matrices to assist you in applying your own criteria for using Web service security patterns in your environment.

Smart Client Architecture and Design Guide
Gves you prescriptive guidance on how to overcome architectural challenges and design issues when building smart client solutions, and also provides guidance on how to combine the benefits of traditional rich client applications with the manageability of thin client applications.

Team Development with Visual Studio .NET and Visual SourceSafe
This guide provides guidance and recommendations to enable you to set up a team development environment and work successfully within it.

Testing .NET Application BlocksVersion 1.0
Covers many testing areas that were used during testing and verification of the various application blocks provided by Microsoft's patterns & practices group, such as functional, globalization, performance, integration, and security.

Testing Software Patterns
This document describes the testing methodology that the test team developed and applied to the new field of testing software patterns.

Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005
Provides proven practices to reach functional equivalence with a minimal amount of effort and cost, and also guidance for advancements after the application is running on the .NET framework.

Technorati Tags: , , ,

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 11:53 pm

November 15, 2006

Emerging Technologies Web Dev Course Notes

This university course, named Emerging Technologies course at San Diego State University, teaches and explains the following web development technologies: CSS, XSLT, Javascript, Continuation Based Web servers (Seaside & Cocoon), Java on mobile devices, Hibernate, and Spring. The following are the course lecture slides, presentations, and notes by topic from this course. These are useful for learning about and using these important web application development technologies. A Java Self Test (pdf) is also available.

Emerging Technologies Web Dev Course Notes

  1. Introduction (HTML ) (PDF)
  2. CSS (HTML ) (PDF)
  3. CSS part 2 (HTML ) (PDF)
  4. JavaScript (HTML ) (PDF)
  5. JavaScript part 2 (HTML ) (PDF)
  6. Client-side JavaScript (HTML ) (PDF)
  7. Installing Seaside & Cocoon (HTML ) (PDF)
  8. Xml (HTML ) (PDF)
  9. XSLT (HTML ) (PDF)
  10. Seaside & Cocoon Hello World (HTML ) (PDF)
  11. Web App Intro & Some Seaside (HTML ) (PDF)
  12. Some Seaside Basics (HTML ) (PDF)
  13. Cocoon Forms (HTML ) (PDF)
  14. Seaside Login (HTML ) (PDF)
  15. Generators (HTML ) (PDF)
  16. Cocoon Flow (HTML ) (PDF)
  17. More Cocoon Flow (HTML ) (PDF)
  18. J2ME Introduction (HTML ) (PDF)
  19. MIDlet UI (HTML ) (PDF)
  20. MIDlet UI part 2 (HTML ) (PDF)
  21. MIDlet UI part 3 (HTML ) (PDF)
  22. MIDlet Persistent Storage (HTML ) (PDF)
  23. Messaging & CDC (HTML ) (PDF)
  24. An Example (HTML ) (PDF)
  25. O/R Mapping Introduction (HTML ) (PDF)
  26. Glorp (HTML ) (PDF)
  27. Hibernate Example (HTML ) (PDF)
  28. Hibernate & Glorp Install (HTML ) (PDF)
  29. One-to-One Mapping (HTML ) (PDF)
  30. One-to-Many & HQL (HTML ) (PDF)
  31. Joins & Many-to-One (HTML ) (PDF)
  32. Mapping Collections (HTML ) (PDF)
  33. Database & Web (HTML ) (PDF)

Technorati Tags: , , , ,

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 11:28 pm

November 14, 2006

9 Free Online Books - Java, C++, Database

Here are several freely available online books, 2 for Java programming, 4 covering C++ programming, and 3 Database related.

2 Free Online Jave Books:

4 Free Online C++ Books
  • Applied C++
  • ANSI C++ Professional Programmer's Handbook
  • Borland C++ Builder 6 Developer's Guide
  • Wireless Game Development in C and C++

3 Free Online Database Books
  • SQL Performance Tuning
  • Data Access Patterns
  • Database Design for Mere Mortals

Technorati Tags: , , ,

Filed under: Free Computer and I.T. Books — computer_teacher @ 10:16 pm

November 13, 2006

Perl Reference Manual

Perl stands for Practical Extraction and Report Language.  Larry Wall, designer of Perl, regularly maintains and updates this Unix tool for writing programs.  Perl has the power and flexibility of a high-level programming language, it does not need a special compiler and linker, and Perl is the scripting language that is used for CGI scripts.

This is a Perl Reference Manual with scripting examples, courtesy of  This Perl learning and reference site will help you get up to speed and stay sharp with your Perl scripting.

Perl Reference Manual

Perl Functions
Perl Functions fall into two major areas: list operators and named unary operators. These differ in their precedence relationship with a following comma. List operators take more than one argument, while unary operators can never take more than one argument.  This page contains about 100 Perl functions arranged by category, including functions for real @ARRAYs, functions for real %HASHes, input and output functions and functions for fixed length data or records.

Perl DBI

Regular Expressions

Technorati Tags: , , ,

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 10:38 pm

November 10, 2006

C and C++ Manual with Code Examples

C and C++ are two of the most important programming languages today. Many professional programmers are proficient in C and C++. These two programming languages are the foundation upon which modern programming is built.

The C language was invented by Dennis Ritchie in the 1970s. It is a middle-level language and combines the control structures of a high-level language with the ability to manipulate bits, bytes, and pointers, or addresses. C provides a programmer virtually complete control over the computer.

This web site, the C / C++ Zone, is not designed as a tutorial, but rather as a C and C++ programming manual with usable code examples. It is under constant development.

C / C++ Zone


The generic algorithms fall into four categories, as listed here:

Non-modifying sequence algorithms: Do not modify the containers on which they work. Such algorithms include:
adjacent_find, find, find_end, find_first, count, mismatch, equal, for_each, search. 

Mutating sequence algorithms: Modify the containers on which they work. Such algorithms include:
copy_backward, fill, generate, partition, random_shuffle, remove, replace, rotate, reverse, swap, swap_ranges, transform, unique. 

Sorting algorithms: Sort the contents of containers in various ways. These algorithms include:
sort, stable_sort, partial_sort, partial_sort_copy, as well as a number of related functions, including:
nth_element, binary_search, lower_bound, upper_bound, equal_range, merge, includes, push_heap, pop_heap, make_heap, sort_heap, set_union, set_intersection, set_difference, set_symmetric_difference, min, min_element, max, max_element, lexicographical_compare, next_permutation, prev_permutation. 

Numeric algorithms: Perform numeric calculations on the contents of containers. These category includes:
accumulate, adjacent_difference, inner_product, iota, partial_sum, power. 


Iterators are pointer-like objects that allow programs to step through the elements of a container sequentially without exposing the underlying representation. Iterators can be advanced from one element to the next by incrementing them. Some iterators can also be decremented or allow arbitrary jumps from one element to another, as we will see later. When they are dereferenced, iterators yield a reference to a container element. In addition, they can be compared to each other for equality or inequality.

Iterators interact seamlessly with built-in C++ types. In particular, native C++ pointers are treated as iterators to C++ arrays. Naturally, all containers in the Standard C++ Library define an iterator type, i.e., a nested type iterator that represent their respective pointer-like type.

Iterator Categories Iterators fall into categories. This is because different algorithms impose different requirements on an iterator they use. For example, the find() algorithms needs an iterator that can be advanced by incrementing it, whereas the reverse() algorithm needs an iterator that can be decremented as well, etc. Ultimately, there are five categories of iterators in STL and Standard C++ Library:

  • input iterators
  • output iterators
  • forward iterators
  • bidirectional iterators
  • random access iterators

An iterator category is an abstraction. It represents a set of requirements to an iterator.


The Standard Template Library is a new C++ library that provides a set of easily composable C++ container classes and generic algorithms (template functions).

The container classes include vectors, lists, deques, sets, multisets, maps, multimaps, stacks, queues and priority queues.

The generic algorithms include a broad range of fundamental algorithms for the most common kinds of data manipulations, such as searching, sorting, merging, copying, and transforming.

At its July 1994 meeting, the ANSI/ISO C++ Standards Committee voted to adopt STL as part of the standard C++ library. The STL proposal to the committee by Alex Stepanov and Meng Lee of Hewlett-Packard Labs was based on research on generic programming and generic software libraries that Stepanov, Lee, and David Musser have been working on for several years, in Scheme, Ada, and C++.


C++ supports characters strings two ways. The first is as a null-terminated character array. This is sometimes referred to as a C string. The second way is as a class object of type basic_string. The basic_string class is essentially a container. this means that iterators and the STL algorithms can operate on string. However, string has additional capabilities.

C++ string recognizes operators:
<, <=, >, >=, ==, !=, =, += .
When you use template functions, or classes you don't need to write addition function with strcpy, ctrcmp of ctrcat... In this case C++ string works like any of built-in data type.

String functions
.C++ string, like any of container classes, has its own public functions, that add a lot of flexibility for manipulation of C++ string data type.

You don't need to think about overflowing or null-terminating character. C++ string allows use sequence of characters as long as allows ability of your OS.

More C Programming Examples and Help

Stdio Functions

String Functions

Time Functions

Technorati Tags: , , , , , , , ,

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 12:51 am

November 9, 2006

12 Linux Books Online

Here are 12 freely available online books covering the Linux operating system. These will help you install and administer this important open source operating system as both a server and a client machine.

12 Linux Books Online

  • Linux System Administrator's Survival Guide
  • Linux Complete Command Reference
  • Linux Configuration and Installation
  • Linux Unleashed, Third Edition
  • Linux in Plain English
  • Maximum RPM
  • Red Hat Linux Unleashed, Second Edition
  • Slackware Linux Unleashed, Third Edition
  • Special Edition Using Linux, Fourth Edition
  • Teach Yourself Linux in 24 Hours
  • The Linux Database
  • Using Linux

Technorati Tags: , ,

Filed under: Free Computer and I.T. Books — computer_teacher @ 1:36 pm

November 8, 2006

14 Free Mainframe Computer Books

Here are 14 free mainframe computer books and guides, with 7 covering the COBOL programming language, and 2 for Sun mainframe sofware.

Mainframe classes

The Mock Mainframe Mini-HOWTO

Mainframe Migration and Upgrade Guide

Introduction to IBM Mainframe Hardware & Operating Systems – 3 Days

COBOL Language Mapping Specification 
COBOL Programmer’s Guide and Reference

COBOL Programming Performance Objectives 


History of COBOL
COBOL/COBOL II Fundamentals

COBOL/COBOL II Intermediate

Sun Mainframe Batch Manager Software
Sun Mainframe Transaction Processing Software

Technorati Tags: ,

Filed under: Free Computer and I.T. Books — computer_teacher @ 10:18 pm

Understanding Computers and the Internet from Harvard University

Understanding Computers and the Internet is a course offered each fall at Harvard University's Extension School. This course teaches and explains how and why computers and the Internet work, and their jargon. You will learn technical details about computer hardware, software, the Internet, multimedia, security, website development, programming, and dotcoms. It is designed both for those with little, if any, computer experience and for those who use a computer every day.
Each course lecture is recorded (in audio and video formats), digitized, and posted on the course's website, where they are freely available for on-demand viewing until term's end. Additional lecture content will be posted until the last one on Jan. 10, 2007. Also available for free are the course's videos of the week, along with some sections and workshops. You can also find these course lectures on Google Video and YouTube.

Here are some of the things you'll learn from this Harvard University computer science course, Understanding Computers and the Internet:

  • understanding what's going on inside your computer when you flip on the switch,
  • why tech support has you constantly rebooting your computer,
  • how everything you do on the Internet can be watched by others, and
  • how your computer can become infected with a worm just by turning it on.

Harvard University's Computer Science Class: Understanding Computers and the Internet

Course Lectures

Lecture 1: Hardware
Wednesday, 20 September 2006

Audio: MP3
Authorization and Release Form for Video and Television: PDF
Authorization for Online Access to Data: PDF
Jargon: PDF
Notes: HTML
Sectioning Form: PDF
Slides: PDF
Syllabus: PDF
Transcript: PDF
Video: Flash | QuickTime 

Lecture 2: Hardware, Continued
Wednesday, 27 September 2006

Audio: MP3
Jargon: PDF
Notes: HTML
Slides: PDF
Transcript: PDF
Video: Flash | QuickTime 

Lecture 3: Software
Wednesday, 4 October 2006

'iWoz' -- Apple co-founder tells his story: HTML
Jargon: PDF

Lecture 4: The Internet
Wednesday, 11 October 2006

About Exam 1: PDF
Audio: MP3
Download Google Earth: HTML
GoDaddy: HTML
Jargon: PDF
Notes: HTML
Slides: PDF
Survey: PDF
Transcript: PDF
Victor Cajiao's Immigration Tales Podcast: HTML
Victor Cajiao's Typical Mac User Podcast: HTML
Victor Cajiao's Typical PC User Podcast: HTML
Video: Flash | QuickTime 
YouTube - Inside of a Hard Drive: HTML

Lecture 5: The Internet, Continued
Wednesday, 18 October 2006

Audio: MP3
Demos: demos/
Jargon: PDF
Notes: HTML
Slides: PDF
Transcript: PDF
Video: Flash | QuickTime 

Lecture 6: Surprise
Wednesday, 25 October 2006

Audio: MP3
Life After Computer Science E-1: PDF
Video: Flash | QuickTime 

Lecture 7: Multimedia
Wednesday, 1 November 2006

Jargon: PDF
Notes: HTML
Slides: PDF
Video: Flash | QuickTime 

Videos of the Week

Each Wednesday, with some exceptions, the course releases a new volume of "videos of the week," bite-sized segments produced by the staff on topics relevant to that Wednesday's lecture.

Not only are these videos of the week available below and in the course's podcast, you can also find them on Google Video and YouTube.

Vol. 1: Hardware
27 September 2006

Changing PC BIOS Settings: Flash | QuickTime
Dissecting a PC: Flash | QuickTime
Turning on a PC: Flash | QuickTime
Upgrading a PC: Flash | QuickTime
Upgrading RAM: Flash | QuickTime

Vol. 2: Software
4 October 2006

Browser Wars: Flash | QuickTime
Finding and Installing Windows Updates: Flash | QuickTime
Installing Windows XP: Flash | QuickTime
Macs versus PCs: Flash | QuickTime

Vol. 3: The Internet
11 October 2006

Hosting Options: Flash | QuickTime
Registering a Domain Name: Flash | QuickTime
Shopping Online: Flash | QuickTime
Treasure Hunting: Flash | QuickTime

Vol. 4: The Internet
18 October 2006

HTTP: Flash | QuickTime
TCP/IP: Flash | QuickTime
Web Servers: Flash | QuickTime

Vol. 5: Personal Tech
25 October 2006

"Alien" Technology: Flash | QuickTime
Digital Entertainment: Flash | QuickTime
Home Networking: Part I: Flash | QuickTime
Home Networking: Part II: Flash | QuickTime

Vol. 6: Multimedia
1 November 2006

Buying a Digital Camera: Flash | QuickTime
Digital Photography: Flash | QuickTime
Editing Digital Images: Flash | QuickTime
Sharing Digital Media: Flash | QuickTime

Textbook Materials

Companion Website for Computers Are Your Future 2006.
This site contains powerpoint slides that supports and augments the course material. Website Development

CSS Tutorial.
Save a lot of work with CSS! In [this] CSS tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once.

XHTML Tutorial.
XHTML is the next generation of HTML! In [this] XHTML tutorial you will learn the difference between HTML and XHTML, and how to use XHTML in your future applications.

XHTML Validator.
A free service that checks documents like HTML and XHTML for conformance to W3C Recommendations and other standards.

Technorati Tags: ,

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 9:54 pm

November 3, 2006

Software Engineering Articles and Presentations

The Westfall Team offers training and consulting services in the areas of software development and engineering, software quality and testing, software metrics and analytics, and the processes and methodologies involved with these important activities. They host several excellent articles, papers, and presentations covering software engineering and development. Here are links and descriptions to the best of them.

Software Engineering Articles, Papers & Presentations

Software Engineering Processes Papers & Presentations

Bidirectional Requirements Traceability: Traceability is used in mature software development projects. This article explores:

  • What is traceability?
  • Why is traceability a good practice?
  • How is traceability performed?

A Methods "Discussion/Debate: Method Agility or What's a Methodology For? What’s the "correct" method to use for a software development project according to all the “best practices” advice?  Many folks advocating “lite” or agile methods would suggest there is no “best” practice you can apply across the board.  This paper, from Scott Duncan's presentation/discussion session at the 14th International Conference on Software Quality, is about beginning the process of answering some methodology related questions.

The What, Why, Who, When and How of Software Requirements: If the software requirements aren’t right, you won’t end up with the software that you need. This article discusses the following:

  • Why: the benefits of having the right software requirements
  • What: the various levels and types of requirements that need to be defined
  • Who: identifying the stakeholders of the software requirements and getting them involved in the process
  • When: requirements activities throughout the software development lifecycle
  • How: techniques for eliciting, analyzing, specifying and validating software requirements

Software Quality Papers & Presentations

Software Standards and Models: Forward Reconnaissance: This article is a summary snapshot of the current state of certain key software related standards and models.  Discussed are the International Standards, the commercial, professional, or industrial association documents, and the capability models.

The Blame Game:  One roadblock we should think of removing from our lives is The Blame Game. Our individual and organizational propensity to blame can be a significant factor that weakens our foundations. This session describes how we can become aware of blaming techniques we use, the harm they cause, how much we are engaged in them, and how we can change these practices. 

Certification: A Competitive Advantage In Any Economy: Certification is commonly defined as formal recognition by an institution that an individual has demonstrated proficiency within and comprehension of a specified body of knowledge. Certification is a tool and when utilized to its full potential, can define career paths, contribute to a company’s bottom line, and drive product quality and customer satisfaction upwards. 

Aligned Empowerment - Could it become a Buzzword?  Empowerment is a basic staple of good management and in a growing number of organizations power is shifting from managers to employees.  This article discusses empowerment and how to ensure that empowerment is "aligned" through information sharing.
How to Create Useful Software Process Documentation: Unfortunately efforts to document our software development process often end up in documents and archives that are never used. This article introduces the reader to a simple, practical method for defining and documenting software processes that are easy to understand, easy to use and easy to maintain.
Process Definition Template: Utilize this template to document your software process definitions.  This template can be used to implement the techniques described in the How to Create Useful Software Process Documentation paper.  This paper also includes an example of a completed version of this template. 

Software Validation and Verification Papers and Presentations

Basis Path Testing for Structural and Integration Testing: Basis path testing is a structural testing technique that identifies test cases based on the flows or logical paths that can be taken through software application(s).  A basis path is a unique path through the software where no iterations are allowed; they’re atomic level paths, and all possible paths through the system are linear combinations of them. 

Software Program and Project Management Papers and Presentations

Software Acquisition & Supplier Management: Part 1 - Product Definition & Supplier Selection This paper discusses the first seven steps in the Software Acquisition and Supplier Management process, including:

  • Step 1: Planning the acquisition
  • Step 2: Defining the software product’s requirements
  • Step 3: Determining the acquisition approach
  • Step 4: Identifying and evaluating potential suppliers (and their software products)
  • Step 5: Defining the contract requirements
  • Step 6: Selecting a supplier
  • Step 7: Negotiating and awarding the contract

Software Risk Management: The need for software risk management is illustrated in Gilb’s risk principle.  “If you don’t actively attack the risks, they will actively attack you" [Gilb-88].  In order to successfully manage a software project and reap our rewards, we must learn to identify, analyze, and control these risks.  This paper focuses on the basic concepts, processes, and techniques of software risk management.  

Metrics, Measurement & Analytical Methods Papers & Presentations

12 Steps to Useful Software Metrics: This paper outlines a cookbook method that the reader can use to simplify the journey from software metrics in concept to delivered information.
Metrics Report Definition Template: Utilize this template to document the design of your software metrics reports.  This template can help you implement the 12 Steps to Useful Software Metrics. 
Example - Metrics Report Definition: Example of a completed Metrics Report Definition document. 

Using a Measurement Framework to Rapidly Achieve Measurable Results: This paper describes a Process Measurement FrameworkSM that rapidly achieves measurable results. This framework helps to ensure that all metrics are collected on a form, in a document, or in a database. This paper won the best paper award at the 13th International Conference on Software Quality, October 2003.

Are We Doing Well or Are We Doing Poorly?: What software metrics can do is provide information so you can make informed decisions and better choices.  This paper shows you how to establish useful decision criteria for different types of metrics. This paper won the Best Paper award at the 2003 Applications in Software Measurement (ASM) Conference. Here are the Presentation Slides for this paper.

Software Customer SatisfactionThis paper includes details on designing your own software customer satisfaction questionnaire, tracking survey results and example reports that turn survey data into useful information.  This paper won the Best Paper award at the 2002 Applications in Software Measurement (ASM) Conference.

Defect Removal EffectivenessThis short paper defines the metric of Defect Removal Effectiveness and gives examples of how to calculate it.

Defect Density: This article defines the metric of Defect Density and gives two examples of how it could be reported and utilized.

Cause & Effect Diagrams: This article by Linda Westfall discusses the purpose of Cause & Effect Diagrams and gives two examples of how this quality tool can be utilized.

Technorati Tags: , , , , ,

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 1:18 pm

November 2, 2006

Guide to the Software Engineering Body of Knowledge

This is the 2004 version of the Guide to the Software Engineering Body of Knowledge, or SWEBOK. This is a project of the IEEE Computer Society Professional Practices Committee. This guide establishes for the first time a baseline for the body of knowledge for the field of software engineering. It does not purport to define the body of knowledge, but rather to serve as a compendium and guide to the body of knowledge that has been developing and evolving over the past four decades. The official purpose of the Guide to the Software Engineering Body of Knowledge is to provide a consensually validated characterization of the bounds of the software engineering discipline and to provide a topical access to the Body of Knowledge. This body is broken down into ten software engineering Knowledge Areas (KA) that call out the various important concepts and allow readers to drill down into their topics of interest. The authors hope that readers will find this book useful in guiding them towards the knowledge and resources they need in their career development as software engineering professionals. offers two essentially similar downloads of the 2004 version of the SWEBOK.

Guide to the Software Engineering Body of Knowledge, 2004 version
(pdf, 204 pages, 2,001kb)

Guide to the Software Engineering Body of Knowledge, 2004 version
(pdf, 202 pages, 3,456kb)

Table of Contents:

  • Preface to the SWEBOK Guide
  • Chapter 1 -  Introduction to the Guide
  • Chapter 2 - Software Requirements
  • Chapter 3 - Software Design
  • Chapter 4 - Software Construction
  • Chapter 5 - Software Testing
  • Chapter 6 - Software Maintenance
  • Chapter 7 - Software Configuration Management
  • Chapter 8 - Software Engineering Management
  • Chapter 9 - Software Engineering Process
  • Chapter 10 - Software Engineering Tools and Methods
  • Chapter 11 - Software Quality
  • Chapter 12 - Knowledge Areas of the Related Disciplines
  • Appendix A - Knowledge Area Description Specifications for the 2004 Version of the Guide to the SWEBOK
  • Appendix B - Evolution of the Guide
  • Appendix C - Allocation of IEEE and ISO Software Engineering Standards to SWEBOK Knowledge Areas
  • Appendix D - Classification of Topics According to Bloom's Taxonomy

Technorati Tags: ,

Filed under: Free Computer and I.T. Books — computer_teacher @ 11:13 pm

November 1, 2006

Almost 2000 Free Computer Books

This web site, contains links to almost two thousand online books on Computer Science, Programming (Java, C, C++, Ruby, Perl, Python, XML), Networking, Cisco Certification, Database Systems Linux, Unix, and Microsoft Technologies. I captured and analyzed all the links on this site, and have found that about 7% of them are dead, which is not too bad.

Free Book Centre


Topics within Categories

Computer Science

Computer Languages

Java and J2EE

Linux and Unix

Web and Internet Technology

Database Systems and Management

Computer Networking

Special Topics

Microsoft Technologies

Technorati Tags: , ,

Tags for this post>> |

Filed under: Free Computer and I.T. Books — computer_teacher @ 1:41 pm

Powered by WordPress