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.
This subject is aimed at students with little or no programming experience.
This subject has several related goals:
- Provide an understanding of the role computation can play in solving problems.
- Help students, including those who do not necessarily plan to major in Course VI, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals.
- Position students so that they can compete for UROPs and excel in subjects such as 6.01.
|Lecture 1: Goals of the course; what is computation; introduction to data types, operators, and variables Details||00:53:00|
|Lecture 2: Operators and operands; statements; branching, conditionals, and iteration Details||00:51:00|
|Lecture 3: Common code patterns: iterative programs Details||00:51:00|
|Lecture 4: Decomposition and abstraction through functions; introduction to recursion Details||00:51:00|
|Lecture 5: Floating point numbers, successive refinement, finding roots Details||00:44:00|
|Lecture 6: Bisection methods, Newton/Raphson, introduction to lists Details||00:50:00|
|Lecture 7: Lists and mutability, dictionaries, pseudocode, introduction to efficiency Details||00:46:00|
|Lecture 8: Complexity; log, linear, quadratic, exponential algorithms Details||00:50:00|
|Lecture 9: Binary search, bubble and selection sorts Details||00:47:00|
|Lecture 10: Divide and conquer methods, merge sort, exceptions Details||00:46:00|
|Lecture 11: Testing and debugging Details||00:49:00|
|Lecture 12: More about debugging, knapsack problem, introduction to dynamic programming Details||00:50:00|
|Lecture 13: Dynamic programming: overlapping subproblems, optimal substructure Details||00:49:00|
|Lecture 14: Analysis of knapsack problem, introduction to object-oriented programming Details||00:51:00|
|Lecture 15: Abstract data types, classes and methods Details||00:50:00|
|Lecture 16: Encapsulation, inheritance, shadowing Details||00:50:00|
|Lecture 17: Computational models: random walk simulation Details||00:49:00|
|Lecture 18: Presenting simulation results, Pylab, plotting Details||00:53:00|
|Lecture 19: Biased random walks, distributions Details||00:50:00|
|Lecture 20: Monte Carlo simulations, estimating pi Details||00:48:00|
|Lecture 21: Validating simulation results, curve fitting, linear regression Details||00:54:00|
|Lecture 22: Normal, uniform, and exponential distributions; misuse of statistics Details||00:51:00|
|Lecture 23: Stock market simulation Details||00:51:00|
|Lecture 24: Course overview; what do computer scientists do? Details||00:43:00|
No Reviews found for this course.