Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to teach a high-school CS course?
2 points by aaron5 8 months ago | hide | past | favorite | 5 comments
Happy New Year, Hacker News!

Short: How would you teach a High-school Grade 11 Computer Science course?

More info: I'm a STEM teacher at a Canadian high-school in China. Our program is for Chinese students whose parents want a western complement to the Chinese system. In effect, students may be wildly talented or wildly unready - I have students with a 5 in AP Calculus and students without a gist of functions. I must wear many hats at this school. My new hat is Computer Science teacher, which falls to me because I write a little code (e.g. my React Native iOS app 99to5.com for learning physics, self-promo apologies). How can I make this class most edifying for the most students?

Thanks for any advice! And I wish you joy and good-fortune in 2024!




If this is a one-school-year course then you have time to cover a tremendous amount of ground. Looking back on when I first learned programming, I would say the things that helped the most were (1) writing code as soon and as often as possible, (2) starting with a relatively simple language, (3) being given snippets of code and having to choose which of 3 or 4 possible outputs was the correct one, (4) being given working programs and having to enhance them (eg, add a language feature to a simple compiler, or add transactions to a simple database, or enhance a shopping cart on a web page, or modify a simple text editor, etc.), (5) programming a game, (6) being given pieces of code and having to identify the bug.


Thanks! For me #1 is really important too. I think just trying, especially with software, is so important. The language is one I'm thinking about - some of my students are self-studying AP CS which is centered on Java, but that language seems more difficult to start building things you can see (as opposed to just HTML/javascript) but maybe I'm just not as versed in it.


I used to teach AP comp sci in the US, and my 95% of my students passed the AP exam. I use a combination of resources, but primarily used CS50 and code.org resources. The hardest part for me was differentiation. I would have students who could finish a semester of problem sets in a week, and students who couldn't finish one in a month. I think it depends on the goals of the course how you organize it. My goals were familiarity, comfort, and growth, so I had several tracks students could pursue, all of which would give them the same credit. Happy to share any knowledge or wisdom further.


Build to something tangible, such as a basic video game (minesweeper, tic tac toe, etc.). To get from zero to there will cover a lot of concepts. Begin the course by saying by the end of it, you will be able to build this yourself: [show the game]. Then have each lesson relate to the end result, little by little.


Thank you! Yes, I think tangible projects are a really strong approach - I'm trying to figure out a suite of realistic projects, so students can choose the one they most respond to.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: