https://github.com/scthornton/learn-python-from-scratch
Simple Jupyter Notebook geared towards those with no prior programming experience.
https://github.com/scthornton/learn-python-from-scratch
beginners education jupyter-notebook python python-from-scratch
Last synced: about 2 months ago
JSON representation
Simple Jupyter Notebook geared towards those with no prior programming experience.
- Host: GitHub
- URL: https://github.com/scthornton/learn-python-from-scratch
- Owner: scthornton
- License: mit
- Created: 2025-11-08T01:48:49.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-01-21T05:13:16.000Z (5 months ago)
- Last Synced: 2026-01-21T17:25:04.133Z (5 months ago)
- Topics: beginners, education, jupyter-notebook, python, python-from-scratch
- Language: Jupyter Notebook
- Homepage:
- Size: 13.7 KB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Python from Scratch: A Beginner's Tutorial
A comprehensive, interactive Jupyter notebook tutorial designed to teach Python programming to complete beginners with zero programming experience.
## Who This Is For
- **Complete beginners** who have never written code before
- **Non-developers** who want to learn programming fundamentals
- **Self-learners** who prefer hands-on, interactive tutorials
- **Anyone** who wants a solid foundation in Python basics
## What You'll Learn
This tutorial covers all Python fundamentals through 16 comprehensive sections:
### Core Concepts
- **Variables & Data Types** - Strings, integers, floats, booleans
- **Math Operations** - All arithmetic operators and practical calculations
- **Print Statements** - Displaying output and debugging
### Data Structures
- **Lists** - Creating, accessing, and manipulating ordered collections
- **Dictionaries** - Working with key-value pairs
- **Strings** - Text manipulation, formatting, and methods
### Control Flow
- **Conditionals** - if/elif/else statements and comparison operators
- **Loops** - for loops, while loops, and iteration
- **Functions** - Creating reusable code blocks
### Advanced Topics
- **File Operations** - Reading and writing files
- **JSON Handling** - Working with structured data
- **Error Handling** - try/except blocks for graceful error management
- **List Comprehensions** - Elegant, Pythonic list creation
- **API Requests** - Making HTTP requests with the requests library
- **Object-Oriented Programming** - Building a complete TodoList application
## How to Use This Tutorial
### Prerequisites
- Python 3.7+ installed on your computer
- Jupyter Notebook or JupyterLab installed
### Installation
1. **Clone this repository:**
```bash
git clone https://github.com/scthornton/learn-python-from-scratch.git
cd learn-python-from-scratch
```
2. **Install Jupyter (if not already installed):**
```bash
pip install jupyter
```
3. **Install required dependencies:**
```bash
pip install requests
```
### Running the Tutorial
1. **Start Jupyter Notebook:**
```bash
jupyter notebook
```
2. **Open the tutorial:**
- Navigate to `python_basics_tutorial.ipynb` in the Jupyter interface
- Click to open the notebook
3. **Work through the cells:**
- Read each markdown cell for explanations
- Run each code cell by clicking it and pressing **Shift + Enter**
- **Type the code yourself** - don't copy/paste! This helps you learn
- Complete the "Try it yourself" exercises throughout
### Learning Path
The tutorial is designed to be completed in order:
1. Start at the beginning - each section builds on previous concepts
2. Run every code cell to see outputs
3. Experiment with the code - modify values and see what happens
4. Complete all "Try it yourself" exercises
5. Build the final TodoList project to tie everything together
## Tutorial Structure
```
Section 1-3: Fundamentals (print, variables, data types)
Section 4-6: Data structures (math, lists, dictionaries)
Section 7-9: Control flow (conditionals, loops, functions)
Section 10-13: Working with data (strings, files, JSON, errors)
Section 14-15: Advanced techniques (comprehensions, APIs)
Section 16: Capstone project (Complete TodoList application)
```
## Project Features
- **Interactive learning** - Run code directly in your browser
- **Practical examples** - Real-world applications like tip calculators and file handling
- **Progressive difficulty** - Gradually introduces complexity
- **Hands-on exercises** - Practice problems throughout
- **Complete project** - Build a functional TodoList application
- **Self-contained** - Everything you need in one notebook
## Next Steps After Completion
Once you finish this tutorial, you'll be ready to:
1. **Build your own projects** - Apply these fundamentals to solve real problems
2. **Learn specialized libraries:**
- **pandas** - Data analysis and manipulation
- **matplotlib/seaborn** - Data visualization
- **flask/django** - Web application development
- **scikit-learn** - Machine learning
3. **Explore advanced topics:**
- Object-oriented programming design patterns
- Asynchronous programming
- Testing and debugging
- Package management and virtual environments
## Additional Resources
- [Python Official Documentation](https://docs.python.org/3/)
- [Python Official Tutorial](https://docs.python.org/3/tutorial/)
- [Real Python](https://realpython.com/) - Comprehensive Python tutorials
- [Python for Everybody](https://www.py4e.com/) - Free course and book
- [PEP 8 Style Guide](https://peps.python.org/pep-0008/) - Python code style conventions
## Contributing
Found a bug or have a suggestion? Contributions are welcome!
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/improvement`)
3. Commit your changes (`git commit -m 'Add some improvement'`)
4. Push to the branch (`git push origin feature/improvement`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Author
**Scott Thornton**
AI Security Researcher @ perfecXion.ai
## Acknowledgments
Built with the goal of making Python accessible to everyone, regardless of their technical background. Learning to code opens doors - this tutorial aims to open that first door.
---
**Happy coding! 🐍**
If you find this tutorial helpful, please star the repository and share it with others who want to learn Python!
---
## Contact
**Scott Thornton** — AI Security Researcher
- Website: [perfecxion.ai](https://perfecxion.ai/)
- Email: [scott@perfecxion.ai](mailto:scott@perfecxion.ai)
- LinkedIn: [linkedin.com/in/scthornton](https://www.linkedin.com/in/scthornton)
- ORCID: [0009-0008-0491-0032](https://orcid.org/0009-0008-0491-0032)
- GitHub: [@scthornton](https://github.com/scthornton)
**Security Issues**: Please report via [SECURITY.md](SECURITY.md)