Questions tagged [teaching-analogy]

Questions looking for analogies with which to teach computer science principles or concepts, or questions discussing specific teaching analogies for such computer science principles or concepts. Metaphors used in teaching is also an appropriate topic here.

Filter by
Sorted by
Tagged with
2 votes
0 answers
122 views

ML Andrew Ng course as practical university course

I was tasked to help in the practical sessions of the Machine Learning course in my university, the plan was to give exactly the same materials as this course. We should be teaching the assignments of ...
subspring's user avatar
  • 211
18 votes
10 answers
4k views

How to respond to the two-handed approach to swapping

I was introducing lists to someone young (in Scratch). Creating a list is boring, so I opted to introduce something that you can do with lists, but requires some thinking: swapping. I introduced it by ...
cocomac's user avatar
  • 299
3 votes
6 answers
401 views

Real world examples for the difference between null and zero?

What can be real-world examples to teach the difference between null and zero to high school students of computer science?
Goku - stands with Palestine's user avatar
4 votes
3 answers
155 views

Simple use case for self-modifying programs

.NET expression trees can be used to write self-modifying compiled programs -- because it is possible to construct and compile a method at runtime, it is also possible for a method to rewrite its own ...
Zev Spitz's user avatar
  • 143
1 vote
1 answer
70 views

Teach smart pointers to beginners with no knowlege of OOP or templates

I have to teach an Intro to Programming class of students with some exposure to proccedural programming, arrays and loops etc. However, they have not taken any course in oop and templates. It is a ...
Mallam Awal's user avatar
3 votes
1 answer
230 views

How to embed TIC-80 into Computer science 101 course

I'm planning to design an introductory course to CS and programming for kids of 8-12 grade and see that we have Scratch for catching an eye in the beginning and getting instant result on place. But I ...
paus's user avatar
  • 233
0 votes
1 answer
97 views

How do I teach problem solving and logical thinking to students of age group 12-18yrs through online session

I am currently researching some good content/problems to teach my students. I am referring to Mensa's Book on Logical thinking, which has a good amount of puzzles for all age groups. Is there any ...
UnbreakableMystic's user avatar
2 votes
2 answers
127 views

What would be your ideal first lecture in a databases course?

As they say, you don't get a second chance to make a good first impression. Are you aware of any notes/slides appropriate for a first lecture in databases?
Drimades Boy's user avatar
4 votes
2 answers
1k views

What are some real life applications of the knapsack problems class?

Students are very happy when they see some real applications of the theory. Any suggestions for interesting examples of knapsack problems?
Drimades Boy's user avatar
3 votes
4 answers
187 views

Analogy to teach beginners the concept of interrupt

What will be a simple analogy to use in teaching non-CS people the concept of interrupt as part of OS topic?
Mallam Awal's user avatar
6 votes
5 answers
704 views

Students' confusion over C structure members and structure variables

Before I ask my question, some background may be apposite to provide context. Please indulge me. At the institute I teach, our Intro to Programming. It involves a coverage of C language. We believe C ...
Mallam Awal's user avatar
8 votes
4 answers
2k views

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

I'm preparing a class on the modified BNF notation that python uses. I.e., Each rule begins with a name (which is the name defined by the rule) and ::=. A vertical bar (...
progner's user avatar
  • 181
3 votes
2 answers
155 views

Teaching past the "symbology" of a language

I've been recently helping someone with their beginners Python programming course at their university (though I don't think the specific language is particularly important). At times I'm frustrated, ...
Krupip's user avatar
  • 163
2 votes
3 answers
218 views

Classification of programming exercises

I wondered what attempts were made to classify programming exercises for students in their learning path, just like taxonomy in biology. For example : A "concept covered" criteria from generic to ...
jy95's user avatar
  • 121
3 votes
6 answers
14k views

A real world example for the divide and conquer method

Can someone give a real world example for the divide and conquer method? For example, I've heard the boomerang used to explain the idea of a loop back address. What is a real world example we can use ...
happy's user avatar
  • 31
1 vote
2 answers
85 views

How to introduce problem solving to primary school pupils?

I'm interested into knowing your experiences about introducing problem solving to primary school pupils. I'm a PhD candidate in Operations Research and, together with my University or my public ...
Alice Raffaele's user avatar
4 votes
2 answers
88 views

Should an educator define terms rigorously?

I took a programming course from an open university in Finland. One task was something like the following: Find largest connected sequence of numbers from given set. For example, if input is 1,2,3,...
wannastudyrogorously's user avatar
3 votes
1 answer
79 views

What teaching techniques can be used, in teaching students from a medical background, to improve their programming?

Students from premedical background feel difficulty in programming. They have no basic concepts of programming, so they are unable to do good programming. I have searched but didn't get any solution ...
hina munir's user avatar
3 votes
3 answers
1k views

Is the algorithm-recipe analogy a good or a bad one?

I am growing suspects that the ubiquitous analogy between algorithms and recipes be not so well founded, especially for theoretically oriented students. I am wondering if this may contribute to the ...
user9137's user avatar
  • 424
3 votes
2 answers
82 views

Advise on a class project

Me and my friend are both in high school taking a “PLTW” Engineering class, where our goal is to design a solution to any problem and work on that solution over the course of the year. We’re reaching ...
Derrick Lwanjo's user avatar
9 votes
8 answers
399 views

Exercise or example to reinforce idea of functions?

I have a group of students with a very shaky understanding of functions and their purpose (encapsulation, reuse, modularization). The assignments I give them require them to write simple functions ...
Louis B.'s user avatar
  • 296
5 votes
5 answers
906 views

How Effective Is "Rosetta Code" as a Teaching Technique?

When working to teach developers Scheme (which is functional programming) I'll often show them analogous examples in C#. The ...
Onorio Catenacci's user avatar
3 votes
4 answers
164 views

Clear example of the Object-Relational Mismatch

An important issue in programming is the Object-Relational Mismatch, but I have not seen any good explanations that use familiar terms. I came up with one involving a Family Tree application. The ...
user3464's user avatar
2 votes
2 answers
137 views

Teaching intermediate Java to students familiar with C

The class I teach (a class whose teacher I assist1, to be precise) is learning intermediate Java this year (data structures, basic OOP and a few lessons about how Java actually works). A few of the ...
ItamarG3's user avatar
  • 6,297
3 votes
3 answers
176 views

Could physical (i.e. lego) models help teach CS?

In this video, https://www.youtube.com/watch?v=t5NszbIerYc Dr. David Brailsford uses an elegant Lego model to explain pointers and linked lists. Do you think that using physical models could make it ...
Mahkoe's user avatar
  • 141
29 votes
21 answers
13k views

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

For a few years, I have been teaching a programming class to first-year electrical engineering students -- thus, this is their first contact with computer programming. The language used is C (although ...
swineone's user avatar
  • 401
3 votes
4 answers
195 views

Physical analogy to introduce a Delegate in .Net programming

Delegates are strange beasts (think Pointers with aspirations) and I was planning to introduce them using a physical metaphor: a power strip. The power strip connects to an 'event' (wall socket) and ...
user3103's user avatar
6 votes
2 answers
177 views

Is the CRT still relevant when introducing display hardware

In the context of an undergraduate course on microprocessors and architecture, I'm looking at how to introduce a VGA display peripheral. This is with the specific goal that they implement the ...
Sean Houlihane's user avatar
9 votes
7 answers
518 views

Introduction to programming class: use Spreadsheets to introduce fundamentals

Are there any "pros" or "cons" I have overlooked regarding using Excel as a means to introduce a range of fundamental programming concepts. This question relates to teaching a programming module at ...
srattigan's user avatar
  • 744
4 votes
6 answers
710 views

What are some examples that could be used when teaching subroutines or methods in the context of OO?

I'm going to be teaching a group of high school students about programming, and I have a general curriculum designed already, but I can't quite figure out how to introduce methods. I'll be teaching ...
thesecretmaster's user avatar
  • 4,795
7 votes
2 answers
321 views

Good, Motivating Examples for Algorithmic Complexity

I was recently reading a really good article on this topic, and I realize that it could be a very good added value for students to understand better and appreciate (and eventually put in practice) all ...
Kenny Barrera's user avatar
7 votes
3 answers
340 views

How to explain combinatorical principles like the rule of product to students who "just don't get it"?

I assist in courses that provide mathematical background to computing science students. Every year, there are some who "just don't get" (in their words) concepts like the rule of product or the ...
user avatar
11 votes
5 answers
6k views

What are some good real-life examples of pipelining, latency, and throughput?

The textbook Computer Organization and Design by Hennessy and Patterson uses a laundry analogy for pipelining, with different stages for: washing drying folding putting away The analogy is a good ...
Ellen Spertus's user avatar
6 votes
4 answers
832 views

What is a good way to explain computer viruses?

As part of my class, pupils have to learn what a virus is. I am looking for a better way to explain viruses or a better metaphor than the biological virus. The problem with a biological virus as a ...
ctrl-alt-delor's user avatar
22 votes
9 answers
5k views

The Tao of TeaChing (Making Mistakes in Front of the Class)

How do you handle it when you make a mistake while teaching? I used to get confused, stammer, blush, etc. But now I just pause and notice that something is incorrect, then correct it if I can figure ...
user avatar
7 votes
4 answers
546 views

Avoiding confusion about precedence

When mentioning operator precedence for AND / OR, I explained it wrongly. I re-explained it properly using the idea of binding: the operator "binds tightly" to the two expressions immediately on ...
user avatar
10 votes
6 answers
1k views

How can I make database normalization more clear?

Database normalization is needlessly clouded by over-explanation. I reviewed a wide array of web articles and several textbooks before starting to teach it. After I became thoroughly familiar with the ...
user avatar
6 votes
2 answers
425 views

How do I explain blockchain using an analogy?

One of the next big thing that will get people interested are block-chain based technology. Many people are asking about "WTH is blockchain" and it seems that this will be asked quite a lot in coming ...
T K Sourabh's user avatar
4 votes
5 answers
496 views

What non-programming book is vital for learning the CS mindset? [closed]

If you had to recommend a single book to introduce the way programmers think to anyone, but it had to be from outside the field of CS, what would it be? For programmers, my hands down, all-time, ...
user avatar
3 votes
2 answers
276 views

Avoiding difficulties when teaching with metaphors

It is said that metaphors can do more harm than good, and I agree that other methods should be developed, like the "notional machine" idea. However, computer science is not like anything else, because ...
user avatar
6 votes
5 answers
734 views

Explaining how the Internet and the World Wide Web work

I have been having trouble finding a good resource (ideally a video) or analogy that helps me to explain how the Internet and the World Wide Web work. It does not need to be too in-depth. Only enough ...
Arwym's user avatar
  • 63
6 votes
4 answers
3k views

What is a good analogy to introduce databases and SQL?

I think that it is vital to introduce each subject area with a few handy, even if limited, images or concepts that make the idea clear. Here is how I introduce SQL (in part): SQL takes a set of ...
user avatar
14 votes
8 answers
6k views

What would be a good analogy for IP addresses and ports?

What would be a good way to describe ports? I learned about it using this analogy, but it seems pretty inadequate to me: IP addresses are like street addresses of apartment buildings, and ports are ...
Ben I.'s user avatar
  • 32.9k
17 votes
11 answers
3k views

Explaining access levels and visibility in OOP

While teaching OOP in a high school CS major (in java), it is important (and part of the curriculum in any case) to explain "what is the meaning of this public ...
ItamarG3's user avatar
  • 6,297
4 votes
1 answer
106 views

Multi-client to server connection demonstration

I am trying to think of a way to demonstrate how a multi-client server works, from the aspect of the broadcast messages sent from the server in response to a message from one of the clients. I ...
ItamarG3's user avatar
  • 6,297
27 votes
19 answers
24k views

What are some good examples of using a stack data structure?

I'm looking for examples to give my students when lecturing about stacks, for use-cases of the stack in programming and life. So far I've been thinking of a pole of rings (when you can insert or ...
Yotam Salmon's user avatar
  • 1,205
6 votes
2 answers
202 views

Principles of SOLID in OOP

I am trying to prepare lessons about the five SOLID principles of Object Oriented Programming to high school students that have learned about polymorphism, abstract classes and interfaces. However, ...
ItamarG3's user avatar
  • 6,297
11 votes
7 answers
495 views

Intuitive example of an NP problem

I was talking to a student today, and explaining that NP problems are hard to solve, but easy to verify. I used password encryption/decryption as an example, but he got stuck. He was unable to ...
Ben I.'s user avatar
  • 32.9k
8 votes
1 answer
281 views

How can I explain lambda calculus to my class?

My students are pretty confused by lambda calculus. I'm looking for a way to start them off. Is there some image or analogy for lambda calculus that I can use to help them understand in the beginning? ...
Mr. Bamboozle's user avatar
13 votes
12 answers
3k views

What is a good analogy for pass by value vs by reference?

In general, there are two ways arguments can be passed to a function. Functions can either be passed a reference to an object, or the value of that object. This is something that my students often ...
thesecretmaster's user avatar
  • 4,795