Home » Courses » Electrical Engineering and Computer Science » Introduction to Computer Science and Programming » Video Lectures
1: Introduction and Goals; Data Types, Operators, and Variables
2: Branching, Conditionals, and Iteration
3: Common Code Patterns: Iterative Programs
4: Abstraction through Functions; Introduction to Recursion
5: Floating Point Numbers, Successive Refinement, Finding Roots
6: Bisection Methods, Newton/Raphson, Introduction to Lists
7: Lists and Mutability, Dictionaries, Introduction to Efficiency
8: Complexity: Log, Linear, Quadratic, Exponential Algorithms
9: Binary Search, Bubble and Selection Sorts
10: Divide and Conquer Methods, Merge Sort, Exceptions
11: Testing and Debugging
12: Debugging, Knapsack Problem, Introduction to Dynamic Programming
13: Dynamic Programming: Overlapping Subproblems, Optimal Substructure
14: Introduction to Object-oriented Programming
15: Abstract Data Types, Classes and Methods
16: Encapsulation, Inheritance, Shadowing
17: Computational Models: Random Walk Simulation
18: Presenting Simulation Results, Pylab, Plotting
19: Biased Random Walks, Distributions
20: Monte Carlo Simulations, Estimating pi
21: Validating Simulation Results, Curve Fitting, Linear Regression
22: Normal, Uniform, and Exponential Distributions
23: Stock Market Simulation
24: Course Overview; What Do Computer Scientists Do?