This repository provides a comprehensive, academically rigorous study framework for MIT OCW 18.01 Single Variable Calculus (Fall 2006) integrated with OpenStax Calculus Volume 1. The structure follows pedagogical best practices including spaced repetition, active recall, deliberate practice, and the Feynman Technique.
- Course: MIT 18.01 - Single Variable Calculus
- Instructor: Prof. David Jerison
- Textbook: OpenStax Calculus Volume 1 (Open Educational Resource)
- Format: Jupyter Notebooks with detailed explanations, code, and visualizations
This repository implements evidence-based learning techniques:
- Interactive flashcard notebooks for key concepts
- Progressive review systems
- Incremental difficulty scaling
- Concepts explained from first principles
- Clear, simple language before technical terminology
- "Teach to learn" approach in notebooks
- 5 problems per notebook with exhaustive analysis
- Multiple solution methods
- Common mistakes highlighted
- Pattern recognition development
- Mixed problem types within sets
- Cross-topic connections
- Review of previous material in new contexts
- Visual representations (matplotlib/plotly)
- Symbolic manipulation (SymPy)
- Numerical computation (NumPy)
- Interactive widgets (ipywidgets)
MIT-OCW-18.01---Calculus-1_with-OpenStax-Calculus-Volume-1/
β
βββ README.md # This file
βββ requirements.txt # Python dependencies
βββ create_scaffolding.py # Scaffolding generation script
βββ course_overview.md # Detailed course mapping
β
βββ utils/ # Utility functions
β βββ calculus_utils.py # Calculus-specific functions
β βββ plotting_utils.py # Visualization helpers
β βββ latex_rendering.py # LaTeX formatting utilities
β
βββ unit-01-derivatives/ # Unit 1: Derivatives
β βββ lecture-01-derivatives-slope-velocity/
β β βββ 01_Overview_Master_Dashboard.ipynb
β β βββ 02_Lecture_Notes_MIT.ipynb
β β βββ 03_OpenStax_Ch3-1_Defining_Derivative.ipynb
β β βββ 04_OpenStax_Ch3-2_Derivative_as_Function.ipynb
β β βββ 05_Problem_Set_Activities.ipynb
β β βββ 06_Activity_Flashcards.ipynb
β β βββ 07_Activity_Interactive_Playground.ipynb
β β βββ 08_Activity_Exercise_Bank.ipynb
β β βββ 09_Log_AI_QA_Journal.ipynb
β βββ lecture-02-limits-continuity/
β βββ [lectures 3-7...]
β
βββ unit-02-applications-differentiation/ # Unit 2: Applications
β βββ [lectures 9-16...]
β
βββ unit-03-integration/ # Unit 3: Integration
β βββ [lectures 18-24...]
β
βββ unit-04-techniques-integration/ # Unit 4: Advanced Techniques
β βββ [lectures 26-35...]
β
βββ problem-sets/ # Problem Sets 1-9
β βββ ps01/
β β βββ 00_Overview.ipynb
β β βββ 01_Problems_1-5_Detailed.ipynb
β β βββ 02_Problems_6-10_Detailed.ipynb
β β βββ 03_Solutions_Complete.ipynb
β βββ [ps02-ps09...]
β
βββ exams/ # Exam Materials
β βββ exam-01/
β βββ exam-02/
β βββ exam-03/
β βββ exam-04/
β βββ final-exam/
β
βββ supplementary/ # Additional Resources
βββ course-reader-notes/
βββ reference-materials/
βββ additional-resources/
- Python 3.10 or higher
- Jupyter Lab or Jupyter Notebook
- Git
-
Clone the repository
git clone https://github.com/pythpythpython/MIT-OCW-18.01---Calculus-1_with-OpenStax-Calculus-Volume-1.git cd MIT-OCW-18.01---Calculus-1_with-OpenStax-Calculus-Volume-1 -
Create and activate a virtual environment (recommended)
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Generate the scaffolding (if not already present)
python create_scaffolding.py
-
Launch Jupyter Lab
jupyter lab
-
Start with the Overview Dashboard (
01_Overview_Master_Dashboard.ipynb)- Review learning objectives
- Check prerequisites
- Track your progress
-
Study MIT Lecture Notes (
02_Lecture_Notes_MIT.ipynb)- Complete notes from Prof. Jerison
- Key insights and examples
-
Read OpenStax Textbook Sections (
03-XX_OpenStax_ChX-X.ipynb)- Definitions with examples
- Theorems with proofs
- Worked examples step-by-step
-
Practice with Problem Sets (
XX_Problem_Set_Activities.ipynb)- 5 problems with complete solutions
- Multiple approaches shown
- Common mistakes highlighted
-
Use Active Learning Tools
- Flashcards: Spaced repetition practice
- Interactive Playground: Visualizations and explorations
- Exercise Bank: Additional practice problems
-
Maintain Learning Journal (
XX_Log_AI_QA_Journal.ipynb)- Record questions and insights
- Track confusing concepts
- Note connections between topics
- Each problem set is divided into manageable chunks (5 problems each)
- Every problem includes:
- Clear problem statement
- Concepts being tested
- Multiple solution strategies
- Step-by-step detailed solution
- Alternative approaches
- Common mistakes to avoid
- Computational verification
- Practice exams in exam format
- Solutions split into parts for self-paced learning
- Comprehensive review guides
- Study strategies and tips
- Derivatives, slopes, velocity
- Limits and continuity
- Derivatives of products and quotients
- Chain rule
- Implicit differentiation
- Exponential and logarithmic functions
- Linear and quadratic approximations
- Curve sketching
- Optimization problems
- Related rates
- Newton's method
- Mean value theorem
- Differential equations
- Definite integrals
- Fundamental theorem of calculus
- Applications to geometry
- Volumes (disks and shells)
- Work and average value
- Numerical integration
- Trigonometric substitution
- Integration by parts
- Parametric equations
- Polar coordinates
- L'HΓ΄pital's rule
- Improper integrals
- Series and Taylor series
Each lecture folder contains:
- β Overview Dashboard with checkboxes
- π Learning objectives
- π― Progress indicators
- π Resource links
The utils/ directory contains helper functions:
- calculus_utils.py: Derivative/integral calculators, limit evaluators
- plotting_utils.py: Function plotters, tangent line visualizers
- latex_rendering.py: Beautiful equation formatting
- MIT Course Reader (supplementary notes)
- Problem sets with solutions
- Past exams
This is a personal learning repository, but suggestions and corrections are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit changes (
git commit -am 'Add improvement') - Push to branch (
git push origin feature/improvement) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- MIT OpenCourseWare for providing free, high-quality educational resources
- OpenStax for their open-access calculus textbook
- Prof. David Jerison for excellent lectures
- Inspired by The Feynman Lectures on Physics repository structure
Questions or feedback? Open an issue on GitHub!
Note: This repository is for educational purposes. All course materials are from MIT OpenCourseWare (licensed under Creative Commons) and OpenStax (open educational resource).
- Consistency over intensity: Study daily rather than cramming
- Active engagement: Work through examples yourself before reading solutions
- Space out practice: Use the flashcards and exercise banks regularly
- Connect concepts: Use the AI Q&A Journal to build mental models
- Visualize: Run the interactive playgrounds to build intuition
- Teach others: Explain concepts to solidify understanding
Happy Learning! πβ¨