Learn programming for Free and how to develop and write computer programs and IT applications. Get Free knowledge, information, references, and resources about computers now. Many Free training courses,tutorials, books, training guides, tips, articles, and helps are available to you.
Subscribe to our Free semimonthly Newsletter to Get the Latest & Best FREE Computer IT Training! -You'll stay current with all the New Free Computer Training and Education sites we discover - Subscribe now because you'll have access to these great new sites a month before our web site visitors do, and with each issue you'll receive our 2 non-public links containing 97 Pages of Free Training with over 10,000 Free IT training and tutorial resources.
This training is available on our members site only. As a member, all of the training and tutorials are available to you. We will be adding more training materials here in the future. You can join now for only USD $15 total for 2 months, $25.00 for 4 months, $34.00 for 6 months, or $59.00 for 1 year. (Please note the local links to member training content do not work on this page.)
Here are multimedia course training materialswith animations to help you learn key Computer Science topics. The eight learning modules are: Algorithms, Artificial Intelligence, Data Structures, Machine Architecture, Number Systems, Operating Systems, Programming Languages, and Software Engineering. Each module consists of a set of lessons with animations and interactive components including review questions. The work consists of 44 animations, 2,008 files, and 255 folders, totaling 15.5MB. The animations and interactive components are expected to improve the effectiveness of learning the covered topics. Each module consists of a set of lessons and review questions which test the important concepts from the lesson and provide practice problems, along with embedded interactive components implemented as Flash animations or Java applets.
Algorithms
The following lessons introduce the topic of algorithms by discussing the characteristics of a good algorithm and comparing several sorting algorithms to illustrate algorithm efficiency and algorithm analysis.
Introduction to Algorithms
The Definition of an Algorithm
Specifying Algorithms
Sorting Algorithms
Basic Operations
The Simple Card Sort
The Simple Sort
The Insertion Card Sort
The Insertion Sort
The Selection Card Sort
The Selection Sort
Algorithm Analysis
Space Efficiency
Time Efficiency
Comparison of Sorts
Analysis of Selection Sort
Analysis of Other Sorts
Worst Case Comparison
Order Notation
Summary
Artificial Intelligence
The following lessons introduce the topic of artificial intelligence (AI) in computers by surveying several of the major application domains of AI. These application domains include language processing, visual processing, game playing, expert systems, and neural networks.
Introduction to Artificial Intelligence
Humans Versus Computers
Natural Language Processing
Game Playing
Visual Processing
Neural Networks
Expert Systems
Summary
Data Structures
The following lessons introduce the topic of data structures by comparing how data is actually stored in a computer with the abstract structures that programmers use. To illustrate this comparison, several basic data structures such as lists, stacks, and queues are described.
Introduction to Data Structures
Computer Memory
Pointers and Indirection
Linear Data Structures
Ordered List: The Abstract View
Ordered List: The Implementation View
Stacks: The Abstract View
Stacks: The Implementation View
Queues: The Abstract View
Queues: The Implementation View
Nonlinear Data Structures
Multidimensional arrays
Trees
Graphs
Abstract Data Types
Summary
Machine Architecture
The following lessons introduce the topic of machine architecture by explaining data storage in computers, gates and circuits, and the central processing unit.
Introduction to Machine Architecture
Data Storage
Gates
Circuits
The Central Processing Unit
Summary
Number Systems
The following lessons introduce the topic of number systems with a focus on binary numbers and binary arithmetic.
Introduction to Binary Numbers
Understanding Number Systems
Binary to Decimal Conversion
Decimal to Binary Conversion
Converting Fractions
Binary Arithmetic
Binary Addition
Adding Two Binary Numbers
Adding Multiple Binary Numbers
Adding Binary Fractions
Binary Subtraction
Binary Multiplication
Binary Division
Signed numbers
One's complement
Two's complement
Subtraction with Signed Numbers
Subtraction with One's complement
Subtraction with Two's complement
Hexadecimal and Octal Numbers
Comparing Number Systems
Summary
Operating Systems
The following lessons introduce the topic of operating systems in computers by discussing the main function of operating systems and investigating several key parts of operating systems such as memory and file managers.
Introduction to Operating Systems
Resources
Processes
Synchronization
Deadlock
Memory Allocation
Virtual Memory
File Management
Summary
Programming Languages
The following lessons introduce the topic of programming languages by discussing the five important concepts in a computer language: identifiers, expressions, control structures, input/output, and abstraction. The final lessons illustrate these concepts with an example program implementing the selection sort algorithm.
Introduction to Programming Languages
Identifiers
Assignment
Expressions
Boolean Expressions
Data Types
Control Structures
Selection
Loops
Subprograms
Parameters
Input/Output
Programs
Summary
Software Engineering
The following lessons introduce the topic of software engineering by comparing two important models of the software life cycle, the Waterfall Model and the Spiral Model, and two paradigms for designing software, the Procedural Paradigm and the Object-Oriented Paradigm (OOP).
Introduction to Software Engineering
Software Life Cycle Models
The Waterfall Model
The Spiral Model
Software Quality Characteristics
Procedural Paradigm
Object Oriented Paradigm
Classes and Inheritance
Comparison of Paradigms
Summary
Mark's Lecture Material
These training materials are very well presented in an understandable and coherent way. They cover and C Programming, Operating Systems, Unix, Systems Administration, Computer Networking, and Computer Security