The aim is to learn Python's capabilities in breadth to explore the world and not focus on the language. Of course, you also need to grasp the core concepts of Python to use them effectively.
- 1: GETTING STARTED
- 2: INTRODUCTION TO PYTHON
- 3: SOME SIMPLE NUMERICAL PROGRAMS
- 4: FUNCTIONS, SCOPING, AND ABSTRACTION
- 5: STRUCTURED TYPES AND MUTABILITY
- 6: RECURSION AND GLOBAL VARIABLES
- 7: MODULES AND FILES
- 8: TESTING AND DEBUGGING
- 9: EXCEPTIONS AND ASSERTIONS
- 10: CLASSES AND OBJECT-ORIENTED PROGRAMMING
- 11: A SIMPLISTIC INTRODUCTION TO ALGORITHMIC COMPLEXITY
- 12: SOME SIMPLE ALGORITHMS AND DATA STRUCTURES
- 13: PLOTTING AND MORE ABOUT CLASSES
- 14: KNAPSACK AND GRAPH OPTIMIZATION PROBLEMS
- 15: DYNAMIC PROGRAMMING
- 16: RANDOM WALKS AND MORE ABOUT DATA VISUALIZATION
- 17: STOCHASTIC PROGRAMS, PROBABILITY, AND DISTRIBUTIONS
- 18: MONTE CARLO SIMULATION
- 19: SAMPLING AND CONFIDENCE
- 20: UNDERSTANDING EXPERIMENTAL DATA
- 21: RANDOMIZED TRIALS AND HYPOTHESIS CHECKING
- 22: LIES, DAMNED LIES, AND STATISTICS
- 23: EXPLORING DATA WITH PANDAS
- 24: A QUICK LOOK AT MACHINE LEARNING
- 25: CLUSTERING
- 26: CLASSIFICATION METHODSre Python concepts.