MIT / Computer Science / Programming Languages
Lecture : Introduction and Goals Data Types Operators and Variables
By Eric Grimson | Introduction to Computer Science and Programming
Lecture 1 of 24
Rate this lecture -
 More Lectures - Select Lecture...1 : Introduction and Goals Data Types Operators and Variables2 : Branching Conditionals and Iteration3 : Common Code Patterns Iterative Programs4 : Abstraction through Functions; Introduction to Recursion5 : Floating Point Numbers Successive Refinement Finding Roots6 : Bisection Methods Newton Raphson Introduction to Lists7 : Lists and Mutability Dictionaries Introduction to Efficiency8 : Complexity Log Linear Quadratic Exponential Algorithms9 : Binary Search Bubble and Selection Sorts10 : Divide and Conquer Methods Merge Sort Exceptions11 : Testing and Debugging12 : Debugging Knapsack Problem Introduction to Dynamic Programming13 : Dynamic Programming Overlapping Subproblems Optimal Substructure14 : Introduction to Object oriented Programming15 : Abstract Data Types Classes and Methods16 : Encapsulation Inheritance Shadowing17 : Computational Models Random Walk Simulation18 : Presenting Simulation Results Pylab Plotting19 : Biased Random Walks Distributions20 : Monte Carlo Simulations Estimating pi21 : Validating Simulation Results Curve Fitting Linear Regression22 : Normal Uniform and Exponential Distributions23 : Stock Market Simulation24 : Course Overview What Do Computer Scientists Do

Course Description
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.
Courses Index
1 : The Structure and Interpretation of Computer Programs   (Brian HARVEY / Berkeley)
2 : Programming Methodology   (Mehran Sahami / Stanford)
3 : Programming Abstractions   (Julie Zelenski / Stanford)
4 : Programming Paradigms   (Jerry Cain / Stanford)
5 : Computer Language Engineering   (Martin Rinard / MIT)
6 : Multicore Programming Primer   (Rodric Rabbah / MIT)
7 : Introduction to Computer Science I   (David Malan / Harvard University)
8 : Understanding Computers and the Internet   (David Malan / Harvard University)
9 : Exposing Digital Photography   (Dan Armendariz / Harvard University)
10 : Building Dynamic Websites   (David Malan / Harvard University)
11 : Building Mobile Applications   (David Malan / Harvard University)
12 : XML with Java, Java Servlet, and JSP   (David Malan / Harvard University)
13 : Developing Mobile Apps with Web Technologies   (Multiple Instructors / Stanford)
14 : iPhone Application Development   (Multiple Instructors / Stanford)
15 : iPhone Application Programming   (Multiple Instructors / Stanford)
16 : Unix OS   (Bigbean Counter / International Technology University)
17 : Android Apps. Development   (Bigbean Counter / International Technology University)
18 : Strategic Management of IT   (Bigbean Counter / International Technology University)
19 : HTML and CSS Programming   (Bigbean Counter / International Technology University)
20 : Oracle Database   (Bigbean Counter / International Technology University)