0% found this document useful (0 votes)
5 views4 pages

4-Week Python & Django Curriculum Guide

Uploaded by

ejodamen33
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views4 pages

4-Week Python & Django Curriculum Guide

Uploaded by

ejodamen33
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Proposed 4-Week Python & Django

Curriculum Outline
Target Audience: Beginner to Intermediate
Total Hours: 24 Hours (12 sessions x 2 hours)
Core Tools: Python, Streamlit (for quick wins and deployment), Django (final project), Git/Github Basics

Week 1: Python Foundations & Your First App

Goal: Understand core programming concepts and build a simple, interactive terminal-based game.
Project: A simple Number Guessing Game or Quiz Game in the terminal.

• Class 1: Introduction & The Basics

o Setting up the environment (Python, VS Code).

o Variables and Data Types (Strings, Integers, Floats, Booleans).

o Basic input/output (print(), input()).

o In-Class Exercise: Write a program that asks for a user's name and age and prints a
message.

• Class 2: Control Flow & Logic

o Conditional statements (if, elif, else).

o Comparison and Logical operators (==, >, and, or).

o In-Class Exercise: Expand the previous program to tell the user if they are an adult or a
minor.

• Class 3: Loops & Functions

o for loops and while loops.

o Defining and calling functions (def).

o Project Workshop: Build the Number Guessing Game. The computer picks a random
number (import random), and the user has to guess it with hints ("too high", "too low").
Week 2: Data & Introduction to Web Apps with Streamlit

Goal: Learn to handle collections of data and build a interactive, web-based data app that can be
deployed.
Project: A Personal Finance Tracker or Data Visualization App with Streamlit.

• Class 4: Data Structures

o Lists (adding, removing, accessing items).

o Dictionaries (key-value pairs).

o In-Class Exercise: Create a list of dictionaries representing a list of expenses (amount,


category).

• Class 5: Introduction to Streamlit

o What is Streamlit? Why it's perfect for beginners.

o Basic Streamlit
commands: [Link](), [Link](), st.text_input(), st.number_input(), [Link]().

o In-Class Exercise: Build a simple app that takes a user's name and displays it in large
text.

• Class 6: Building the Streamlit Project

o Using lists and dictionaries to store data in the app's session state.

o Creating forms for user input (adding expenses/income).

o Displaying the data in a table and a simple chart (st.bar_chart).

o Deployment Focus: Brief discussion on how to deploy this on Streamlit Community


Cloud.
Week 3: Intermediate Python & Enhancing Projects

Goal: Introduce more advanced concepts to make applications more powerful and prepare for Django.
Project: Enhance the Week 2 Streamlit app with file persistence (CSV) and basic class structures.

• Class 7: File Handling

o Reading from and writing to CSV files.

o Using the csv module.

o Integration: Modify the finance tracker to save and load data from a CSV file so data
persists between runs.

• Class 8: Introduction to OOP for Structure

o Why we need it: To organize code. We introduce it here as a practical tool, not a theory
lesson.

o Defining a Class (e.g., Transaction).

o Creating an Object from a Class (instantiating).

o The __init__ method (constructor).

o Integration: Refactor the finance tracker to create Transaction objects instead of using
plain dictionaries.

• Class 9: Project Polish & Presentation

o Debugging common errors.

o Adding more features to the app (e.g., calculating total expenses, filtering).

o Session on how to put the project on GitHub and share the link.
Week 4: Introduction to Web Development with Django

Goal: Understand the basics of a full-stack framework by building a simple TODO app.
Project: The TODO App (based on your provided video).

• Class 10: Django Fundamentals

o What is Django? MVC/MVT pattern explained simply.

o Setting up a Django project (django-admin startproject) and an app (startapp).

o Overview of Models, Views, Templates, and URLs.

o Creating a simple view and mapping it to a URL.

• Class 11: Databases & Models

o Defining a Model for a TODO item (title, completed, created_date).

o Making and running migrations.

o Introduction to the Django Admin site.

o Using the Django shell to create objects.

• Class 12: Bringing it All Together

o Creating a View to display all TODO items.

o Building a simple Template with HTML to render the list.

o Adding a form to create new TODO items.

o Final Review & Next Steps: How to continue learning (adding deletion, editing, user
authentication), course recap, and Q&A.

Common questions

Powered by AI

The curriculum is designed to gradually escalate complexity, starting with basic Python programming and data handling, integrating Python-based web apps using Streamlit, and culminating in Django for full-stack development. By Week 4, students transition into Django with a foundational grasp of data management, code structuring (OOP), and web interfaces, facilitating a smoother adoption of full-stack practices like handling databases, views, templates, and URL patterns .

The curriculum integrates beginner-level Python understanding with web development using Streamlit by first teaching core programming concepts like data structures (lists, dictionaries) in Week 2 and then directly applying these concepts to build an interactive, web-based data app. Sessions involve creating a Personal Finance Tracker or Data Visualization App, focusing on using Streamlit's basic commands and deploying the app on Streamlit Community Cloud .

Including a project presentation and a GitHub session is crucial because it encourages students to articulate their projects clearly, enhancing communication skills and project understanding. Using GitHub introduces students to version control, a fundamental skill in collaborative software development, while also providing a platform to share their work publicly, which can be beneficial for professional exposure and personal development .

The curriculum facilitates an understanding of the MVC/MVT pattern in Django by explaining its basics in Week 4, session on Django Fundamentals. It includes setting up a Django project, and familiarizing students with Models, Views, Templates, and URLs. This is supported by practical exercises such as creating a simple view and mapping it to a URL to cement the conceptual understanding of how components interact within a Django application .

In the first week, the curriculum incorporates sessions on loops and functions where students are taught to use 'for' and 'while' loops, defining and calling functions, and then directly apply these skills in a project workshop by building a terminal-based Number Guessing Game. This game requires implementing loops to handle user guesses and functions for game logic, offering practical applications of these concepts .

Teaching file handling with CSV is designed to enhance the finance tracker's capability, allowing for persistence of data between sessions. This practical integration ensures students not only learn the theoretical aspect of reading and writing CSV files using Python’s csv module but also apply these skills directly to enhance the functionality of their projects, which aids in deeper engagement and understanding of data persistence techniques .

By Week 3, the curriculum emphasizes integrating intermediate Python concepts like file handling with CSV, object-oriented programming, and project polishing sessions. These sessions include debugging common errors, adding features like total expense calculations and filtering, and sharing projects via GitHub to instill confidence in troubleshooting and project enhancement. This combination of practical tasks encourages iterative problem-solving and builds resilience in feature development .

The curriculum places emphasis on teaching deployment through a brief discussion on deploying apps using Streamlit Community Cloud. By understanding deployment, learners acquire essential skills for making applications publicly accessible and functional in a real-world setting. This step also exposes them to aspects of web hosting and service management, broadening their competencies in web development .

The curriculum adopts a practical approach to introduce Object-Oriented Programming concepts, particularly emphasizing code organization. It involves teaching how to define a class, such as Transaction, and instantiate objects within the concept of improving the finance tracker project by converting plain dictionaries into Transaction objects, allowing for better encapsulation and structure .

Streamlit plays a crucial role by providing a beginner-friendly framework to transition from basic Python programming to web application development. It offers straightforward commands for building interactive apps, allowing students to focus on functionality without the complexity of traditional web frameworks, thus solidifying their understanding of web application dynamics and interface construction .

You might also like