Hi friends, begin this journey with me, on learning Software Development with Python in 12 weeks.
If I don't write an article in a day, feel free to check up on me. This, in no small way, can keep me committed to my goal. Thank you. I appreciate it. God bless you.😊
Day 1 [August 8, 2025]
Goals:
- Read about Medium, Dev.to, which are websites for posting articles.
- Creating Lesson Structure.
Notes:
Alongside his kind push to get me motivated to take up a 12-week rigorous exercise to learn python, a dear friend recommended publishing to Medium (or my blog), weekly, my learnings.
This process confirmed what I read in this article by Syakir (2024) on Dev.to. He suggested that one of the ways an online presence can be built is by writing on Dev.to, starting with "Today I Learned" posts.
Taking steps on these, I decided to read about Medium and Dev.to on day 1 of my "12-Week Python Software Development Learning Program/Experience/Lessons" goal.
I took it further by creating accounts on these platforms.
MEDIUM
This is a platform that offers the opportunity to not only read but to write and very much deepen your understanding (Medium, n.d.).
DEV
This is a platform that makes it possible for Software Developers to collaborate and experience "networked learning" (in their own words) (DEV Community, n.d.).
How do I create a lesson structure?
I asked Meta AI (Meta AI, personal communication, August 8, 2025) to create a lesson plan to learn Software Development with Python in 12 weeks, giving me daily targets, weekly projects, as well as legally free or open source platforms for learning.
Here's what Meta AI returned (verbatim):
12-Week Software Development Learning Plan with Python
Week 1-2: Python Basics
-
Daily Targets:
- Week 1:
- Day 1-2: Learn basic syntax, data types, and variables
- Day 3-4: Control structures (if-else, loops)
- Day 5-6: Functions and modules
- Day 7: Practice exercises
- Week 2:
- Day 8-9: Lists, tuples, and dictionaries
- Day 10-11: Object-Oriented Programming (OOP) basics
- Day 12-13: File input/output and exceptions
- Day 14: Practice exercises
- Week 1:
-
Weekly Project:
- Week 1: Command-line calculator
- Week 2: Simple game (e.g., Rock, Paper, Scissors)
Week 3-4: Data Structures and Algorithms
-
Daily Targets:
- Week 3:
- Day 15-16: Lists and list comprehensions
- Day 17-18: Stacks, queues, and deques
- Day 19-20: Sorting algorithms (bubble sort, selection sort)
- Day 21: Practice exercises
- Week 4:
- Day 22-23: Searching algorithms (linear search, binary search)
- Day 24-25: Graphs and graph traversal
- Day 26-27: Dynamic programming
- Day 28: Practice exercises
- Week 3:
-
Weekly Project:
- Week 3: To-do list app with data storage
- Week 4: Simple chatbot
Week 5-6: Web Development
-
Daily Targets:
- Week 5:
- Day 29-30: Introduction to Flask or Django
- Day 31-32: Routing and templates
- Day 33-34: Forms and user input
- Day 35: Practice exercises
- Week 6:
- Day 36-37: Database integration (e.g., SQLite)
- Day 38-39: User authentication and authorization
- Day 40-41: API design and implementation
- Day 42: Practice exercises
- Week 5:
-
Weekly Project:
- Week 5: Simple web app with user input
- Week 6: RESTful API with database integration
Week 7-8: Data Analysis and Visualization
-
Daily Targets:
- Week 7:
- Day 43-44: Introduction to Pandas and NumPy
- Day 45-46: Data cleaning and preprocessing
- Day 47-48: Data visualization with Matplotlib and Seaborn
- Day 49: Practice exercises
- Week 8:
- Day 50-51: Data analysis with Pandas
- Day 52-53: Data visualization with Plotly
- Day 54-55: Statistical analysis
- Day 56: Practice exercises
- Week 7:
-
Weekly Project:
- Week 7: Data analysis and visualization project
- Week 8: Statistical analysis project
Week 9-10: Machine Learning
-
Daily Targets:
- Week 9:
- Day 57-58: Introduction to Scikit-learn
- Day 59-60: Supervised learning (regression, classification)
- Day 61-62: Model evaluation and selection
- Day 63: Practice exercises
- Week 10:
- Day 64-65: Unsupervised learning (clustering, dimensionality reduction)
- Day 66-67: Deep learning basics
- Day 68-69: Neural networks
- Day 70: Practice exercises
- Week 9:
-
Weekly Project:
- Week 9: Supervised learning project
- Week 10: Unsupervised learning project
Week 11-12: Final Project and Review
-
Daily Targets:
- Week 11:
- Day 71-77: Work on final project
- Week 12:
- Day 78-83: Review and practice exercises
- Day 84: Final project presentation
- Week 11:
-
Final Project:
- Choose a project idea and implement it using the skills learned throughout the 12 weeks
Legally Free or Open-Source Platforms for Learning
- Codecademy: Interactive coding lessons and exercises
- (link unavailable): Official Python documentation and tutorials
- W3Schools: Web development tutorials and reference materials
- Coursera: Online courses from top universities
- edX: Massive Open Online Courses
I will adopt this primarily (it can be augmented by other resources).
Let's begin with Week 1 and Day 1.
Week 1:
- Day 1-2: Learn basic syntax, data types, and variables
- Day 3-4: Control structures (if-else, loops)
- Day 5-6: Functions and modules
- Day 7: Practice exercises
However, the beautiful thing is I already have basic knowledge of Python Syntax (and functionality, so to speak). Hence, I will be doing a quick overview, so to speak (using above as guide) and then, proceeding to Practice Exercises. Nonetheless, I found that there are some additional (new) lessons along the way.
QUICK OVERVIEW/ADDITIONAL NOTES
Textbook Used: Python for Software Development by Halvorsen (n.d.).
We are in the New Age of Programming and Python is one of the Programming Languages suited for this (Halvorsen, n.d.)
Que. 1. What is Software Engineering?
According to Halvorsen (n.d.), it is "a systematic approach to the design, development, testing, and maintenance of software."
Que. 2. What are the main parts or phases in the Software Engineering process?
(Questions 1. and 2. are extracted from Halvorsen (n.d.))
According to Halvorsen (n.d.), the Software Engineering process has the following major parts or phases:
• Planning • Requirements Analysis • Design • Implementation • Testing • Deployment and Maintenance
Which I will abbreviate to PRDITD for ease of remembering. Meta AI suggested (Meta AI, personal communication, August 8, 2025), amongst others, this (or an acronym can be made, which is read as PRIDE (P-R-D-I-D), if some letters are dropped).
I should look more into these phases in the future.
Summary:
Today,
- I read about Medium and Dev.to.
- Created a lesson structure by giving Meta AI a prompt. I will be adopting this lesson structure primarily.
- I began reading 'Python for Software Development' Textbook by Halvorsen (n.d.), stopped at the Introductory Paragraph on page 13.
- From the Textbook (Python for Software Development by Halvorsen (n.d.)), I learnt that we are in the New Age of Programming and Python is one of the Programming Languages suited for it. I also learnt the meaning of Software Engineering and that the Software Engineering process has 6 major parts or phases (PRDITD).
Tomorrow, I will continue reading the textbook (Python for Software Development by Halvorsen (n.d.)) as well as take progressive steps on "Day 1-2: Learn basic syntax, data types, and variables" (Meta AI, personal communication, August 8, 2025).
References:
DEV Community. (n.d.). About DEV. https://dev.to/about
Medium. (n.d.). Read and write stories. https://medium.com/
Halvorsen, H. (n.d.). Python. https://halvorsen.blog/documents/programming/python/python.php#python4
Syakir. (2024, August 9). 💸 How to make money from coding: A beginner-friendly practical guide. DEV Community. https://dev.to/syakirurahman/how-to-make-money-from-coding-a-beginner-friendly-practical-guide-5532
Top comments (0)