Welcome to the Python Fundamentals repository! This repository contains the source code for learning Python, sourced from reputable educational platforms such as Harvard's CS50, W3Schools, and the official Python documentation.
This repository serves as a comprehensive collection of Python code examples and exercises, designed to help beginners and intermediate learners master Python programming. The content is based on the Python programming fundamentals covered in:
- Harvard's CS50x course, which introduces the foundational concepts of computer science and programming using Python.
- W3Schools Python tutorials, covering everything from the basics of syntax to advanced topics such as object-oriented programming.
- Python Official Documentation, providing real-world examples and in-depth explanations for various Python libraries, functions, and syntax.
The repository includes Python code examples and exercises from the following sources:
-
Harvard CS50x: Introduction to Computer Science
- A renowned introductory course that includes Python programming basics, algorithms, and data structures.
- Covers topics such as variables, conditionals, loops, functions, and Python libraries.
-
W3Schools Python Tutorials
- Offers a variety of examples ranging from the very basics (syntax, variables) to more advanced topics (file handling, modules, exception handling, etc.).
- Includes simple examples and exercises to practice Python code.
-
Python Official Documentation
- Direct links to the official Python documentation for each library and function used in the examples.
- Helps you deepen your understanding of Python with explanations directly from the source.
To get started with this repository, follow these simple steps:
-
Clone the repository to your local machine:
git clone https://github.com/Rabin-Mishra/Python-Fundamentals-With-Harvard-CS50
-
Navigate to the directory where the repository was cloned:
cd python-fundamentals -
Ensure you have Python installed. You can download the latest version from the official Python website.
-
(Optional) Create a virtual environment:
python -m venv venv
-
Browse through the directories and files in this repository to access Python code examples.
-
For each example or exercise, run the Python scripts directly from your terminal or IDE.
python example_name.py
-
You can also refer to the official documentation for further learning about the Python modules and functions used in the examples.
The repository is structured as follows:
python-fundamentals/
│
├── cs50/
│ ├── week1/
│ ├── week2/
│ ├── week3/
│ └── ...
│
├── w3schools/
│ ├── basic/
│ ├── advanced/
│ └── ...
│
├── python_docs/
│ ├── examples/
│ ├── functions/
│ └── modules/
│
├── README.md
- cs50/: Contains Python exercises from Harvard's CS50 course.
- w3schools/: Contains Python tutorials and code examples from W3Schools.
- python_docs/: Contains Python code examples that correspond to official Python documentation.
If you want to contribute to this repository, follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes and commit them (
git commit -m "Your commit message"). - Push to the branch (
git push origin feature-branch). - Open a Pull Request to merge your changes into the main branch.
Happy learning and coding! If you have any questions or feedback, feel free to open an issue or reach out to me!
### Key sections:
1. **About**: Describes the purpose of the repository and the sources of the content (CS50, W3Schools, Python Documentation).
2. **Course Sources**: Details the platforms and topics covered in the code examples.
3. **Installation**: Instructions to clone and set up the repository locally.
4. **Usage**: Explains how to run and use the code in the repository.
5. **Directory Structure**: Describes the organization of files in the repository for easy navigation.
6. **Contributing**: Guidelines on how to contribute to the repository if others want to add or improve content.
7. **License**: Indicates the open-source license for the repository (MIT License in this case).
Feel free to modify this as needed for your specific use case!