Tools
We believe learning to utilize computer science tools is an important way that students
connected with and contribute to the world of practicing computer scientists. By learning
to use tools that are commonplace in industry, academia, and open-source computer science
practice, students are both more conneccted to the culture of computer science and more
prepared to take one roles as computer scientists.
Technology Used Across Both Courses
Python
Atom Text Editor
Terminal, including Xcode Command Line Tools
git and Github
Technology Used in Grade 9
Technology Used in Grade 10
TODO: expand this into a full section on asynchronous collaboration as a teaching
strategy (this is MWC's answer to nycsdf 9-12.DL.2 -- "communicate and work
collaboratively... in real-time and asynchronously" -- which isn't taught in one lab
but woven through the whole course this way instead). Lab text used to reference
Discord by name for this ("ask on Discord"); those references have been genericized,
since Discord isn't an option for every classroom. Sketch:
Whatever async channel a class uses (Discord, Slack, Teams, a class forum, etc.),
the important thing is that students have somewhere to ask each other for help
outside of class time, and a norm that doing so is expected, not a last resort.
This is the same underlying practice as the debugging-strategies note in
Help Queue -- getting help
(synchronously, in class, or asynchronously, outside it) is a skill worth teaching
explicitly, not just a logistics detail.
TODO: expand this into a section on AI tools in the classroom (this is MWC's answer to
csta2026 HS-ALG-PS-05 and HS-PRO-RD-18 -- evaluating AI-generated output and code --
which don't currently have a lab of their own). MWC currently discourages student use
of AI tools while learning to program, on the theory that an "over-helpful teammate"
that does the work for you can quietly collapse the learning opportunities the course
is built around. That said, some teachers using MWC are actively exploring how AI
tools can be used effectively in a beginner CS course, without falling into that trap
-- worth documenting what's been tried and what's worked, as that experience
accumulates.