Tag Info

Teaching algorithmic thinking without a programming language

When I attended a Mind, Brain, and Learning conference a few years ago, a lecturer posed the following question (paraphrased): If I ask you to figure out the cube root of a number like 150 in your ...
• 31.5k
Accepted

How to respond to the two-handed approach to swapping

Don't overcomplicate things. Your first instinct, that the computer only has one hand, was the correct one. This is a regular problem that new teachers have, and it sometimes takes a few years of ...
• 31.5k

How to respond to the two-handed approach to swapping

Re-evaluate what you think is "right", because you aren't but isn't right in computer science This is simply incorrect. Your student can create two variables called ...
• 1,072

How to respond to the two-handed approach to swapping

Your problem is that you tried to let your student "program" without establishing a language. Thus they were free to write their own "language" in which you can do two things at ...
• 1,150

Teaching algorithmic thinking without a programming language

About 20 years ago, I interviewed at a rather well known American software company. I met with about a dozen people over a day that lasted from 8:30 to 4:30. One of the questions was to come up with ...
• 191
Accepted

Interview lesson on "Computational Thinking"

I would like to suggest my absolute favorite lesson from my intro to CS class. I usually teach it over two class periods, the first being "unplugged" and the second on the computers, but I think you ...

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 ...
• 34.9k

Teaching algorithmic thinking without a programming language

When I was about eight years old, my teacher asked the class to describe fool-proof ways to make a cup of tea, or to strike a match then use it to light something like a gas-flame or a cigarette. How ...

Driven to Abstraction

Why 5 operations when one suffices??? (The subsection of above showing the more usual machine instructions as "macros" implemented in terms of that one instruction) Being sparse and ...
• 804
Accepted

how can i build up interest in learning some dry but important subjects of BS(CS)?

I hate to be unkind, but I wonder if you are blaming others for your own lack of effort and commitment. I don't think that everything that you need to study needs to be "interesting" before you make a ...
• 34.9k
Accepted

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

The hardest part of determining anything in computer science is the requirements first. If you don't know what the program should do, then there is no way to do it correctly. Thus, Winnie the Pooh ...
• 74

Simple use case for self-modifying programs

I didn't write any myself, but I encountered several self-modifying MS-DOS batch files (this is possible due to the OS closing the batch file before executing each line), especially during the $1980$'...
• 281

How to respond to the two-handed approach to swapping

This question reminds me of when a student failed to understand why a third variable was needed to exchange the value of two variables (i.e. to swap A and B, C=A, A=B, B=C). I managed to illustrate ...
• 151
Accepted

Short foundational lessons for 7-8 year olds

If you are merely looking for feedback on this, let me point out, first, that according to Piaget's work, your students seem a bit young for this. They have only just entered the third stage of Piaget'...
• 34.9k

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

The timeless way of building — Christopher Alexander (https://www.patternlanguage.com/patterns/justsostory.html) This is a 3 volume book that includes A Pattern Language. This set of books is ...
• 10.4k

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 ...
• 3,995

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 ...
• 149

Teaching algorithmic thinking without a programming language

But I would like to teach algorithmic thinking per se, independent of the underlying programming language. The current classic book is "Introduction to Algorithms" Third Edition by Thomas H....
• 934

Teaching algorithmic thinking without a programming language

My go-to answer for this question would be CS Unplugged, an open-source "collection of free learning activities that teach Computer Science through engaging games and puzzles that use cards, ...
• 141

How to respond to the two-handed approach to swapping

They took both their hands, picked up the second and fourth pencils (each in one hand), and swapped them! That works in reality... but isn't right in computer science. It depends on your paradigm. ...

Driven to Abstraction

First, I am not sure what the five operations you mention are. And, or, xor, not are only four, and if you include the negations, you get nand, nor, and xnor. I don't know whether you mean to move ...
• 31.5k
Accepted

Driven to Abstraction

Buffy Ben Victor Eijkhout all in different ways talked of levels. Let me try enumerating them for you from established sources. (Summarizing for brevity) Weste Eshraghian book on CMOS VLSI gives these ...
• 804

Driven to Abstraction

Why not teach people how computers work right away? A driving lesson does not start with a mechanic course. A cooking class does not begin with a chemistry class. A house painter can start working ...
• 1,243

how can i build up interest in learning some dry but important subjects of BS(CS)?

Motivation to work through "boring" material can be from knowing that it is the required foundation for more interesting stuff. Or you might try to find some interesting angle to it. Perhaps it is ...
• 604

How can I build up the understanding of a project?

Each project manager will tell you that the success of your project refers to planning. This can take some effort at first, but in the long run having a clearly defined project plan will save you time,...
Accepted

How can I build up the understanding of a project?

I think it would be improper to give you advice on the content of your project. Your professor assigned it so that you would learn something and you will learn more by doing that part yourself. ...
• 34.9k

How can I improve other programming languages while having command on one language

Looking at Buffy's answer it's clear to me that I've understood the question quite differently, so I will set some context before I get to the point. However you are good in only one language. I ...
• 1,683

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 ...
• 10.4k