Logic

// **Pages:** //
 * 1) Boolean Operations
 * 2) Syntax
 * 3) Syntax Activity
 * 4) Truth Tables
 * 5) Identify the Truth Table
 * 6) Logic Gates
 * 7) Logic Gate Activity

// **Content:** // Vicki: I like the truth table idea. Identify the truth table could be fun. Is there a way to experiment with truth tables? Could it be made interactive? I didn't understand the video much. I gathered that the gates were created to actually produce desired output which could be tested. We have a few gate ILMs. How does this compare? We are also looking at adding logic gate representations to the boolean logic ILMs. //use of truth tables has possibilities. Students tell me that is HOW they reason about complex operations. //
 * 1) //Boolean Operations --// This will introduce some boolean operations, including AND/conjunction, OR/disjunction, NOT/negation, implication, biconditional, and maybe reduction. Also the different kinds of symbols that can be used for each of the operations. This will be tied into logic gates in a later page, however, a very brief introduction to the concept of a logic gate can be introduced here.
 * 2) //[|Syntax]//
 * 3) // Syntax Activity -- // This page can include to small activities. One can be an Identify the Error Game, where the user must identify where the error is, and how to correct it. The other activity can be a simple editor used to create sentences in propositional logic with a form of spell check so that the user can write these sentences and receive feedback on the correctness of their entry.
 * 4) //Truth Tables --// This will explain truth tables and will contain the truth tables of the previously mentioned Boolean operations.
 * 5) // Identify the Truth Table -- // This game will pit the user against a computer player to see who can identify the Boolean operation/logic gates for 10 to 50 truth tables. The computer player can vary in difficulty and speed.
 * 6) //Logic Gates --//This will introduce logic gates and their uses. Besides the previously mentioned Boolean operations, NAND, NOR, and XOR will also be introduced here. It will also introduce Minecraft as a tool for people to test logic gates for themselves. I've included an example video: //[|test video]//
 * 7) //Logic Gate Activity --// This could possibly be an editor that allows users to place and connect logic gates in order to create their own circuits. There are a couple ways to approach this. One would be to have the user add and connect logic gates. They can then define the inputs and outputs, and the activity will present them with a truth table of the finished system. Another way this could be done could be through an activity similar to[| this], where users are given LEDs as outputs and switches they can interact with. These two should probably be combined, implementing the switches, LEDs, and truth table results. One final way an activity can be created is that the user can input a sentence in propositional logic, and the program can output an equivalent logic gate diagram.

Mr. Weeks: Maybe it could be a black box and the user feeds in test cases which then get displayed in a truth table, one line for each set of test cases put in. Then the user tries to guess the logic for that black box--the fewer lines the better similar to the MasterMind marble game.

The video was captured from minecraft where the actual circuit was built and demonstrated. The students are amazingly good at building virtual complex structures that include logic to make building sized calculators, etc.