I'm not satisfied w/ Sogang University's Introduction to CS (aka COR1011 Computional Thinking*). Let's make a blog series so that students can at least get a sense of what they're doing.
* Even the name is a buzzword. Where is this world going to...
A Major Storyline: Boolean Logic to C Code
Discrete Structures (Level 1)
Welcome to boolean logic!
C Programming (Level 5)
Code can do anything.
Assembly Programming (Level 4)
C code can be made into this more raw code.
Digital Circuits (Level 2)
This is how circuits can be used to "implement" boolean logic. See how adding more circuits allows more complex things! Basically an n-bit input circuit can do 2^n things.
System Programming (Level 3)
Assembly code can be made into instructions—strictly N-bit strings, and we can interpret these strings to do just about anything a computer does. We could make a N-bit circuit to the just that. That's a CPU!
Yeah, none of this is gonna has anything to do with your favorite topic—AI, apps, websites, games, etc. As a university CS major, that's what you're getting into!
It's hard to deny that most stuff we learn in CS has some indirect benefit in the work that we do—whether that may be "developer stuff", graduate level studies, stuff they do at the big Korean companies, etc. However, it's also equally hard to convince. I think students just need to talk to, or at least hear stories from people in the field. Lots of stories.
Ideas?
A blog post on Mrs. Haimin's Google Seminar speech at SG Release. (could be a standalone blog post)
TL;DR
I'm not satisfied w/ Sogang University's Introduction to CS (aka COR1011 Computional Thinking*). Let's make a blog series so that students can at least get a sense of what they're doing.
* Even the name is a buzzword. Where is this world going to...
A Major Storyline: Boolean Logic to C Code
Discrete Structures (Level 1) Welcome to boolean logic!
C Programming (Level 5) Code can do anything.
Assembly Programming (Level 4) C code can be made into this more raw code.
Digital Circuits (Level 2) This is how circuits can be used to "implement" boolean logic. See how adding more circuits allows more complex things! Basically an n-bit input circuit can do 2^n things.
System Programming (Level 3) Assembly code can be made into instructions—strictly N-bit strings, and we can interpret these strings to do just about anything a computer does. We could make a N-bit circuit to the just that. That's a CPU!
Head Fake
Yeah, none of this is gonna has anything to do with your favorite topic—AI, apps, websites, games, etc. As a university CS major, that's what you're getting into!
Motivation
Will We Ever Use This?
It's hard to deny that most stuff we learn in CS has some indirect benefit in the work that we do—whether that may be "developer stuff", graduate level studies, stuff they do at the big Korean companies, etc. However, it's also equally hard to convince. I think students just need to talk to, or at least hear stories from people in the field. Lots of stories.
Ideas?