Computer Science 105 Assignment 5 - Logic Design and Computer Organization
Due: 5:00pm October 13, 2003

Objectives and Overview: When computers finally carry out the steps of an algorithm, the algorithm must be reduced (translated) to a form that can be recognized and executed by an electronic device.  Computers are designed using "logic circuits", which are configurations of "gates" interconnected to solve specific problems.  This lab allows you to participate in a logic design experience to get a feel for the organization of components that make up a modern computer.  The readings and problems for this assignment are in Chapter 4 of your text.

Part 1 - Access the Course Software

Following the same steps that you used for Assignment 2, locate the icon Invitation (OSX) that appears in the desktop folder Invitation and activate the familiar orange menu.  The button Logic Circuits is used for this assignment.  When you select it and then open the file EXAMPLE.CIR in the Invitation -> Examples directory, the following window should open.

This circuit has two NOT gates, an AND gate and an OR gate.  The output value of each gate is displayed on the wire on its right.  The inputs to the entire circuit are set by toggle switches on the left - each of these can be 0 or 1.  The output of the entire circuit is shown on the rightmost gate (in this example, the OR gate).

To change the values of the input switches, select the Changes -> Set Switches menu item and then click on the switch to be changed.  Note how the outputs of the different gates change in response.

1.  Write down a truth table for this circuit, using A and B as labels for the two input switches and C for the output value on the right.

To add a new gate to a circuit, select the Gates -> And gate, Gates -> Or gate, or Gates -> Not gate menu item.  Now click on the yellow area to place the gate.  To add a wire that connects the output post of a gate to an input post of another gate, select Changes -> Connect gates and then click on the two posts to be connected.  To remove a gate from the circuit, select Changes -> Delete and then click on the gate to be removed.

Now use these tools to create a circuit that looks like this:

pic2

2.  Save this circuit as the file <yourlogin>.cir on the desktop by selecting the File -> Save as menu item.  Drag this file to the csci105 -> Drop Box.

3.  Explain briefly in English what this new circuit accomplishes.  

Part 3 - Algorithmic Problem Solving

Complete exercises 3, 5, 6, 8, 9, 11, 13, and either 15 or 16 on pages 166-167 of your text.  Do exercise 15 or 16 using the software tool described above, and submit your completed circuit to the csci105 -> Drop Box. You may do this work either by hand or with a word processor. Also, you may choose to do this part of the assignment either by yourself or in teams of two.  If you work with someone else, your team should hand in one copy of the completed exercises with both names at the top.

Part 4 - Submitting Your Work

To submit your lab work electronically, remember to rename it so that you are identified as the author (e.g., give it a name like asst5atucker).  Then drag the file  to the csci105 -> Drop Box folder.

Once you are finished in the lab, be sure to drag the csci105 folder to the Trash - this step disconnects you from the server and prevents someone else (who may use this iMac later in the day) from accidentally accessing files in your personal folder.

To submit a handwritten assignment, leave it in the CS105 mailbox near my office (Searles 220).

Note: Even though the lab programs for this course can be saved and submitted electronically, you should always keep a backup copy in your personal folder, so that if a file is lost you won't have to retype it from scratch.