Introduction to Computer Science and Programming (Fall 2008)
Video Lectures
Displaying all 24 video lectures.
Lecture 1![]() Play Video |
Goals, Introduction to the Course Lecture 1: Goals of the course; what is computation; introduction to data types, operators, and variables |
Lecture 2![]() Play Video |
Operators, operands, statements, branching, iteration Lecture 2: Operators and operands; statements; branching, conditionals, and iteration |
Lecture 3![]() Play Video |
Common code patterns: iterative programs Lecture 3: Common code patterns: iterative programs |
Lecture 4![]() Play Video |
Decomposition, abstraction through functions and recursion Lecture 4: Decomposition and abstraction through functions; introduction to recursion |
Lecture 5![]() Play Video |
Floating point numbers, finding roots Lecture 5: Floating point numbers, successive refinement, finding roots |
Lecture 6![]() Play Video |
Bisection methods, Newton/Raphson, introduction to lists Lecture 6: Bisection methods, Newton/Raphson, introduction to lists |
Lecture 7![]() Play Video |
Lists, mutability, dictionaries, pseudocode and efficiency Lecture 7: Lists and mutability, dictionaries, pseudocode, introduction to efficiency |
Lecture 8![]() Play Video |
Complexity; log, linear, quadratic, exponential algorithms Lecture 8: Complexity; log, linear, quadratic, exponential algorithms |
Lecture 9![]() Play Video |
Binary search, bubble and selection sorts Lecture 9: Binary search, bubble and selection sorts |
Lecture 10![]() Play Video |
Divide and conquer methods, merge sort, exceptions Lecture 10: Divide and conquer methods, merge sort, exceptions |
Lecture 11![]() Play Video |
Testing and debugging Lecture 11: Testing and debugging |
Lecture 12![]() Play Video |
Debugging, knapsack problem, dynamic programming Lecture 12: More about debugging, knapsack problem, introduction to dynamic programming |
Lecture 13![]() Play Video |
Dynamic programming: overlapping subproblems, optimal substructure Lecture 13: Dynamic programming: overlapping subproblems, optimal substructure |
Lecture 14![]() Play Video |
Knapsack problem and object-oriented programming Lecture 14: Analysis of knapsack problem, introduction to object-oriented programming |
Lecture 15![]() Play Video |
Abstract data types, classes and methods Lecture 15: Abstract data types, classes and methods |
Lecture 16![]() Play Video |
Encapsulation, inheritance, shadowing Lecture 16: Encapsulation, inheritance, shadowing |
Lecture 17![]() Play Video |
Computational models: random walk simulation Lecture 17: Computational models: random walk simulation |
Lecture 18![]() Play Video |
Presenting simulation results, Pylab, plotting Lecture 18: Presenting simulation results, Pylab, plotting |
Lecture 19![]() Play Video |
Biased random walks, distributions Lecture 19: Biased random walks, distributions |
Lecture 20![]() Play Video |
Monte Carlo simulations, estimating pi Lecture 20: Monte Carlo simulations, estimating pi |
Lecture 21![]() Play Video |
Simulation results, curve fitting, linear regression Lecture 21: Validating simulation results, curve fitting, linear regression |
Lecture 22![]() Play Video |
Normal, uniform, and exponential distributions Lecture 22: Normal, uniform, and exponential distributions; misuse of statistics |
Lecture 23![]() Play Video |
Stock market simulation Lecture 23: Stock market simulation |
Lecture 24![]() Play Video |
Course overview; what do computer scientists do? Lecture 24: Course overview; what do computer scientists do? |