Saturday, September 14, 2013

EdX



EdX like Coursea gives FREE classes year round. You can wait for the next class or just sign up and Audit a class where it gives you the Video Lessons and Homework and assignments to do at your own pace.


         Introduction to using computation to solve real problems. 
The course is aimed at students with little or no prior programming
experience who have a desire (or at least a need) to understand computational approaches to problem solving.


Artificial Intelligence  -  Berkeley (U of California)  

      CS188.1x is an online adaptation of the first half of UC Berkeley's upper division course CS188: Introduction to Artificial Intelligence. 

Prerequisites:

Programming
  • Object-Oriented Programming
  • Recursion
  • Python or ability to learn Python quickly (mini-tutorial provided)
Data Structures
  • Lists vs Sets (Arrays, Hashtables)
  • Queuing (Stacks, Queues, Priority Queues)
  • Trees vs Graphs (Traversal, Backpointers)
Math
  • Probability, Random Variables, and Expectations (Discrete)
  • Basic Asymptotic Complexity (Big-O)
  • Basic Counting (Combinations and Permutations)

 

Code Academy


Sign up and Start there FREE Python Course.

21 Sections consisting of Interactive Lessons on.

Python Syntax   

Strings and Console Output

Conditionals and Control Flow

Functions

Lists & Dictionaries

Lists and Functions

Loops

Introduction to Classes

File Input and Output

 

Udacity Classes


Self -Pace Courses Given for FREE at Udacity

Introduction to Computer Science - Building a Search Engine
      -  (Beginner) Learn Key concepts in Computer Science including how to write  your own computer programs. This course 
teaches Python programming in the context of building a search Engine. 
Design of Computer Programs - Programming Principals
     - (Intermediate) Learn how to model programs and how to optimize performance by using some of the advanced features of Python.
Algorithms - Crunching Social Networks
     - (Intermediate) Intro into the design and analysis of algorithms
        with Python
   

Coursera Courses


Below is a list of Classes taught by Different University's on Coursera for FREE.
(These classes are either Python Classes or another Class that also uses Python Programming in the class as well.) 

*** Most of these classes are given several times a year if you want to take when it is run. Many are still listed with the Videos, Homework Assignments, and Projects even when not being given.***

Learn to Program : The Fundamentals            University of Toronto
( 7 week )    Beginner Class in Python Programming
Week                                    Topics
1     Installing Python, IDLE, mathematical expressions,

        variables, assignment statement, calling and    
        defining functions, syntax and semantic errors
2     Strings, input/output, function reuse, 

       function design recipe, docstrings
3     Booleans, import, namespaces, if statements

4     for loops, fancy string manipulation
5     while loops, lists, mutability
6     for loops over indices, parallel lists and strings, files
7     tuples, dictionaries


An introduction to Interactive Python Programming      Rice Univ.
(9 Week)    This course is designed to be a fun introduction to the basics 
of programming in Python. Our main focus will be on building
 simple interactive games such as Pong, Blackjack and Asteroids.

Khan Academy Python Lesson Videos


Go to the drop down Science Tab to find all the Python Programming video lessons here.

List of Videos Below
(Most were done a while back and use Python 2 Version)

Introduction to Programs Data Types and Variables Writing a basic program. -                  
     Basics of data types, variables and conditional statements
Binary Numbers  -
     Understanding how numbers are represented. Intro to Binary Numbers.
Python Lists -
      Understanding the basics of lists in Python.
For Loops in Python
     Basics of a For Loop in Python.
While Loops in Python
     Seeing that a while loop can do the same thing as a for loop
Fun with Strings
     Experimenting and seeing what we can do with strings
1. Writing a Simple Factorial Program (Python 2)
     Writing a simple factorial program with a "for" loop
2.  Stepping Through the Factorial Program
      Stepping through what happens when a user inputs a value.
3.  Flowchart for the Factorial Program
     Flowchart
 Python 3 Not backwards Compatible with Python 2
    Understanding why example program does not work in Python 3
Defining a Factorial Function
    Defining a function in Python
Defining What  Happens with a Function Call
    Variable scope and Function calls
Diagramming What Happens with a Function Call 
    Variable scope and function calls
Recursive Factorial Function
    Introduction to recursion
Comparing Iterative and Recursive Factorial Functions.
    Comparing iterative and recursive factorial functions 
Exercise - Write a Fibonacci Function
    Introduction to the Fibonacci Sequence and a programming challenge
Iterative Fibonacci Function Example
    One way to write a Fibonacci function iteratively
Stepping Through Iterative Fibonacci Function
    Understanding how the Fibonacci function works for a particular example
Recursive Fibonacci Example
    Using recursion to write a Fibonacci function
Stepping Through Recursive Fibonacci Function
    Understanding why and how the recursive Fibonacci function works
Exercise - Write a Sorting Function
    Challenge to write a Python function that can sort a list in-place
Insertion Sort Algorithm
    Visual description of the insertion sort algorithm
Insertion Sort in Python
    Basic implementation of the insertion sort algorithm
Stepping Through Insertion Sort Function
    Clarifying what "break" does and stepping through the Insert. Sort Implementation
Simpler Insertion Sort Function
     Simplifying the while loop for the Insertion Sort function