This README documents my learning journey through the CS50P (CS50's Introduction to Programming with Python) course. It includes an overview of the topics covered, my progress, and the projects I've completed as part of the course.
CS50P is a comprehensive introduction to programming using Python, offered by Harvard University. The course covers fundamental concepts in computer science, algorithms, data structures, and various Python programming techniques.
- Master the basics of Python programming.
- Understand and implement algorithms and data structures.
- Develop problem-solving skills using Python.
- Complete weekly problem sets and a final project.
- Learn to test code using tools like
pytest
.
Week | Topic | Problem Sets/Notes |
---|---|---|
1 | Functions, Variables, and Loops | Completed problem set 1. Learned about basic Python syntax. |
2 | Conditionals | Explored conditionals and logical operators. |
3 | Loops and Iterations | Practiced loops and iteration patterns. |
4 | Data Structures | Worked with lists, tuples, dictionaries, and sets. |
5 | Object-Oriented Programming | Implemented classes and objects in Python. |
6 | File I/O and Exceptions | Learned to read from and write to files, and handle exceptions. |
7 | Testing and Debugging | Gained experience with pytest and debugging tools. |
8 | Final Project Development | Started working on the final project, integrating multiple concepts. |
For the final project, I am developing a Python program that meets the course's specific requirements. The project involves creating a tool or application with a main function and at least three additional functions. I am also required to use pytest
for testing and submit a video presentation along with a README.md file. The deadline for the final submission is January 1, 2025.
- Advanced Python Topics: Explore more advanced Python topics like concurrency, multiprocessing, and async programming.
- Open-Source Contribution: Contribute to Python-based open-source projects.
- Machine Learning: Apply Python skills to machine learning projects using libraries like PyTorch.