48 votes

Real life examples of 0-indexing

You can get at this concept very intuitively in strings before you ever get to arrays. Take a string like "hello world" and ask them a subtle-sounding point: does the string begin here: ...
Ben I.'s user avatar
  • 32.9k
44 votes

Real life examples of 0-indexing

Ages in the United States (it's not the same around the world). For the first year of life, children are 0 years old. Only after completion of a year is the age changed to 1. By this logic, a child ...
Peter's user avatar
  • 9,082
37 votes

Real life examples of 0-indexing

An analogy that will work well in Europe, but not in North America: Image licensed under the CC BY-SA 3.0 by Bidgee of Wikimedia Commons. Floors (in European countries) are typically numbered with 0 ...
Aurora0001's user avatar
  • 3,506
24 votes

Real life examples of 0-indexing

The clock (24 hours system) If we look at the clock, we have two examples of counting hours. The 24 hour system starts at 0. The 12 hour system is interesting, neither starting at 0 or 1. The 12-hour ...
ctrl-alt-delor's user avatar
11 votes

Real life examples of 0-indexing

I don't see anything confusing in 0-based indexing. In fact, it seems that 0-based indexing is not less natural for humans than 1-based indexing. Humans use 1-based indexing just because of following ...
Sasha's user avatar
  • 320
11 votes

Lesson Idea: Arrays, Pointers, and Syntactic Sugar

You overestimate the complexity of 0-based indexing a lot. There is nothing complex in 0-based indexing. On the other side, the topic of the pointers is relatively complex. I don't think it has any ...
Sasha's user avatar
  • 320
10 votes

Lesson Idea: Arrays, Pointers, and Syntactic Sugar

This is a great explanation of why 0-indexing exists. As someone who barely knows what a pointer is, your explanation made perfect sense. If you wanted to dumb it down a little you could phrase it as: ...
thesecretmaster's user avatar
  • 4,795
9 votes

Real life examples of 0-indexing

Rulers start at zero: At zero centimetres, you have nothing, whereas at one centimetres, you have one unit of length. Memory is similar: You start filling at the beginning (zero), hence, the first x-...
user2768's user avatar
  • 281
8 votes

Real life examples of 0-indexing

Exponents representing the values of the digits in positional number systems. e.g. the-arabic-system / denary / the-system-you-learnt-in-primary-school. ...
ctrl-alt-delor's user avatar
7 votes

How do you assess students' understanding of abstraction?

tl;dr: Just say no. This question is difficult on many levels. I seems to me to be a land mine of misconceptions and has the possibility to lead to poor teaching practice. First the difficulties ...
Buffy's user avatar
  • 36k
6 votes

Lesson Idea: Arrays, Pointers, and Syntactic Sugar

Draw ongoing attention to the potentially confusing point by banning cardinal descriptions of an element's position. Avoid referring to the "first element" or "second element" and talk only about "...
Bennett Brown's user avatar
4 votes

Lesson Idea: Arrays, Pointers, and Syntactic Sugar

I am not advocating teaching pointers to explain 0-indexing (see mine and other's answers on your other question for how to do that). However, if we have good reason to teach pointers, here is a tip ...
ctrl-alt-delor's user avatar
4 votes

Real life examples of 0-indexing

Think about human ages. Babies that are newly born are at age 0. That's zero-based indexing.
ncmathsadist's user avatar
  • 2,319
4 votes

How do you assess students' understanding of abstraction?

Fundamentally, I question the notion that you can test to see if students understand the idea of abstraction beyond a superficial level, even if you don't restrict yourself to asking just multiple ...
Michael0x2a's user avatar
  • 4,005
4 votes

How do you assess students' understanding of abstraction?

I would probably ask students to demonstrate their understanding of abstraction by writing code demonstrating solutions to a small problem at, say, three different levels of abstraction. I'd probably ...
Jerry Coffin's user avatar
4 votes
Accepted

Encourage students to learn and use advanced design

The most fundamental shift in my programing came from my attitude about details. When I was young I wanted to pull every detail out of everything I touched, pin in down in front of me in one source ...
candied_orange's user avatar
3 votes

How do you assess students' understanding of abstraction?

Your tennis racket question, is not good. As tells as that is is abstraction, then focuses on the form, when the most important aspect of a tennis racket is its function. Therefore the answer is non ...
ctrl-alt-delor's user avatar
3 votes

Real life examples of 0-indexing

Distances in boardgames with discrete spaces. For example: Chess, wargames, Dungeons & Dragons played on a battlemap, etc. Counting movement, the space you start in counts as space zero (or more ...
Daniel R. Collins's user avatar
3 votes

Lesson Idea: Arrays, Pointers, and Syntactic Sugar

Let me suggest, pretty strongly, that you may be mixing up too many ideas in too short space for novices to grasp in one go. Spread it out. There is no real reason to introduce arrays along with ...
Buffy's user avatar
  • 36k
3 votes

Real life examples of 0-indexing

UK school years We used to have years 1,2, 1,2,3,4, 1,2,3,4,5,6th form. We then changed to 1,2,3,4,5,6,7,8,9,10,11,12,13 (...
ctrl-alt-delor's user avatar
3 votes

How to embed TIC-80 into Computer science 101 course

Being on this site since the beginning, I have many times now encountered this notion that for introductory courses, higher level languages mean that students will deal with more abstraction and lower-...
Ben I.'s user avatar
  • 32.9k
2 votes

Real life examples of 0-indexing

A common example I use is centuries/years. We start with the first century on a range of 0-100 years. Or the first year of a century, which always ends in 00. It describes the amount of x that has ...
W. Vrielink's user avatar
2 votes

Real life examples of 0-indexing

For anyone old enough (>30years): In the UK a few years back we had only a few TV channels, first 1, then 2, they slowly increased to 5: BBC1, BBC2, ITV, channel 4, and eventually channel 5 The TVs ...
ctrl-alt-delor's user avatar
2 votes

Real life examples of 0-indexing

The ground floor is the de facto 0th floor. Humans are born at age 0. Military time starts at 0:00. Despite the day having 24 hours, it is not correct to write 24:00. As a side-note, Japanese TV uses ...
haley's user avatar
  • 121
2 votes

Encourage students to learn and use advanced design

Based on my past experience working on a FRC team, my main advice would be to be very cautious about pushing students to use more advanced abstractions, design patterns, and whatnot. The issue is ...
Michael0x2a's user avatar
  • 4,005
1 vote

Physical analogy to introduce a Delegate in .Net programming

I know that you are looking for a physical analogy, but I'd say I agree with @ctrl-alt-delor about the 'link to what they already know' part. I usually start by introducing a simple algorithm, then ...
Akos Nagy's user avatar
  • 119
1 vote

Real life examples of 0-indexing

Since this question was posted, I have come to realise that a ruler is not a metaphor for this think. It is the think. Zero indexing is simply measuring the distance from the start. There are many ...
ctrl-alt-delor's user avatar
1 vote

Real life examples of 0-indexing

I realize this post is old. However, what helped me and what may help others is that 0 is indeed on the number line. The best analogy I can give to support this cause is related to a bank account. If ...
spiffykat404's user avatar
1 vote

Real life examples of 0-indexing

Some train stations (but not many) have a platform 0: https://www.youtube.com/watch?v=SPQRNmXVP8s If you are lucky enough to live in one of these towns, then it may be a very good example.
ctrl-alt-delor's user avatar
1 vote

Real life examples of 0-indexing

Subtraction paradox: In North-American football, if a runner goes from the 3 yard line to the 4 yard-line, there is a (4-3) = 1 yard gain. However, if your math teacher assigns problems 3-4 (...
JosephDoggie's user avatar

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