mathstodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance for maths people. We have LaTeX rendering in the web interface!

Server stats:

2.8K
active users

Many people have said "teach everyone to code!" or cheer-leaded for "learning to code!" but there hasn't been enough discussion about what a Computer Science component to a liberal arts education ought to look like.

In mathematics we have many lists and trees of what mathematicians think people ought to learn, what order it should be learned in.

Not so in computer science. We just say "learn to code" this would be like if math people said "learn to integrate functions!"

Notice that "integrating functions" is an outcome, a specific skill. A nice one that implies you know a lot of math... maybe. But not all math curriculums end there. There is a robust debate in math education about if we obsesses about The Calculus too much, everyone understands that doing some integrals isn't "knowing math."

I think most CS educators understand something similar but there is much less consensus about what it is that we are teaching if not "how to code."

For me the major topics of a CS education for the general public are:

* Computer Hardware
* Encoding and Decoding
* Logic and Control Structures
* Iterration
* Objects & Functions
* Databases
* Ethics and Applications
* User Interfaces and Design
* Computer Networks
* Computer History

This list keeps changing every time I revise my courses which is every year.

I added functions with objects, but students learn about functions almost from day one.

**File Structures need a clear home.

Rosy Maths

@futurebird I like these. Bookmarking for later.

The aim of my middle school "Computer Science" course is to teach them enough that they can use coding as a tool for other topics, and also that they can think logically and be safe online.

So I split it up into 4/5 main topics.
*Computational Thinking
*Programming (Scratch and Python, including explicit instruction in selection, iteration, program design and recursion)
*Digital citizenship
*How computers work (includes history)

In the lower years we also do a typing course and some work learning Google suite (school choice) and by their last year the interested ones do some Arduino and robotics and the others pick from a fantastic online academy (Grok Learning) to do courses that interest them, or a personal project.

We don't offer Computer Science as a final year subject so it's very much about teaching useful skills and enough knowledge that they can understand tech news and pick it up again later if they want to.