I wanted a spot where I could post useful resources I've found related to teaching and computer science. These are resources that are not tied to a specific class.
A printable set of skill trees, plus templates to make your own skill trees
Could help design milestones and benchmarks for students to document their learning progress and acknowledge the progress they make. Gamification?
Video reference: https://youtu.be/6fygx-TUxs4?si=oudvvoQJ3E2f6vC2
Oregon Open Learning Resources
A library of educational learning resources. Search by topics (like "Cybersecurity", "Artificial Intelligence", "Python")
Youtube Short - Developer Vs Tester
Someone asked what makes a good curriculum, and this was a list of things I thought could help. I'm posting this as a reminder to myself of ways I could improve my own curriculum.
Alignment: Does the curriculum align with existing national/state standards?
Scope/Sequence: Does it match a natural flow and is it too much or too little for a given time frame? Does it fit the flow that I want to go with my classes (Typical programming books put functions in later chapters, but I like functions taught from the beginning)
Minimal need to supplement
Does it provide all the content (textbook) and is it accessible to students (online content) and not subscription-based (pay 1x, not every year)
Does it provide all the slides?
Does it provide guided notes?
Does it provide all the practice/activities?
Does it provide all the assessments?
Does it provide both on-computer work (programming, online assessments/activities) and off-computer work (printable worksheets, group activities/games)?
Predictable/Repeatable pattern
Each section/lesson follows a predictable pattern of steps/resources (guided notes, slides, in-class practice problems, individual practice problems, homework, exit ticket, etc.)
Consistent Timed Lessons - each lesson approximately 45 minutes w/ a breakdown roughly following:
5 minute warm up/intro
15-20 minutes for slides & notes
10 minutes for in-class practice (together)
10 minutes for pair/individual practice
Age appropriate - Too many CS curriculums are targeted towards College or Middle School, with very little targeting the middle. That's not to say that neither can be used at the high school level, but how many of these curriculums were actually written for 9-12 grade as the primary audience as opposed to the secondary audience?
Interesting/Captivating - Are you trying to keep my students interested as opposed to busy? There are ways to make homework interesting.
Flexible/Modular - Even though I want a standalone, all-in-1 package, is there flexibility to adjust to fit my classroom? Can I rearrange any of the content? If I swap 2 lessons, will that mess things up because practice problems rely on the provided order?
Prep Time: How much prep do I need to do for the material? Bear in mind that CS teachers usually have to prep for 3+ classes in a day and only have 45-90 minutes to do so (depending on the schedule type). During that prep, we also may need to grade work, call parents, go to a meeting, etc. How much time/energy do I need to dedicate to preparing for this lesson ahead of time? Is there a dedicated Lesson Plan that has clear instructions for web pages, videos, and documents that should be ready (and printed) prior to class starting?
LMS Integration: Is there an easy means to import content/resources into an LMS? (Canvas, Google Classroom, Blackboard, etc.) This is important as it closely ties to prep-time. The less I have to do, the more I like the curriculum.
Easy to navigate/follow for both teachers and students - If I told a student(s) they needed to go through Chapter 3, could they do it with minimal hand-holding from the teacher?
Self-Grading Assessments: Are there systems in place to allow teachers to pick problems that have self-grading options available?
Programming
Multiple Choice
Short Answer
Multiple ways to demonstrate concepts and assess students
Programming Examples/Exercises
Pseudo Code
Flow Charts
Think-Pair-Share
Paired Programming
"Unplugged" activities
Discussions
Make use of existing educational frameworks, such as AVID
Address new concepts, such as AI guidelines and how to use it appropriately for learning and not cheating.
Gamification checklists, such as a printable Skill Tree, though a digital version might prove better for students to post online somewhere.
Gamification projects, such as them-based problems, Capture the Flag problems (get a password when you get the answer correct), Escape Room problems.
Digital/Printable Badges - students like to show off.
Challenge Coins - Program completer coins, Robotics or Programming team coins,
Patches (Think BSA Merit Badges) - velcro/glue-on/sew-on/keychain; leather/embroidered; Per Club/Team/Class/Unit/Challenge
A couple other ideas provided by another contributer in this original conversation suggested the following:
✅ Accessibility – Visual, scaffolded, and language-friendly. I love when CS content doesn't assume English proficiency or reading fluency-tools like Code.org do a good job of using visual prompts and chunked directions.
✅ Engagement – If it doesn't spark curiosity, it's just another task. A great curriculum builds in creativity, student choice, and game-like challenges.
✅ Scalability – I look for lessons that introduce foundational ideas but can grow with the student. Even block coding can be the start of something deeper if the curriculum invites questions and experimentation.
✅ Teacher-friendliness – Especially for elementary or non-CS teachers, the materials should be intuitive, low-prep, and provide support for teachers who are learning alongside their students.
✅ Cultural Relevance & Equity – A truly great curriculum also reflects diverse students and communities and encourages learners to see themselves as creators, not just consumers of technology.