Are you free to create an entire program, or just a course? The way I'm reading it, I think you're able to create an entire program. If you have decent technical support, that's an amazing opportunity.
I was looking at starting a CS program in my local high school, but I never got the chance because someone else had tenure and just lingered for years. But I spent a fair bit of time thinking this through. I'd consider two main audiences: students who already know they want to go into a tech-focused field, and everyone else. I'd make a pipeline for the first audience that brings them to a relatively high degree of competency in programming, without trying to replicate what they're going to see in college. Offer a foundation course that gives them the basics of programming, just like they'd get from reading a good intro book. Include a large number of mini-projects so they're using things as they're learning, and a bigger capstone project. Then offer classes focused on intermediate concepts. Then some project-focused classes - game development, data viz, web apps, etc. Offer some non-programming classes, such as a database class.
For students who don't already know they want to go into technical fields but are curious, offer a softer intro to programming. The goal with this class is to understand how code works, but not to become a programmer. Pull the veil back from how things like Twitter and FB and Instagram are built and maintained. Use some variables, use some lists/ arrays, use some dicts/mappings. Students who like this and want to do more would switch over to the more tech-focused track; students who don't want to go further should be able to do well in this class without demonstrating programming profiency. They need to be able to explain core concepts, but not necessarily implement solutions in code. They would leave the class better able to collaborate with technical co-workers in future jobs, and better able to critically assess the impact of tech products on their lives.
Overall, it would be really good to set up some kind of structure that lets students who love this work be able to work as fast as they want to learn. For students who learn independently, letting them progress faster than you're teaching a class is something most of us here at HN have appreciated when teachers offer, and have wished for when they didn't.
I can imagine some really fun project showcase events, and projects set up around the school. You could support students in applying their programming skills to other academic areas: bringing scientific analysis and visualization into science and math classes; building learning tools for foreign language classes; mapping work for social studies classes; data analysis for global issues in social studies classes; algorithmically-generated art...
My email is in my profile; if any of this is interesting, feel free to reach out.
I was looking at starting a CS program in my local high school, but I never got the chance because someone else had tenure and just lingered for years. But I spent a fair bit of time thinking this through. I'd consider two main audiences: students who already know they want to go into a tech-focused field, and everyone else. I'd make a pipeline for the first audience that brings them to a relatively high degree of competency in programming, without trying to replicate what they're going to see in college. Offer a foundation course that gives them the basics of programming, just like they'd get from reading a good intro book. Include a large number of mini-projects so they're using things as they're learning, and a bigger capstone project. Then offer classes focused on intermediate concepts. Then some project-focused classes - game development, data viz, web apps, etc. Offer some non-programming classes, such as a database class.
For students who don't already know they want to go into technical fields but are curious, offer a softer intro to programming. The goal with this class is to understand how code works, but not to become a programmer. Pull the veil back from how things like Twitter and FB and Instagram are built and maintained. Use some variables, use some lists/ arrays, use some dicts/mappings. Students who like this and want to do more would switch over to the more tech-focused track; students who don't want to go further should be able to do well in this class without demonstrating programming profiency. They need to be able to explain core concepts, but not necessarily implement solutions in code. They would leave the class better able to collaborate with technical co-workers in future jobs, and better able to critically assess the impact of tech products on their lives.
Overall, it would be really good to set up some kind of structure that lets students who love this work be able to work as fast as they want to learn. For students who learn independently, letting them progress faster than you're teaching a class is something most of us here at HN have appreciated when teachers offer, and have wished for when they didn't.
I can imagine some really fun project showcase events, and projects set up around the school. You could support students in applying their programming skills to other academic areas: bringing scientific analysis and visualization into science and math classes; building learning tools for foreign language classes; mapping work for social studies classes; data analysis for global issues in social studies classes; algorithmically-generated art...
My email is in my profile; if any of this is interesting, feel free to reach out.