# Tag Info

### Teaching binary to 6-8 year olds

Use money. Tell your students to image a country has bills that are in denominations of powers of 2: 1, 2, 4, 8, 16.... Now tell them this: For a given number, count out that money with as few ...
• 2,279

### Teaching students that printf() is not the same as return

I think this is a problem where the answer is partly in the prevention. I've observed many classes where printing is the method used to access the results of calculations for several weeks, both ...
• 1,955

### What is the best way to teach JavaScript functions to middle schoolers?

I apologize in advance, but I'm going to be a bit hard on you. First, your goal of keeping it simple is a good one that I applaud. You are right, IMO, not to bring in advanced features too early. ...
• 34.9k

### What program follows "hello, world"?

When I was teaching and mentoring first-time students, what got them really excited for the first time was seeing their name in lights. Write a program that allows a student to enter their name, then ...

### Teaching students that printf() is not the same as return

I think that this problem is pretty widespread, actually. I believe that it comes from a misunderstanding of the difference between what the program/computer can know/do and what the person operating ...
• 34.9k

### Teaching binary to 6-8 year olds

Just to calibrate expectations: at the lower end of that age range, the kids will have only just started learning about the place-value system in decimal. I wouldn't try to leverage knowledge of ...
• 269

### What program follows "hello, world"?

I did a (rather unscientific) study of a few popular tutorials for Python to see what they did after "Hello, world": Learn Python the Hard Way introduces expressions (...
• 3,485

### How can I determine if a student would enjoy or has an aptitude for CS?

You shouldn't "test" somebody to check whether they're interested in something. You should give them some stuff you think they might enjoy, and you let them decide for themselves. There are a ton of ...
• 5,420

### Teaching students that printf() is not the same as return

This is such a consistent trap that I ultimately created a worksheet to deal with it. At this point in my course, I have recently covered binary and hexadecimal, so I also use this worksheet as an ...
• 31.5k

### How can I convey the idea of a programming language vs. a markup language?

I also have this problem frequently. I use the example of Microsoft Word, and I would say something like this: "Word allows you to give a document the appearance that you'd like. You can bold, you ...
• 31.5k
Accepted

### How do I approach teaching Python to 12-year-olds as a first-time teacher?

Check out the Python books written by Al Sweigart. His homepage Invent with Python includes some great, free resources that are geared to the age range of your students. In particular he focuses on ...
• 9,032

### Teaching binary to 6-8 year olds

At that age, I would skip binary notation entirely and focus on combinatorics problems (simple ones) whose answers are most clearly understood as combinations of powers of two. Any combinatorics (...
• 645
Accepted

### Jargon/Vocab about variables--- yes or no?

Some of these words are entirely necessary, some (such as tokenize) you might want to avoid early on. However, I would suggest this as a guiding principle: use vocabulary as is necessary to get at ...
• 31.5k

### Teaching binary to 6-8 year olds

I was going to start by asking what was wrong with $11_2$ and $11_{10}$, and then I noticed the ages you were referring to. Six year olds! First, a bit of frame-challenging advice: I'm not sure ...
• 31.5k

### What are some non-CS concepts that can be defined using BNF notation?

Going with real-world things which they should be familiar with are best, even if it is completely outside of education. As you have applied the tag for adult education, I'm going to presume it is ...
• 5,345

### What program follows "hello, world"?

After "Hello World" it becomes "Hello \$name" where \$name is provided by user. After basic I/O and "it compiles and runs", then it is time for loops and logic. I typically like a variation on ...
• 301
Accepted

### Explaining basic html structure

How did you begin to teach Java to your students? I bet you didn't start by showing them the Backus-Naur form that the Java parser follows. Instead, you probably introduced a simple "Hello, world" ...
• 3,485

### Teaching students that printf() is not the same as return

Whenever I run into students who are baffled by the return concept (and in your case, them substituting it with printf), I do something like this. I use role-play. I become one function (lets say ...
• 1,874

### Teaching binary to 6-8 year olds

We made bracelets in APCS Principles (9th - 12th grade). I bought a bunch of blue and white (school colors) beads. Blue was on, white was off. They then made bracelets of their names or initials using ...
• 3,029

### Lesson ideas for introducing macros in C

I introduce C macros as a convenient way of using a single source file that can be used both when debugging code in development and for final delivery, without having to edit and and edit out test/...

### How can I determine if a student would enjoy or has an aptitude for CS?

I started with Khan Academy. Who knows how I stumbled across it - I think one of my teachers back in elementary school pointed it out to me. And then I found the coding course. I started, enjoying ...
• 4,684

### Explaining basic html structure

I would avoid starting with something this abstract if the aren't used to it. Doing so might, in my experience, turn away students, especially since the beginning is usually the easiest. If the ...
• 638

### What program follows "hello, world"?

I've always used Hello name" as part of Hello World. It's easy enough for most students and makes the program more fun. After Hello World I use a conversion program. For example Fahrenheit to Celsius. ...

### What program follows "hello, world"?

I was taught that there were three main aspects of programming: input-output, computation, and logic/control "Hello world" is an "input-output" function, specifically a "print" command. The next ...
• 475

### Introduction to programming class: use Spreadsheets to introduce fundamentals

The big disadvantage seems to be that you're re-enforcing their (or maybe your own) preconceptions about barriers to entry, and taking them further from the 'normal' programming environment. Yes, ...
• 1,632

### Introduction to programming class: use Spreadsheets to introduce fundamentals

Spreadsheets are probably the most popular functional programming language, and is is some what visual. I have taught it for years 7 to 9, but not part of a qualification based course. Things to be ...
• 10.4k

### Teaching students that printf() is not the same as return

Have you considered not teaching them about printf at all? 99% of the use of printf is as a poor-man's debugger. Teach them how ...
• 171
Accepted

### Is it bad to introduce language features in ways that are different than they will be used in practice?

This sort of thing is perfectly valid and valuable, provided that students already understand the underlying structure. So if they understand your first loop without continue (but with the print in ...
• 34.9k

### Research into the use of symbol names, in programming, and how it affects learning

You don't have control over the libraries, though you can provide a filter class that, itself, provides better names. Yes, names matter and shouldn't be confusing. But when you create examples and ...
• 34.9k

### Teaching binary to 6-8 year olds

Sometimes light bulb on/off symbols are used, and in fact if you show a real circuit with a battery, a switch and a light bulb before you start teaching binary numbers you could explain why the ...
• 435

Only top scored, non community-wiki answers of a minimum length are eligible