Intelligentedu
Free Computer and I.T. Books
Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian


 



     Blog Roll:


     Top Links:

July 1, 2006

Extracts, Tips, and Articles from The Pragmatic Programmer Book and Authors

The Pragmatic Programmer is written as 46 small sections, each section ranging from two to ten pages long. Sprinkled through these sections there are 70 tips: one-line statements of best practice that the authors try to live by daily. Addison Wesley has kindly allowed them to make available some sections from the book and a complete, annotated list of tips. Also included here are many excellent articles explaning and detailing the process of software development.


Extracts from the books, The Pragmatic Programmer:
  • The preface, just to give you an idea of what we're trying to do in the book.
  • What triggers the decay of perfectly good software? We discuss what we believe is the major cause in Software Entropy.
  • Are your programs relying on luck to work? Sometimes you might be surprised. Read about programming deliberately and Programming by Coincidence.
  • In Evil Wizards, we discuss the problems inherent in relying on the code produced by wizards (such as those found in most moderns IDEs).
  • In a world of increasingly complex code, resource management is crucial. Yet still our programs leak memory, leave files open, and generally fail to tidy up after themselves. Balance Resources looks at some simple techniques which will make our programs better citizens.
70 Programming Tips from the book, The Pragmatic Programmer

Articles and Presentations from the authors of the book, The Pragmatic Programmer, here are some of these:

Popularity: 11% [?]

Share and Enjoy:
  • blogmarks
  • del.icio.us
  • Furl
  • Reddit
  • Shadows
  • YahooMyWeb
  • StumbleUpon
  • Digg

Related Posts:
  • Free Sun Certified Programmer for Java 2 Training
  • Free CompTIA A+, i-Net+ and Network+ Training
  • 315 Java Articles and Tutorials
  • Windows XP Articles and Technical Tips
  • More Free I.T. Training and Tutorial Resources


  • Filed under: Free Computer and I.T. Books — computer_teacher @ 12:43 am


    July 4, 2006

    Free Ebook on C# Programming

    Here is a blog post at ebooks.bloggoing.com for a freely available ebook covering C# Programming. This ebook uses the question-solution-discussion format to teach you step-by-step how to code in the C# language while using the .NET platform. It covers C# 2.0, the latest version of this popular object-oriented programming language and includes over 300 code solutions to common C# problems and tasks that you will come across as a C# programmer.


    Here are some of the C# topics that are covered:
    • Numeric data types
    • Strings and characters
    • Classes and structures
    • Generics
    • Exception handling
    • Delegates, events, and anonymous methods
    • Filesystem interactions
    • Web site access
    • XML usage (including XPath and XSLT)
    • Networking
    • Threading
    • Unsafe code
    To access the download link on rapidshare.de, click on the Free button at the bottom right of the rapidshare page, wait about 30 seconds, then enter the 3 character code and click on the download button. To uncompress the .rar file you can use 7-Zip.

    Free Ebook on C# Programming

    Popularity: 9% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • Free Books on Linux, Microsoft MCSE, Cisco, and more
  • Books on C++, C#, Linux, Perl, Web Programming, Oracle SQL
  • eBooks and Technical Docs from ebook-search-engine.com
  • 5 Freely Available eBooks
  • Computer and Programming eBooks at eBook-x.com


  • Filed under: Free Computer and I.T. Books — computer_teacher @ 12:46 am


    10 Freely Available Ebooks Covering Microsoft Technologies

    Here are 10 freely available ebooks covering Microsoft and Windows technologies, including training covering .Net (dotNet), ASP.Net, ADO.Net, Visual C# (C Sharp), MCAD, and MCSD. Free registration is required.


    Community Server: E-Books
    • 70-315 Building Web Solution with ASP.NET and ADO.NET
    • Designing and Implementing Web Applications with Visual C# .NET and Visual Studio .NET: 70-315 MCAD MCSD Training Guide
    • Developing and Implementing Web Applications with Visual C# .NET and Visual Studio .NET Exam Cram
    • Developing Windows-Based Applications: MCAD/MCSD Self-Paced Training Kit
    • In Action ... All-In-One
    • Inside Microsoft Visual Studio .NET 2003
    • Microsoft ASP.NET Programming with Microsoft Visual C# .NET Version 2003 Step By Step
    • Windows Workflow Foundation
    • ADO.NET 2: Programming with SQL Server 2005, Oracle, and MySQL
    • DotNetNuke ASP.NET Portals

    Popularity: 13% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • Many Freely Available Computer Ebooks
  • Many Freely Available Computer Ebooks
  • 2 Link Sites for Free Computer Books and Ebooks
  • Free Ebooks Center Post with 7 Freely Available Ebooks
  • 144 Freely Available Computer Ebooks


  • Filed under: Free Computer and I.T. Books — computer_teacher @ 3:02 pm


    July 5, 2006

    67 Beginning and Advanced PHP Tutorials

    PHP is an open-source, reflective programming language. Originally designed as a high-level tool for producing dynamic web content, PHP is used mainly in server-side applications. PHP 5 is the latest version and includes new features such as PHP Data Objects and more performance enhancements. PHP generally runs on a web server, using PHP code as its input and creating Web pages as output. PHP can be viewed as an alternative to Microsoft's ASP.NET/C#/VB.NET system, Macromedia's ColdFusion, Sun Microsystems' JSP, Zope, mod_perl and the Ruby on Rails framework.
     
    The LAMP architecture has become popular in the Web industry as a way of deploying inexpensive, reliable, scalable, secure web applications. PHP is commonly used as the P in this bundle alongside Linux, Apache and MySQL. PHP can be used with a large number of relational database management systems, runs on all of the most popular web servers and is available for many different operating systems. This flexibility means that PHP has a wide installation base across the Internet; PHP is one of the most popular programming languages for implementing websites with over 20 million Internet domains using PHP.


    Good PHP Tutorials provides a wide selection of 67 well written PHP tutorials, covering PHP training from Beginner to Advanced to Object Oriented.


    36 Basic & Beginner PHP Tutorials


    Getting Intimate With PHP's Mail() Function
    Interested in sending advanced email using PHP's mail() function, or even by piping output directly to sendmail? PHP provides a handy and convenient way to send email. As you probably already know, this is through the mail() function.

    RSS Parsing using Pear
    This tutorial will show you how to use Pear (PHP Extension and Application Repository) to parse an RSS feed and display it on your site.

    Cell Phones and $_SERVER Array

    Learn about the valuable $_SERVER array and how to send different output to users visiting your site on a Cell Phone!

    PHP Multiple files upload
    by PHPeasystep (more by author)
    You can upload multiple files with one time submission. Arrays play a big role in this tutorial.

    PHP Basics 5

    Learn how to write your own Functions with or without Arguments, and have an Understanding of Scope, and learn ways to Get Around it.

    PHP Basics 4

    Learn about Assignment Operators and the Simplified Use of them.

    PHP Basics 3

    Learn about If, Else If, and Else Statements, Comparison Operators, and Logical Operators.

    PHP Basics 2

    Learn about Data Types, Casting, Constants, Math Operators, & Math Functions.

    PHP Basics 1

     Learn how to Output, Assign and Use Variables, Comment Your Code, and the Use of Special Characters.

    Introduction to PHP & MySQL

    What is PHP and MySQL and is it for me?

    Simplified URL Navigation System

    Make a cool Navigation System with cool URL's like: www.yourdomain.com/?aboutme
    " title="http://www.yourdomain.com/?aboutme\">www.yourdomain.com/?aboutme
    " target="_blank">www.yourdomain.com/?aboutme">www.yourdomain.com/?aboutme...

    Beginner Debugging: For Your Eyes Only

    When debugging a site that's live, viewing the progression of your script can save quite a bit of time, resulting in considerably less complaints.

    10 Tips That Every PHP Newbie Should Know

    I wish I had known these 10 tips the day I started working with PHP. This article is presented in two parts and is intended for those who are new to PHP.

    Consuming RSS feeds with PHP

    Learn how to parse RSS feeds in PHP using the built in event-driven parser.

    Send Emails Using PHP (Basic)

    This is a basic tutorial of sending emails with PHP.It's a basic overview of the mail() function.

    Creating a Custom RSS Feed using PHP and MySQL

    This tutorial gives a great intro to RSS feeds and demonstrates in full how to create your own feed from scratch using PHP and MySQL

    Error Handling: Stepping beyond True/False Results

    Proper error handling is a struggle for most software engineers, myself included. There is no fun in error handling, no logic puzzles to solve. Most of us don’t add any kind of error handling to our code until we run into a problem.

    PHP Cheat Sheet

    The PHP cheat sheet is designed to be printed on an A4 sheet of paper and live by a developers desk, to make life a bit easier.

    Switching to PHP: What's the Language Difference?

    This article is intended for readers getting started with PHP, but who are already familiar with another Web based language. Those of you with a Perl, Javascript, or VB/ASP background will find this article the most informative.

    Redirecting Users

    This tutorial shows you how to redirect users around your site

    Top 21 PHP Programming Mistakes - Part 3: Seven Deadly Mistakes

    In this three part article series, a list of 21 PHP programming mistakes are presented, ranging in severity from non-critical down to those that can break the farm. Solutions, suggestions and/or comments on how to solve and prevent these errors are then offered.

    Top 21 PHP Programming Mistakes - Part 2: Seven Serious Mistakes

    In this three part article series, a list of 21 PHP programming mistakes are presented, ranging in severity from non-critical down to those that can break the farm. Solutions, suggestions and/or comments on how to solve and prevent these errors are then offered.

    Top 21 PHP progamming mistakes - Part I: Seven Textbook Mistakes

    In this three part article series, a list of 21 PHP programming mistakes are presented, ranging in severity from non-critical down to those that can break the farm. Solutions, suggestions and/or comments on how to solve and prevent these errors are then offered.

    PHP Tutorial

    Scripting languages are becomming easier to learn and PHP is one of the easiest and most powerful yet

    Introduction to Including Files in PHP

    This tutorial is not written to read or write to other files. It is simply written to show new users how to include files properly

    PHP Calendar Tutorial

    Sometimes telling what day it is can be a task for even the smartest of people. Therefore, we can create cool stuff in PHP such as calendars

    Open Source licensing for PHP scripts

    You've managed to write your first "useful" PHP script, and want to make it open source, let the world enjoy your work.

    Using If Else Statements

    An if else statement can make things really neat on your website

    Functions and Variable Scope

    A function is a declared piece of code that has code as members of it.

    An Introduction to Variables

    Think of a variable as one piece of data stored in memory, which can be called and changed or used later



    16 Advanced PHP Tutorials


    Caching techniques with php
    A sample class tutorial for PHP caching. PHP caching is an advanced technique that reduces server overhead and it is very usefull to high traffic web sites.

    Testing PHP Code with PHPUnit

    Even good programmers make mistakes. The difference between a good programmer and a bad programmer is that the good programmer uses tests to detect his mistakes as soon as possible. Testing with PHPUnit is an activity not totally different from what you should already be doing. It is just a different way of doing it.

    AJAX 5-star rating

    Many sites propose a rating system based on a rating from 1 to 5. The AJAX versions (where the page is not reloaded when you vote) are the best. Here is a code snippet explaining how to do it in PHP with symfony.

    Create Your Own Custom API

    This tutorial will teach you how you can develop your very own customized API and web service system using PHP and XML.

    Basic PHP Page Crawler

    This tutorial covers creating a basic page spider using PHP. It illustrates the power of regular expressions, file reading and a little object orientation.

    AJAX sortable lists

    You want to allow users to reorder a list of items? You can do it the classic way, or the AJAX way. This tutorial shows both ways.

    Creating a chat script with PHP and Ajax, Part 2

    In this second part of the 'Creating a chat script with PHP and Ajax', we start from scratch and create a PHP-based chatroom, using Ajax, the Prototype JS library and JSON. Live demo and project files included.

    Creating a chat script with PHP and Ajax, Part 1

    In this multi-part tutorial series I will show you how to create your own chat script with PHP and Ajax.

    Roll Your Own Search Engine with Zend_Search_Lucene

    On several occasions developing database-driven web applications, I've been approached by clients who want Google-style search implemented at the last minute of the development cycle. Zend_Search_Lucene overcomes the usual limitations of relational databases with features such as fast indexing, ranked result sets, a powerful but simple query syntax, and the ability to index multiple fields.

    Three-Tier Development with PHP 5

    This article will demonstrate the power of three-tier development in PHP 5, using PEAR::DB_DataObject for the business logic and Smarty for display logic. I assume that you have some familiarity with HTML, Smarty, PEAR::DB_DataObject, MySQL, and PHP 5

    Running IXSSO Queries From PHP

    Many people don't know that it is possible to query the Microsoft Indexing Server from PHP. Here is a nice tutorial on how to add search functionality to your PHP sites using the Microsoft Indexing Server

    AJAX Suggest Tutorial

    This tutorial will walk you through creating a search suggest similar in fashion to that of Google Suggest using AJAX technologies.

    AJAX Chat Tutorial

    This tutorial will show you how to create a simple AJAX Driven web chat application that is easily extensible.

    Mature Design Theory in Web Development

    This article is intended for experienced web developers and development companies who are looking for a way to move from small applications up to medium to large projects, and are interested in improving the quality of their application design.

    Creating and Consuming Web Services With PHP

    Web services allow you to share data across many platforms and hardware configurations. For example, you can create a Java web service and someone else can consume it using a .NET client without having to learn one line of Java code.

    Modular PHP Development with FastTemplate

    This article will demonstrate how to divide logic from presentation and presentation from content. In the end, a web page will consist of three files: one PHP file with all page logic, one HTML file containing the presentation, and one or more language files that will hold the texts for the page.



    15 Object Oriented PHP Programming Tutorials


    Expandable Form Validation Class : Part 2
    In Part 1 of this tutorial series, we created the core of our Class. In Part 2 here, we learn how to expand on our Class to allow form fields to be validated as well as returning and generating the many error messages when validating.

    Expandable Form Validation Class : Part 1

    Learn how to create an expandable Form Validation Class using PHP object oriented features that once complete, can be easily customized and expanded to suit your needs in the future with no changes to the base code

    Creating a PHP Settings Class

    In this tutorial you will be shown how to create a settings class which can handle different formats (PHP, INI, XML and YAML), using polymorphism

    PHP Patterns: The Observer Pattern Continued

    Continued from part 1 of PHP Patterns: The Observer Pattern

    PHP Patterns: The Observer pattern

    The Observer pattern is perhaps most often encountered in traditional graphical user interface desktop applications. It is an excellent way of ensuring that disparate display components reflect changes at a system's core. As we shall see, though, it remains a powerful technique in a Web-oriented environment.

    PHP Patterns: Introduction

    Even if you have never set eyes on a pattern catalog in your life, you have probably come across the phrase design patterns in recent years. You may even have assumed that patterns were yet another fad. After the turn of the century it suddenly seemed that patterns were everywhere, and PHP was not immune.

    Implementing MVC in PHP: The Controller

    Quite simply, the controller handles incoming requests. It uses input, in this case from the URI, to load a module and refresh/render the presentation layer. The controller for the aptly named Framework 1.0 uses a few GET arguments to figure out which module to load.

    Using Objects to Create an Application

    This tutorial is the second in a series dealing with using objects to create an application -- building the application up from smaller parts -- and teaching important software engineering and design concepts that will be useful writing not only in PHP, but in other languages as well.

    The MVC pattern

     The MVC pattern very commonly used in constructing web applications. The principle allows us to construct 3-tier applications, allowing us useful layers of seperation in our code, and helping both designers and developers to cooperate as well enhancing our ability to maintain and expand on existing applications.

    Why PHP 5 Rocks!

    The title really says it all!

    Easy unit testing in PHP

    Unit tests are one of the greatest advances in programming since object orientation. They allow for a safe developement process, refactoring without fear, and can sometimes replace documentation since it explains quite clearly what an application is supposed to do. This tutorials contains an overview of the available Unit Testing tools for PHP applications and explains how to use them.

    Object Oriented Programming in PHP: The Way to Large PHP Projects

    This arcticle introduces Object Oriented Programming (OOP) in PHP. I will show you how to code less and better by using some OOP concepts and PHP tricks. Good luck!

    The PHP Anthology Volume 1, Chapter 2 - Object Oriented PHP

    The object oriented paradigm is an approach to programming that’s intended to encourage the development of maintainable and well structured applications

    Object Oriented PHP: Paging Result Sets

    In this article, I'll teach you the basic principles and features of Object Oriented Programming that exist in the PHP language.

    Creating and Using a Timing Class

    The purpose of this tutorial is to talk about two seperate concepts; profiling and object oriented programming (OOP).

    Popularity: 10% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • Ebooks covering Python, PHP, ASP.Net, Perl, and JSP
  • Basic and Advanced HTML Tutorials
  • Free Lessons on Beginning and Intermediate Internet and Web Development
  • 35 JavaScript Tutorials
  • Linux Tutorials from LinuxBasics.org


  • Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 12:33 pm


    July 11, 2006

    Basic and Advanced HTML Tutorials

    Webdevelopersnotes.com offers the following tutorials to help you learn Basic HTML (HyperText Markup Language) and Advanced HTML. The site's main tutorial page is located here. Also check out their Web Page Design and Web Graphics Design tutorial pages.


    Basic HTML Tutorials

    HTML (HyperText Markup Language) carries information about the web page though, the display of the document is solely dependent on the browser. For this reason, you should test your HTML code in the two most used browsers, Internet Explorer from Microsoft and Firefox from Mozilla. With HTML you can embed various objects such as images, video, sound in your pages.

    These basic HTML tutorials describe and explain some common HTML tags. After reading and understanding these tutorials, you should be able to create simple HTML pages. Advanced HTML tags with tips on page layout can be found in the next, Advanced HTML tutorial. The beginning tutorials consists of the following 24 HTML lessons:

    Advanced HTML Tutorials

    With these advanced HTML tutorials, you will take greater control of page layout and design and add more multimedia content to your pages. The first lessons teach you how to embed sound and video content, and then you'll learn more about HTML colors and how to use them. After colors, 5 table lessons teach you <TABLE> tag, which has always been an indespensible tag for web designers. Lastly, frames, forms and image maps are demonstrated with their associated tags and attributes.

    Popularity: 10% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • Free Book: Software Design Using C++
  • Linux Tutorials from LinuxBasics.org
  • HTML, CSS, PHP, and Perl Tutorials
  • Free training for ASP .NET with VB .NET
  • ASP.NET and Visual Basic .NET Tutorials


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


    Over 250 Freely Available Computer Ebooks

    This ebook site repository hosts over 250 freely available I.T. and technical ebooks in pdf, chm, zip, and rar formats. The following topics are covered  by these ebooks: HTML, Linux, Redhat Linux, RHCE, Debian Linux, FreeBSD, Solaris, Unix, AIX, Java, C++, C, Python, PHP, XML, Ruby, Perl, Unix Shell Programming, MySQL, Zope, JBoss, Tomcat, Apache, BEA Weblogic, PostgreSQL, DB2, Oracle, Visual Studio .Net, Security, Firewalls, VPN, Networking, Snort, Ethereal, Cisco, CCNA, Game Programming, Sun SCSA, and Subversion.

    lab.lpicn.org/pub/books/



    Popularity: 11% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • 144 Freely Available Computer Ebooks
  • Many Freely Available Computer Ebooks
  • 246 Freely Available eBooks
  • 18 Free Computer Ebooks
  • Over 500 Freely available Computer eBooks


  • Filed under: Free Computer and I.T. Books — computer_teacher @ 6:54 pm


    July 12, 2006

    Advanced Algorithms Course at MIT

    Here is the first of four posts I will do from the best of MIT's open-content computer science courses. This one is called 'Advanced Algorithms', and if you need to learn more about algorithms and what they can do for you, these learning materials will help you out.

    This course is a first-year graduate course in algorithms. Emphasis is placed on fundamental algorithms and advanced methods of algorithmic design, analysis, and implementation. Techniques to be covered include amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms. Domains include string algorithms, network optimization, parallel algorithms, computational geometry, online algorithms, external memory, cache, and streaming algorithms, and data structures.

    Advanced Algorithms Course at MIT




    Lecture Notes

    Although some of the lecture below were scribed during the 2005 version of this course, many of the scribed notes below are from previous versions of the course. These older notes were made available to the students. Scribed notes were taken by the students and used with permission. The instructor notes often span several lectures

    Lec  Topics Scribe Notes Instructor Notes
    1 Course Introduction
    Fibonacci Heaps
    Fibonacci Heaps (PDF) (Courtesy of David Andersen, Ioana Dumitriu, John Dunagan, and Akshay Patil.) (PDF 1)

    (PDF 2)
    2
    MST
    Persistent Data Structures
    Persistent Data Structures (PDF) (Courtesy of Sommer Gentry and Eddie Kohler.) (PDF)
    3 Splay Trees Splay Trees (PDF) (Courtesy of Xin Zhang.) (PDF)
    4

    Splay Trees (cont.)
    Suffix Trees
    Tries
    Suffix Trees and Fibonacci Heaps (PDF) (PDF)
    5
    Suffix Trees (cont.)
    Tries (cont.)
    Dial's Algorithm
    6
    Dijkstra's Algorithm
    Van Emde Boas Queues
    Van Emde Boas Queues (PDF) (Courtesy of Abhi Shelat, Andrew Menard, and Akshay Patil.) (PDF)
    7
    Van Emde Boas Queues (cont.)
    Hashing
    (PDF)
    8
    2-Level Hashing
    Network Flows
    Maximum Flows (PDF) (Courtesy of Alexandr Andoni.) (PDF)
    9
    Network Flows: Augmenting Paths, Maximum Augmenting Paths, Scaling
    10

    Reductions between Flow Problems
    Bipartite Matching
    Shortest Augmenting Path
    Blocking Flows
    11
    Blocking Flows (cont.)
    12
    Min-Cost Flows
    Min-Cost Flow Algorithms (PDF) (Courtesy of Wendy Chang.) (PDF)
    13 Min-Cost Flows (cont.)
    Linear Programming
    (PDF)
    14
    Linear Programming (cont.)
    Structure of Optima
    Weak Duality
    Duality (PDF) (Courtesy of Jay-Kumar Sundararajan.)
    15 Linear Programming (cont.)
    Strong Duality
    Duality(PDF) (Courtesy of Jay-Kumar Sundararajan.)
    16
    Linear Programming (cont.)
    Complementary Slackness
    Algorithms: Simplex, Ellipsoid
    Duality (PDF) (Courtesy of Jay-Kumar Sundararajan.)
    17
    Linear Programming (cont.)
    Algorithms: Interior Point
    18
    Approximation Algorithms
    NP-hard problems
    (PDF)
    19 4/3-Approximation for TSP
    20
    Relaxations
    Directed TSP
    21

    Randomized Rounding
    Chernoff Bound
    Fixed Parameter Tractability
    Kernelization
    (PDF)
    22 Online Algorithms (Ski Rental, Load Balancing, Paging) Lower Bounds for Competitive Ratios of Randomized
    Online Algorithms (PDF) (Courtesy of Chun-Chieh Lin.)
    (PDF)
    23 Randomized Online Algorithms (Adversaries, Fiat's Marking Algorithm, Potential Functions, Yao's Minimax Principle)
    Lower Bounds for Competitive Ratios of Randomized
    Online Algorithms (PDF) (Courtesy of Chun-Chieh Lin.)
    24

    K-Server Problem
    Double-Coverage Algorithm
    Computational Geometry Introduction (Orthogonal Range Search)
    25 Sweep Algorithms (Convex Hull, Segment Intersection, Voronoi Diagrams)
    Sweep Line (PDF) (Courtesy of Matt Rasmussen.) (PDF)
    26
    Sweep Algorithms (Voronoi Diagrams)
    Randomized Incremental Constructions
    Backwards Analysis
    Linear Programming in Fixed Dimension
    27 (Optional Material) External Memory Algorithms
    (PDF)
    28
    (Optional Material) Cache Oblivious Algorithms: Matrix Multiplication, Linked Lists, Median
    29
    (Optional Material) Cache Oblivious Algorithms: Search
    Streaming Model
    29 (Optional Material) Parallel Algorithms
    (PDF)


    Lecture notes from the 2004 version of this course.
     
    Lec  Topics Scribe Notes
    1 Course Introduction
    Fibonacci Heaps
    (PDF)  Courtesy of David Andersen, Ioana Dumitriu, John Dunagan, and Akshay Patil.) 
    2 Persistent Data Structures
    Suffix Trees
    (PDF 1) (Courtesy of Sommer Gentry and Eddie Kohler.)

    (PDF 2) (Courtesy of Jiawen Chen.)
    3 Suffix Trees (cont.) (PDF)
    4 Treaps
    Splay Trees
    (PDF) (Courtesy of Naveen Sunkavally.)
    5 Hashing: 2-Universal, Perfect Hashing
    Fingerprinting
    6 Fingerprinting (cont.)
    Max Flows
    (PDF 1) (Courtesy of Jiawen Chen.)

    (PDF 2) (Courtesy of Alexandr Andoni.)
    10 Min Cost Flow Algorithms
    Linear Programming
    (PDF 1) (Courtesy of Brian Dean and John Jannotti.)
    11Goldberg-Tarjan Min-cost Flow (PDF) (Courtesy of Mohammad Hajiaghayi and Vahab Mirrokni.)
    14
    LP: Interior Points Algorithm
    Approximation Algorithms: Constant, Relative Approximation
    (PDF) (Courtesy of Jason Eisenberg.)
    16 Approximation Algorithm: Rounding, Relaxation (PDF) (Courtesy of Sachin Katti.)
    17 Approximation Algorithm: LP Relaxation, Randomized Rounding (PDF) (Courtesy of Shannon McDonald.)
    18
    Fixed Parameter Tractability
    (PDF) (Courtesy of Shannon McDonald.)
    22
    Lower Bounds for Randomized Online Algorithms
    Geometry: Range Search
    (PDF) (Courtesy of Nick Harvey.)
     

    Readings

    The following papers are related to the second lecture:

    Cormen, Leiserson, Rivest, and Stein. Introduction to Algorithms. 2nd ed. Cambridge, MA: MIT Press, 2001. ISBN: 0262032937.

    Ahuja, Magnanti, and Orlin. Network Flows. Upper Saddle River, NJ: Prentice Hall, 1993. ISBN: 013617549X.

    Motwani and Raghavan. Randomized Algorithms. Cambridge, UK: Cambridge University Press, 1995. ISBN: 0521474655.

    Gusfield, Dan. Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology. Cambridge, UK: Cambridge University Press, 1997. ISBN: 0521585198.

    Borodin, Allan, and Ran El-Yaniv. Online Computation and Competitive Analysis. Cambridge, UK: Cambridge University Press, 1998. ISBN: 0521563925.

    Tarjan, Robert. Data Structures and Network Algorithms. Philadelphia, PA: Society for Industrial and Applied Mathematics, 1983. ISBN: 0898711878. A classic - no longer up to date, but outstanding writing.

    Berg, Mark de, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf. Computational Geometry: Algorithms and Applications. New York, NY: Springer-Verlag, 2000. ISBN: 3540656200.

    Hochbaum, Dorit, ed. Approximation Algorithms for NP-Hard Problems. Boston, MA: PWS Publishing Company, 1997. ISBN: 0534949681.

    Popularity: 10% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • Free Algorithms Training Course
  • Global Optimization Algorithms eBook
  • Free Algorithms Book
  • 32-lesson C++ Programming Tutorial and Examples
  • New York University Algorithms Course


  • Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 4:49 pm


    Computer System Architecture Course at MIT

    Here is the second open-content MIT computer science course I am posting, called 'Computer System Architecture'. This course is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order superscalar architectures; VLIW machines; vector supercomputers; multithreaded architectures; symmetric multiprocessors; and parallel computers.

    Computer System Architecture Course at MIT




    Lecture Notes

    The course material is divided into five modules, each covering a set of related topics. This section contains the lecture notes for the course.
     
    Ses Topics

    Module 1
    L1History of Calculation and Computer Architecture (PDF)
    L2Influence of Technology and Software on Instruction Sets: Up to the dawn of IBM 360 (PDF)
    L3Complex Instruction Set Evolution in the Sixties: Stack and GPR Architectures (PDF)
    L4Microprogramming (PDF)
    L5Simple Instruction Pipelining (PDF)
    L6Pipeline Hazards (PDF)

    Module 2
    L7Multilevel Memories - Technology (J) (PDF)
    L8Cache (Memory) Performance Optimization (J) (PDF)
    L9Virtual Memory Basics (J) (PDF)
    L10Virtual Memory: Part Deux (PDF)

    Module 3
    L11Complex Pipelining (PDF)
    L12Out of Order Execution and Register Renaming (PDF)
    L13Branch Prediction and Speculative Execution (PDF)
    L14Advanced Superscalar Architectures (J) (PDF)
    L15Microprocessor Evolution: 4004 to Pentium 4 (J) (PDF)

    Module 4
    L16Synchronization and Sequential Consistency (PDF)
    L17Cache Coherence (PDF)
    L18Cache Coherence (Implementation) (PDF)
    L19Snoopy Protocols (PDF)
    L20Relaxed Memory Models (PDF)

    Module 5
    L21VLIW/EPIC: Statically Scheduled ILP (J) (PDF)
    L22Vector Computers (J) (PDF)
    L23Multithreaded Processors (J) (PDF)
    L24Reliable Architectures (J) (PDF)
    L25Virtual Machines (J) (PDF)

    Popularity: 15% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • eBooks for .NET, Networking, and Database Design
  • 250 Computer eBooks
  • eBooks from Net Books
  • 39 Univeristy Programming and IT Courses
  • 24 University Computer Science Courses


  • Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 4:51 pm


    Freely available Technical and Programming Ebooks in many areas

    This site hosts lots of freely available technical computer and development ebooks in many areas. Here are the categories to choose from: ASP & ASP.Net, CGI & Perl, PHP, JSP, Database, WebPage, Design, Server, Office, System, Network, Game, Exam, Development, Communication, Society, Business, and MultiMedia.

    Open Ebook = OEbook




    Technorati Profile

    Popularity: 11% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • 150 Free Ebooks in Several Technical Areas
  • 246 Freely Available eBooks
  • Free Computer Ebooks in Many Technical and Programming Areas
  • Freely Available Technical Computer Books
  • Freely available eBooks from ebooks-space.com


  • Filed under: Free Computer and I.T. Books — computer_teacher @ 5:04 pm


    July 14, 2006

    Java Preparation Course at MIT

    Here is another MIT open-content computer science course, this one focuses on introducing the language, libraries, tools and concepts of Java. Topics include: Object-oriented programming, primitives, arrays, objects, inheritance, interfaces, polymorphism, hashing, data structures, collections, nested classes, floating point precision, defensive programming, and depth-first search algorithm.

    Java Preparation Course at MIT




    Lecture Notes

    The daily class sessions consisted of two hours of lecture followed by one hour of assisted lab work. The lectures notes are provided below. All lecture notes were used with the permission of the instructor named.

     
    Day # Lecture Notes
    1

    Introduction and Java Programming by Lucy Mendel (PDF)
    Java Objects by Corey McCaffrey (PDF)
    2

    Classes and Interfaces by Justin Mazzola Paluska (PDF)
    Polymorphism by Robert Toscano (PDF)
    3
    Hashing, Collections, and Comparators by Scott Ostler (PDF)
    4
    Interfaces, Abstract classes, Exceptions, Inner classes by Lucy Mendel (PDF)
    5 Review, Question and Answer, Writing an Address Book Program that Loads and Stores Files to Disk


    Study Materials

    The following materials were provided to aid students in completing the course assignments. The 6.170 tools in this section refer to Athena, which is MIT's UNIX-based computing environment.


    Helpful Notes

    Java Reference Handout (PDF)

    Iterator (PDF)

    Continue and Break (PDF)

    Interfaces (PDF)

    This and Super (General Use and Constructors) (PDF)

    Overloading (PDF)

    Overriding (PDF)


    Tools

    Eclipse Reference for 6.170 (PDF)

    Setting up Eclipse at Home (PDF)

    Java Style Guide (PDF)

    Introduction to 6.170 Tools and Infrastructure (PDF - 2.0 MB)

    Popularity: 13% [?]

    Share and Enjoy:
    • blogmarks
    • del.icio.us
    • Furl
    • Reddit
    • Shadows
    • YahooMyWeb
    • StumbleUpon
    • Digg

    Related Posts:
  • Free Certification Preparation Exams
  • CompTIA Linux+ Certification Preparation Guide
  • Many Programming and IT Certification eBooks
  • Tutorials for MS Certified Technology Specialist Exams
  • Free Comptia A+ Certification Exam Preparation and Study Resources


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


    Next Page »

    Powered by WordPress