An open API service indexing awesome lists of open source software.

https://github.com/lucasbotang/edx_introduction_to_computer_science_and_programming_using_python

Introduction to computer science using python
https://github.com/lucasbotang/edx_introduction_to_computer_science_and_programming_using_python

computer-science python

Last synced: 9 months ago
JSON representation

Introduction to computer science using python

Awesome Lists containing this project

README

          

# Introduction to Computer Science and Programming Using Python

Coding exercises for Edx MITx: 6.00.1x Introduction to Computer Science and Programming Using Python.

## List of Lecture Topics:

### Lecture 1 – Introduction to Python:
- Knowledge
- Machines
- Languages
- Types
- Variables
- Operators and Branching

### Lecture 2 – Core elements of programs:
- Bindings
- Strings
- Input/Output
- IDEs
- Control Flow
- Iteration
- Guess and Check

### Lecture 3 – Simple Programs:
- Approximate Solutions
- Bisection Search
- Floats and Fractions
- Newton-Raphson

### Lecture 4 – Functions:
- Decomposition and Abstraction
- Functions and Scope
- Keyword Arguments
- Specifications
- Iteration vs Recursion
- Inductive Reasoning
- Towers of Hanoi
- Fibonacci
- Recursion on non-numerics
- Files

### Lecture 5 – Tuples and Lists:
- Tuples
- Lists
- List Operations
- Mutation, Aliasing, Cloning

### Lecture 6 – Dictionaries:
- Functions as Objects
- Dictionaries
- Example with a Dictionary
- Fibonacci and Dictionaries
- Global Variables

### Lecture 7 – Debugging:
- Programming Challenges
- Classes of Tests
- Bugs
- Debugging
- Debugging Examples

### Lecture 8 – Assertions and Exceptions
- Assertions
- Exceptions
- Exception Examples

### Lecture 9 – Classes and Inheritance:
- Object Oriented Programming
- Class Instances
- Methods
- Classes Examples
- Why OOP
- Hierarchies
- Your Own Types

### Lecture 10 – An Extended Example:
- Building a Class
- Viualizing the Hierarchy
- Adding another Class
- Using Inherited Methods
- Gradebook Example
- Generators

### Lecture 11 – Computational Complexity:
- Program Efficiency
- Big Oh Notation
- Complexity Classes
- Analyzing Complexity

### Lecture 12 – Searching and Sorting Algorithms:
- Indirection
- Linear Search
- Bisection Search
- Bogo and Bubble Sort
- Selection Sort
- Merge Sort

### Lecture 13 – Visualization of Data:
- Visualizing Results
- Overlapping Displays
- Adding More Documentation
- Changing Data Display
- An Example

### Lecture 14 – Summary