This note is from 5 months ago. You're viewing content from a previous lesson.
Thank you for your honest feedback. I read every single response carefully. This is a summary of what I heard from you, and what I’m going to change in our DSTP class.
You told me that you have learned:
How to solve problems and debug when your code has multiple errors.
The basics of how programs work in Python and HTML.
How to:
Use Visual Studio Code,
Work with templates,
Use Flask routes, Jinja, Tailwind, and basic CSS.
How to plan your work:
Brainstorm and analyse your project idea (Criteria A),
Design a plan (Criteria B),
Then start building in Criteria C.
That coding requires:
Precision,
Trial and error,
And some independent learning.
Many of you also said:
Programming is interesting and fun.
You enjoy experimenting and changing things to see what happens.
You feel more confident than at the start of the year.
That is exactly the kind of growth I hope for in this class.
You also told me clearly what you want next:
Deeper Python skills:
Functions, more syntax, “freestyle” coding (coding without a template).
Back-end and logic:
How routes work in more depth.
What is really happening in app.py.
CRUD and databases:
How to use SQLite,
How to connect Python → database → HTML,
Why databases matter and how they actually work.
Multiple languages and tools:
How Python, HTML, CSS, Jinja, Tailwind relate to each other.
How to add images, apps like a to-do list, and more features.
Big-picture questions:
Different jobs that come from programming.
How AI fits into programming and web apps.
This is very helpful. It shows me that you’re not satisfied with “just enough to pass” – you actually want to understand what you’re doing.
You asked me to:
Do more step-by-step coding on the board, where:
I explain what I’m doing,
You follow along,
Then you get time to try it yourselves.
Give more in-class tutorials and demonstrations, especially for:
CRUD and databases,
Routes and app.py,
Specific project types (e.g. to-do list).
Explain why we do certain things:
Why some commands work the way they do,
Why certain tasks are on your checklist,
How each step connects to your final website or app.
Allow more plain English planning:
Writing your Criterion C planner in English (or your own structure) instead of a rigid format, so you actually understand your plan.
Keep:
Making videos for important parts of the template,
Being available for questions,
Doing one-on-one check-ins when possible.
Several of you also said the class is interesting and fun, but could use more structure so that nobody feels lost.
Based on your feedback, here is what I will change going forward.
You will see more lessons where:
I build something live on the board/screen:
A simple Flask route,
A small CRUD example,
A tiny feature (e.g. to-do list, adding images).
You follow along step-by-step on your own machines.
Then you get a short independent “remix” task:
Change one part,
Add a feature,
Try a variation.
Goal: less “copying without understanding” and more “I know what this does and why.”
app.py, and databasesWe will have some small, focused mini-units on:
Routes:
What a route is,
How a request travels from the browser → Flask → template → back to the browser.
app.py:
What’s actually happening in this file,
How functions connect to templates.
Databases and CRUD (Create, Read, Update, Delete):
How data gets stored in SQLite,
How Python can read from and write to the database,
How that data appears in your HTML.
Goal: databases and routes should not feel like “magic” – you should be able to explain what’s going on.
When we work with checklists, tasks, or Criteria A/B/C, I will:
Explain why each major task exists:
How it helps your final project,
How it mirrors real-world software development.
Connect tasks back to:
Your website/app,
Your skills as a programmer.
Goal: you shouldn’t feel like you’re doing random steps “just for the grade.”
Several of you asked to:
Write your Criterion C planner in English, or
Have more freedom in how you structure your plan.
I am going to allow more flexible planning formats, such as:
Bullet points in English,
A simple table,
Or a structured outline,
as long as:
It is clear,
It is detailed,
And it truly helps you know what to code.
Goal: make planning something that helps you, not a separate “mystery document.”
I will continue:
Posting videos for key parts of the project.
Using spreadsheets/checklists to help you track progress.
Doing individual check-ins during class as much as I can.
I will also try to:
Point you toward specific tutorials and resources so you know where to look when you’re stuck.
You also wrote honestly about what you can do better:
Asking more questions in class.
Staying focused and managing your time.
Watching the videos I post.
Trying things on your own at home.
Reading your own code more carefully.
Using the checklist properly, not just ignoring it.
That is exactly what I need from you.
If I am going to give you more structure, more demos, and more explanation, I need you to:
Engage,
Ask,
Try,
Experiment,
And sometimes struggle a bit (in a safe way).
Many of you wrote that:
You enjoy the class,
You like coding,
You are proud of your progress,
You appreciate that I am kind and available.
I want you to know:
I am proud of you too.
You are learning real, difficult skills. It is normal to feel confused sometimes. My job is to make sure that confusion turns into understanding, not frustration.
Thank you again for your feedback. You helped me improve this course for you.
— Mr. MacKenty
Please ensure you run stabilize.py at the start of every class.
Please note our current plan (I am updating this regularly to provide clarity). There are now more videos to help you!
Also, please note the most current, up-to-date templates can be found at this url: https://github.com/bmackenty/25-26-9th-grade/tree/main/solution_template_project_one