Miles
  • Member for 4 years, 8 months
  • Last seen more than 2 years ago
Analogy for teaching recursion
26 votes

The Tower of Hanoi was one of the first ways that I encountered recursion. "The objective of the puzzle is to move the entire stack to another rod, obeying the following simple rules: Only one disk ...

View answer
What can Snap! do that Scratch cannot?
Accepted answer
14 votes

The analogy is far from perfect, but Snap! is to Scratch as Mycroft is to Sherlock. For me, the big advantage for Snap! is its provision of custom functions rather than just the custom blocks that ...

View answer
Recommended IDE for teaching web development to beginners
11 votes

The latest generation of text editors, e.g. Sublime, Atom, Visual Studio Code, are great, and seem to offer all that one might want from an IDE. I've a soft spot for Atom, but don't rule the others ...

View answer
Computers are down; what's in your bag of tricks for teaching CS when they can't get on a computer?
8 votes

Lots of things you can do via role-play, e.g. simulations of how a processor works, how the internet work, how e-mail works etc, but also playing through some scenarios or dilemmas in online safety. ...

View answer
Scheme vs Haskell for introducing functional programming
7 votes

I suspect there'll be more universities switching from Scheme to Haskell for introductory functional programming (FP) courses, mainly for the 'real world' appeal of Haskell. I see 15 mentions of ...

View answer
How can I discourage poor design while using automatic grading of submissions?
6 votes

Harvard's grading policy for CS50 is worth looking into. There are four components for the grade on problem sets (each of which involves submitting code). The overall grade is calculated as scope * (...

View answer
What are the merits of including the history of computers in the entry level curriculum?
6 votes

There are some history topics that link really well with computing - for example a history of communication, taking in writing, printing, semaphore, the telegraph and Morse code etc, through to the ...

View answer
When should concurrency and parallel multi-processing concepts be introduced?
5 votes

We're introducing some aspects of parallel processing quite early on in Scratch. Each sprite has its own script which appears to execute in parallel with those of the others. Scratch has a broadcast ...

View answer
Computer Science vs IT vs Digital Literacy
4 votes

When we were drafting the English national curriculum, we found it easier to think in terms of the foundations, applications and implications of computing, all three of which really should be included ...

View answer
What kind of game (in Scratch) would require use of a list?
4 votes

A variant on the usual random drill and practice test would be to pre-populate with the questions and answers, then remove question and answer from each as they get answered correctly, allowing ...

View answer
Instructional Methods for In-class Code Demos
3 votes

There seems little value in students copying code off a display, but much in watching the teacher model how they think about the task, talking through the problem solving process of coding, as well as ...

View answer
How to explain to people the importance of algorithms in computer programming?
3 votes

Any programming is a two step process: deciding how to solve the problem, then implementing that as code on a particular system: choosing or designing an algorithm is the first step. There are great ...

View answer
How can I convey the idea of a programming language vs. a markup language?
2 votes

I describe programming as a two-step process, of algorithm + coding. I.e. deciding how to solve a problem, and then implementing that approach in a particular language on a particular system. Can ...

View answer
Video Games during class
2 votes

I wonder if it's worth pointing students to games that might help with CS ideas. Some examples: Boolean logic gates in Minecraft, and indeed Python scripting in Minecraft Pi edition Human Resource ...

View answer
How can I automate the grading of programming assignments?
0 votes

Some interesting projects for those working with block-based languages (such as Scratch, Snap! and Blockly): For Scratch, check out Dr Scratch, which takes a rubric approach to evaluating how much '...

View answer