Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
38

Well, for one, computing a truth table doesn't scale: generating one takes exponential time, with respect to the number of variables you're using. You can perhaps "subtly" drive this idea home by asking your students to manipulate some proposition that contains 7 or 8 variables (which would require creating a truth table with 128 or 256 rows). That would ...


9

I am mostly with @Buffy, A student should be praised for finding their own way of solving a problem. However I also think it is often good to have more than one way of doing things. Therefore: If the exam insists that they do it a certain way, then explain this to your student. Also explain that having more than one way of doing things is better. Instead ...


7

Play the “if you have brown hair stand up” game. For the introductory lesson. We use this to introduce selection (if statements), and a little bit of boolean logic. “Stand up if you have got brown hair.” “Sit down.” look around “Stand up if you have blue eyes.” … With out asking them to sit down “Stand up if you …” Address why some people are ...


7

The activity that occurred to me was categorical logic puzzles where you're given a list of hints and have to figure out a set of facts using a grid. These puzzles are solved by breaking the hints down into boolean expressions and then filling in the grid. The hints are things like: Ada owns a computer but does not wear a green hat. The person who wears a ...


7

Build logic gates out of dominoes. Start off by showing this video from Numberphile in whole or in part. In it is a demonstration of how to use dominoes to model logical operations of a computer. It begins with a simulation of an AND gate and writes out its corresponding truth table. This is followed by the same process with XOR, which then allows for the ...


5

I've never encountered this particular problem (possibly because I mention that truth tables are great, but we need both sets of skills?) Looking through the examples that I teach, though, a few of them pretty easily motivate boolean algebra: Prove that nand is boolean complete by mapping each logical symbol back to nand (or other symbols that you have ...


5

I used a card game activity to review Boolean expressions in a CS1 context. You may be able to adapt to involve more abstract propositions and more complex operators. tl;dr Students play a card game in small groups. They choose proposition and operator cards from their hands to create true or false statements. Proposition cards have text like: No one is ...


5

You might go about explaining it by using the words "either" and "or". "Either" means that any option out of two available would be enough: perfect indifference of the two (or more) things. But also to emphasize the mutual exclusiveness: either of the two, but not both. (taken from Oxford English Dictionary). This means that xor is true only when ...


4

Well, you won't do it by simply insisting. In fact, if your student has an alternate way to demonstrate the truth of the statement, he/she should be praised, not censured, even implicitly. Your students aren't like you. They don't think like you for the most part. It is useful, of course, to show them how you do think, but still, they are unique individuals. ...


4

I enjoy using cartoons in my teaching, such as this one: You can also teach students the XOR trick for swapping two values without using intermediate storage: X := X XOR Y Y := X XOR Y X := X XOR Y See correctness proof.


4

You haven't given them any practical applications for it, so the merit of doing so is lost on them. Why should anyone care about things like De Morgan's Law, etc, if they can just use a truth table to hammer out the answer? Boolean expressions can be reduced to a minimalist SOP (Sum of Products) or POS expression, which is the whole point of what you are ...


4

If your students were a bit older, I'd be more comfortable with the following, but suggest it anyway. There is an advantage for a student to know that the concepts exist independent of any notation and that historically notations have differed based on use and context. I would, myself, provide them with a handout giving names to the concepts and various ...


4

As per ctrl-alt-delor's response, I use different systems with different groups. It has been my experience that most of my students use no formal system of Boolean Algebra prior to beginning studies in CS, so I will typically start with whatever programming language they have the most experience with. In my program they traditionally use Java. (Here's a ...


3

The two systems have different value. For $\land$, $\lor$, $\lnot$ It is good in that you can see its relationship with set theory. ∧, ∨,<,> vs ∩, ∪, ⊂, ⊃ The not symbol is easier to type that the bar from the other system. For $\cdot$, $+$, $\bar{}$ It is easier to learn. Boolean algebra is algebra (Bidmas and all that). For the most part you can ...


3

Since your students are getting the beginning of Boolean from you, you have the advantage of being able to lay the proper groundwork to work within. To begin with, hopefully, you will be stressing the point that Boolean logic is two-state. You can use the word binary if you choose, as long as they are not predisposed to think binary = computer, since while ...


3

Think pizza shop. You order a one-topping pie. Would you like pepperoni or sausage? In common parlance, that's an exclusive or.


3

I don't know if I have a solid answer to the main thrust of your question, but I do have some one-off suggestions that may or may not be helpful. First, something you could try integrating into your lessons is some kind of meta-narrative about why proofs are useful in the first place. This seems to be a very common concern from students in the discrete ...


3

I've found a lot of success giving real world (often times very silly) examples of boolean algebra to give them a more intuitive understanding in addition to the pure algebraic laws. An example would be "If it rains tomorrow, I will bring an umbrella so I will stay dry". This is a simple A -> B: If it rains tomorrow then I will bring an umbrella, I will ...


2

A couple of ideas: 1st day Start by getting everybody up and moving. Have people form sets - say, a set of colors, with everybody wearing a different color, or a set of ages - but remind them that they can't have two people representing the same color in the set. Perform different operations with the human sets - intersections, unions, etc. After a couple ...


2

Peer Instruction materials exist for Discrete Math, for instance Cynthia Lee's Peer Instruction questions from Stanford. You may be able to adapt some of the questions to fit your needs for a HS course. To your first point, I find Peer Instruction to be an excellent balance of lecture and active learning. There is direct content delivery, but it is short, ...


2

For the introductory lesson. We use this to introduce selection (if statements), and a little bit of boolean logic. “Stand up if you have got brown hair.” “Sit down.” look around “Stand up if you have blue eyes.” … With out asking them to sit down “Stand up if you …” Address why some people are still standing, are they correct [yes], or are the seated ...


2

I wouldn't bother trying to tie this in to English language. Exclusive or is a strange connective. For example: $a \oplus (b \oplus c)$ means "An odd number of ($a$, $b$, $c$) is true" (you can see this by working out the truth table). In general if you stack up disjuncts like this, exclusive or means "an odd number of these disjuncts is true"; it is the ...


2

Back to the question : Since Boolean variables can only have 2 different values, proving a Boolean algebra equality can always be done exhaustively. Or am I wrong ? Yes. you_are_right or not(you are right) = true. That's basic binary logic. Lame joke aside, Boolean algebras are (usually defined as) complemented distributive lattices. the two-element ...


1

If you teach center dot as and, then + for or should be pretty natural. Tell them that or is logical addition and and is logical multiplication. Likewise, + can be used for set addition (everything in A "plus" everything in B). Likewise "or" means that something is in A or it is in B (maybe both). So, +, or, and Union are all alike. Naive Set Theory and ...


1

On a very personal note, I prefer ($\cdot$), ($+$), ($\bar{}$) as per ctrl-alt-delor's second point. It's easier to understand because the notations which they represent are also used in Trigonometry. So the students can easily relate the function of the symbols.


1

Guess who This game is about guessing which person the other player has. You get to ask a question to which the other player must answer yes or no. The best strategy is to ask a question that will eliminate exactly half of the remaining cards (an opportunity to also teach binary search). The game is designed to make it impossible to ask any simple question ...


1

Another fun exercise is implementing and and or using only nand gates (or nor gates). This proves that nand is universal. You can demonstrate that nor is universal then ask them to show that nand is (or vice versa).


1

I like these ideas for building logic circuits. Some of them are already covered in other answers, but not all. Dominoes — as in peters answer People ( I would love to see some ideas on this, as I suspect it to be very powerful) Electronic — logic gates Discrete Electronics — e.g. the mega processor is made of just discrete transistors, resistors, leds, and ...


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