This repository is to document my process during the MIT’s 6.00.1x course - Introduction to Computer Science using Python.
- Knowledge, Machines, Languages, Types, Variables, Operators and Branching
- Bindings, Strings, Input/Output, IDEs, Control Flow, Iteration, Guess and Check
- Approximate Solutions, Bisection Search, Floats and Fractions, Newton-Raphson
- Decomposition and Abstraction, Functions and Scope, Keyword Arguments, Specifications, Iteration vs Recursion, Inductive Reasoning, Towers of Hanoi, Fibonacci, Recursion on non-numerics, Files
- Tuples, Lists, List Operations, Mutation, Aliasing, Cloning
- Functions as Objects, Dictionaries, Example with a Dictionary, Fibonacci and Dictionaries, Global Variables
- Programming Challenges, Classes of Tests, Bugs, Debugging, Debugging Examples
- Assertions, Exceptions, Exception Examples
- Object Oriented Programming, Class Instances, Methods, Classes Examples, Why OOP, Hierarchies, Your Own Types
- Building a Class, Viualizing the Hierarchy, Adding another Class, Using Inherited Methods, Gradebook Example, Generators
- Program Efficiency, Big Oh Notation, Complexity Classes, Analyzing Complexity
- Indirection, Linear Search, Bisection Search, Bogo and Bubble Sort, Selection Sort, Merge Sort
- Visualizing Results, Overlapping Displays, Adding More Documentation, Changing Data Display, An Example