Software Programming
Free video lessons on software programming languages. The programming languages available are Java and Python,
Python Programming Language
A series of video lessons on the Python Programming Language given by Khan Academy.
Introduction to Programs Data Types and Variables
Writing a basic program. Basics of data types, variables and conditional statements
Python Lists
Understanding the basics of lists in Python
For Loops in Python
Basics of for loops 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
Writing a Simple Factorial Program. (Python 2)
Writing a simple factorial program with a "for" loop
Stepping Through the Factorial Program
Stepping through what happens when a user inputs a particular value into our factorial program
Flowchart for the Factorial Program
Python 3 Not Backwards Compatible with Python 2
Understanding why the example program would not run in Python 3 and how to fix it.
Defining a Factorial Function
Diagramming What Happens with a Function Call
Variable scope and function calls
Recursive Factorial Function
Introduction to recursion.
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 iterative 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 insertion sort algorithm
Stepping Through Insertion Sort Function
Clarifying what "break" does and stepping through the insertion sort implementation
MIT 6.00 Intro to Computer Science & Programming
This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python™ programming language.
Lecture 1: Goals of the course; what is computation; introduction to data types, operators, and variables
Lecture 2: Operators and operands; statements; branching, conditionals, and iteration
Lecture 3: Common code patterns: iterative programs
Lecture 4: Decomposition and abstraction through functions; introduction to recursion
Lecture 5: Floating point numbers, successive refinement, finding roots
Lecture 6: Bisection methods, Newton/Raphson, introduction to lists
Lecture 7: Lists and mutability, dictionaries, pseudocode, introduction to efficiency
Lecture 8: Complexity; log, linear, quadratic, exponential algorithms
Lecture 9: Binary search, bubble and selection sorts
Lecture 10: Divide and conquer methods, merge sort, exceptions
Lecture 11: Testing and debugging
Lecture 12: More about debugging, knapsack problem, introduction to dynamic programming
Lecture 13: Dynamic programming: overlapping subproblems, optimal substructure
Lecture 14: Analysis of knapsack problem, introduction to object-oriented programming
Lecture 15: Abstract data types, classes and methods
Lecture 16: Encapsulation, inheritance, shadowing
Lecture 17: Computational models: random walk simulation
Lecture 18: Presenting simulation results, Pylab, plotting
Lecture 19: Biased random walks, distributions
Lecture 20: Monte Carlo simulations, estimating pi
Lecture 21: Validating simulation results, curve fitting, linear regression
Lecture 22: Normal, uniform, and exponential distributions; misuse of statistics
Lecture 23: Stock market simulation
Lecture 24: Course overview; what do computer scientists do?
Java Programming
Free Java Programming Course from UCBerkeley.
Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.
Lecture 1: Course Overview
Lecture 2: Using Objects
Lecture 3: Defining Classes
Lecture 4: Types and Conditionals
Lecture 5: Iteration and Arrays I
Lecture 6: Iteration and Arrays II
Lecture 7: Linked Lists I
Lecture 8: Linked Lists II
Lecture 9: Stack Frames
Lecture 10: Testing
Lecture 11: Inheritances
Lecture 12: Abstract Classes
Lecture 13: Java Packages
Lecture 14: Exceptions
Lecture 15: More Java
Lecture 16: Game Trees
Lecture 17: Encapsulation
Lecture 18: Encapsulated Lists
Lecture 19: Asymptotic Analysis
Lecture 20: Algorithm Analysis
Lecture 21: Hash Tables
Lecture 22: Stacks and Queues
Lecture 23: Trees and Traversals
Lecture 24: Priority Queues
Lecture 25: Binary Search Trees
Lecture 26: Balanced Search Trees
Lecture 27: Graphs
Lecture 28: Weighted Graphs
Lecture 29: Sorting I
Lecture 30: Sorting II
Lecture 31: Disjoint Sets
Lecture 32: Sorting III
Lecture 33: Sorting V
Lecture 34: Splay Trees
Lecture 35: Amortized Analysis
Lecture 36: Randomized Analysis
Lecture 37: Expression Parsing
Lecture 38: Garbage Collection
Lecture 39: Augmenting Data Structures
Computer Programming Methodology (Java)
A Free Java Programming Course from Stanford.
Programming Methodology (CS106A) is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.
Lecture 1: Course Overview & Computer Programming
Lecture 2: Introducing Karel and the commands
Lecture 3: Karel – Common errors, comments, and advanced instructions
Lecture 4: History of computing and introduces programming in Java
Lecture 5: Graphics, objects, classes, variables, and values pertaining to Java
Lecture 6: Expressions, variables, and values, conditions, scopes, if statements, and different loops
Lecture 7: Loops, function, methods, and returning
Lecture 8: More details on methods and functions
Lecture 9: Strings, Classes and how to combine the previous topics and lectures together
Lecture 10: Classes, constructors, instance variables, setters, strings, extending, interface, labels, and GArcs
Lecture 11: GObjects, GImage, Gcompound, and Gpolygons. How to incorporate the mouse and keyboard into the graphics
Lecture 12: Enumeration
Lecture 13: String processing and characters
Lecture 14: Memory and what happens to a computer internally when programming
Lecture 15: Pointers and memory, reading files, creating files, and over writing files
Lecture 16: Arrays
Lecture 17: Arrays and array lists
Lecture 18: Arrays and Debugging
Lecture 19: Interfaces
Lecture 20: Graphical User Interface
Lecture 21: Interactions
Lecture 22: Programming Methodology (Stanford)
Lecture 23: Searching and sorting
Lecture 24: How online music companies sort and classify their music
Lecture 25: Programming Methodology (Stanford)
Lecture 26: Programming Methodology (Stanford)
Lecture 27: Programming Methodology (Stanford)
Lecture 28: Programming Methodology (Stanford)
We welcome your feedback, comments and questions about this site - please submit your feedback via our Feedback page.
© Copyright 2005, 2012 - onlinemathlearning.com
Embedded content, if any, are copyrights of their respective owners.
|