Looking for software programming help?

We have 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.

### 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.

### Java Programming

### Computer Programming Methodology (Java)

You can use the free Mathway calculator and problem solver below to practice Algebra or other math topics. Try the given examples, or type in your own problem and check your answer with the step-by-step explanations.

We have free video lessons on software programming languages. The programming languages available are Java and Python.

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 |

Lecture 1Goals of the course; what is computation; introduction to data types, operators, and variables | Lecture 2Operators and operands; statements; branching, conditionals, and iteration |

Lecture 3Common code patterns: iterative programs | Lecture 4Decomposition and abstraction through functions; introduction to recursion |

Lecture 5Floating point numbers, successive refinement, finding roots | Lecture 6 Bisection methods, Newton/Raphson, introduction to lists |

Lecture 7Lists and mutability, dictionaries, pseudocode, introduction to efficiency | Lecture 8Complexity; 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? |

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 |

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) |

Rotate to landscape screen format on a mobile phone or small tablet to use the **Mathway** widget, a free math problem solver that **answers your questions with step-by-step explanations**.

You can use the free Mathway calculator and problem solver below to practice Algebra or other math topics. Try the given examples, or type in your own problem and check your answer with the step-by-step explanations.

We welcome your feedback, comments and questions about this site or page. Please submit your feedback or enquiries via our Feedback page.