MITx's Introduction to Computer Science and Programming Using Python
ID verified certificate of achievement is available at https://s3.amazonaws.com/verify.edx.org/downloads/7acef5767cd74e28b07ec112638241d2/Certificate.pdf
List of Lecture Topics
Lecture 1 – Introduction: • What a computer does • Computational thinking • Aspects of programming languages • Basic machine architecture
Lecture 2 – Core elements of programs: • Kinds of languages • Objects, expressions, operators • Abstraction by naming • Strings • Scripts • Straightline programs • Branching programs
Lecture 3 – Simple algorithms: • Simple programs • Iteration • Input • Exhaustive enumeration • Guess and check • For and while loops • Approximate solutions • Bisection search • Newton-Raphson Lecture 4 – Functions: • Function syntax • Abstraction by specification • Functions and scoping • Floating point numbers • Specifications • Modules
Lecture 5 – Recursion: • Recursion • Inductive reasoning • Divide and conquer
Lecture 6 – Objects: • Structured types and mutability • Tuples • Lists and mutability • Functions as objects • Dictionaries
Lecture 7 – Debugging: • Testing and debugging • Black box testing • Glass box testing • Integration testing and unit testing • Debugging with binary search
Lecture 8 – Assertions and Exceptions • Assertions • Exceptions
Lecture 9 – Efficiency and orders of growth: • Complexity • How to measure complexity • Asymptotic notation
Lecture 10 – Memory and search: • Memory storage • Indirection • Searching and sorting methods • Hashing
Lecture 11 – Classes: • Definition of classes • Classes versus instances • Methods • Bindings of values • Exceptions
Lecture 12 – Object Oriented Programming and Inheritance: • Inheritance • Object oriented programming
Lecture 13 – Trees: • Decision trees • Depth-first search • Breadth-first search
Lecture 14 – Summary
Lecture 15 – Research videos