How Computers Work. Computational Thinking for Everyone. Rex Page University of Oklahoma work supported by National Science Foundation Grant

Size: px
Start display at page:

Download "How Computers Work. Computational Thinking for Everyone. Rex Page University of Oklahoma work supported by National Science Foundation Grant"

Transcription

1 How Computers Work Computational Thinking for Everyone Rex Page University of Oklahoma work supported by National Science Foundation Grant Ruben Gamboa University of Wyoming Trends in Functional Programming in Education St Andrews UK, 11 June 2012

2 History Applied Logic for HW and SW present Boolean algebra, induction, rigorous proofs Reasoning about FP software and digital circuits Required course for CS students at OU Arts and Sciences students enroll occasionally Literature, Linguistics, Philosophy, Physics, Chemistry, Honors Program, University of Oklahoma Add-on for any discipline, requires 3.4 GPA (out of 4.0) Two perspectives courses required (over 20 offered) New in 2011: How Computers Work: Logic in Action AL + some FP + popular apps + term paper Karnaugh etc First technical course in perspectives classification June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 2

3 Demographics HCW: Logic in Action, honors perspectives course 36 students so far (17 in 2011, 19 in 2012) Chemistry Biochemistry Physics Microbiology Meteorology Science 44% History Linguistics Economics Humanities Psychology Business 22% Philosophy Drama Letters Engineering 31% EE MechE ChemE CS CompE Highly motivated, talented Average Exam Scores 89% 91% 94% humanities science engineering all exam scores 90% except for 3 sci/engr and 3 humanities students June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 3

4 Boolean Equations x False = x { identity} x True = True { null} x y = y x { commutative} (x y) z = x (y z) { associative} x (y z) = (x y) (x z) { distributive} x y = ( x) y {implication} (x y) = ( x) ( y) { demorgan} x x = x { idempotent} x x = True {self-implication} ( x) = x {double negation} Axioms x True = x { identity} x (y z) = (x y) (x z) { distributive} (x y) = ( x) ( y) { demorgan} x (y z) = (x y) z {Currying} (x y) y = y { absorption} False True { truth table entry} 50 + equations derived in lectures, homework, exams Derived Equations June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 4

5 Boolean Formulas Circuits (x y) y= y { absorption} (x y) y = (x y) (y False) { identity} = (y x) (y False) { commutative} = y (x False) { distributive} = y False { null} = y { identity} Derivation x y ( x) ( y) physical representation of Boolean formula x y Computers = Logic Engines two domains, same methods How Computers Work (x y) June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 5

6 Software Equations (first (cons x xs)) = x (rest (cons x xs)) = xs (cons x 0 [x 1 x 2 x n ]) = [x 0 x 1 x 2 x n ] (len nil) = 0 (len (cons x xs)) = (+ 1 (len xs)) (append nil ys) = ys (append (cons x xs) ys) = (cons x (append xs ys)) (append xs (append ys zs)) = (append (append xs ys) zs) (len(append xs ys)) = (+ (len xs) (len ys)) Testable Properties (defproperty append-is-associative (xs :value (random-list-of (random-integer)) ys :value (random-list-of (random-integer)) zs :value (random-list-of (random-integer))) (equal (append xs (append ys zs)) (append (append xs ys) zs)))) (defproperty append-preserves-lens (xs :value (random-list-of (random-integer)) ys :value (random-list-of (random-integer))) (= (len(append xs ys)) (+ (len xs) (len ys)))) Dracula Tests June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 6

7 Reasoning about Software (first (cons x xs)) = x {first} (rest (cons x xs)) = xs {rest} (cons x 0 [x 1 x 2 x n ]) = [x 0 x 1 x 2 x n ] {cons} (len nil) = 0 {len0} (len (cons x xs)) = (+ 1 (len xs)) {len1} (append nil ys) = ys {app0} (append (cons x xs) ys) = (cons x (append xs ys)) {app1} many other assumed properties (definitional equations) Axioms (append xs (append ys zs)) = (append (append xs ys) zs) (len (append xs ys)) = (+ (len xs) (len ys)) many properties derived from definitional equations (len (append [x 1 x 2 x n+1 ] ys)) = (len (append (cons x 1 [x 2 x n+1 ]) ys)) {cons} = (len (cons x 1 (append [x 2 x n+1 ] ys))) {app1} = (+ 1 (len (append [x 2 x n+1 ] ys))) {len1} = (+ 1 (+ (len [x 2 x n+1 ]) (len ys))) {ind hyp} algebraic reasoning from axioms and derived equations = (+ (len [x 1 x 2 x n+1 ]) (len ys)) {cons} Derived Equations Derivation June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 7

8 Mechanized Logic (first (cons x xs)) = x {first} (rest (cons x xs)) = xs {rest} (cons x 0 [x 1 x 2 x n ]) = [x 0 x 1 x 2 x n ] {cons} (len nil) = 0 {len0} (len (cons x xs)) = (+ 1 (len xs)) {len1} (append nil ys) = ys {app0} (append (cons x xs) ys) = (cons x (append xs ys)) {app1} Axioms (defproperty append-is-associative (xs :value (random-list-of (random-integer)) ys :value (random-list-of (random-integer)) zs :value (random-list-of (random-integer))) (equal (append xs (append ys zs)) (append (append xs ys) zs)))) (defproperty append-preserves-lens (xs :value (random-list-of (random-integer)) ys :value (random-list-of (random-integer))) (= (len (append xs ys)) (+ (len xs) (len ys)))) ACL2 Theorems Dracula employs ACL2 theorem prover to verify properties June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 8

9 Programming (bits 0) = nil {b0} (bits (n+1) ) = (cons (mod (n+1) 2) (bits(floor (n+1) 2) {b1} (numb nil) = 0 {n0} (numb (cons x xs)) = x + 2 (numb xs) {n1} Properties (defun bits (n) ; (bits n) = binary numeral for n (if (zp n) ; (numb(bits n)) = n nil ; {b0} (cons (mod n 2) (bits (floor n 2))))) ; {b1} (defun numb (xs) ; xs = [x 0, x 1,... x w-1 ] (if (consp xs) ; (numb xs) = 2 0 x x w-1 x w-1 (numb (+ (first xs) ; {n1} (* 2 (numb(rest xs)))) 0)) ; {n0} ACL2 Notation (program) Properties that define functions Comprehensive cover all cases The 3 C s Consistent no conflicts in overlapping cases Computational circular references closer to non-circular case June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 9

10 Ripple-Carry Adder Circuit x 0 y 0 x 1 y 1... x w-1 y w-1 c 0 full adder c 1 full adder c 2 c w-1 full adder c s 0 s 1 adder circuit... s w-1 c w-1... c 1 c 0 input carry c 0 = 0 + x w-1... x 1 x 0 y w-1... y 1 y 0 2 s complement numerals for x and y -2 w-1 x, y 2 w-1 1 c s w-1... s 1 s 0 2 s complement numeral for x + y 2 s complement arithmetic with w-bit words June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 10

11 Expected Property of Circuit x 0 y 0 x 1 y 1... x w-1 y w-1 c 0 full adder c 1 full adder c 2 c w-1 full adder c s 0 s 1 adder circuit... s w-1 c w-1... c 1 c 0 Expected Property c c x w-1... x 1 x 0 y w-1... y 1 y 0 s w-1... s 1 s 0 + x w-1 2 w x x y w-1 2 w y y = c2 w + s w-1 2 w s s June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 11

12 Algebraic Model Adder Circuit Expected Property c x w-1 2 w x x y w-1 2 w y y = c2 w + s w-1 2 w s s add([x 0, x 1, x w-1 ], [y 0, y 1, y w-1 ], c 0 ) = ([s 0, s 1, s w-1 ], c) {add, w 1} where (s 0, c 1 ) = full-adder(x 0, y 0, c 0 ) ([s 1, s w-1 ], c) = add([x 1, x w-1 ], [y 1, y w-1 ], c 1 ) add([ ], [ ], c 0 ) = ([ ], c 0 ) {add, w = 0} full-adder(x, y, c in ) = (s, c out ) {full-adder} where s = xor-gate(p, c in ) p = xor-gate(x, y) Derive property c out = or-gate(q, r) q = and-gate(c in, p) from algebraic model r = and-gate(x, y) full-adder circuit x y c in c in x y s c out June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 12

13 Model in ACL2 Notation add([x 0, x 1, x w-1 ], [y 0, y 1, y w-1 ], c 0 ) = ([s 0, s 1, s w-1 ], c) {add, w 1} where (s 0, c 1 ) = full-adder(x 0, y 0, c 0 ) ([s 1, s w-1 ], c) = add([x 1, x w-1 ], [y 1, y w-1 ], c 1 ) add([ ], [ ], c 0 ) = ([ ], c 0 ) {add, w = 0} (defun add (x y c0) ; x = [x 0, x 1,... x w-1 ], y = [y 0, y 1,... y w-1 ] (if (consp x) ; (add x y c 0 ) = ([s 0, s 1,... s w-1 ], c) (let* ((x0 (first x)) (xs (rest x)) (y0 (first y)) (ys (rest y)) (a0 (full-adder x0 y0 c0)) (s0 (first a0)) (c1 (second a0)) (a (add xs ys c1)) (ss (first a)) (c (second a))) (list (cons s0 ss) c)) ; {add, w 1} (list nil c0))) ; {add, w = 0} Expected Property + x w-1 2 w x x y w-1 2 w y y June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 13 c = c2 w + s w-1 2 w s s model in ACL2 notation

14 Verification by Mechanized Logic (defproperty expected-property-of-add (c0 :value (random-between 0 1) x :value (random-list-of (random-between 0 1)) y :value (random-list-of (random-between 0 1) :size (len x))) (implies (= (len x) (len y)) (let* ((a (add x y c0)) (s (first a)) (c (second a))) (= (+ (numb(list c0)) (numb x) (numb y)) (numb(append s (list c))))))) (defun numb (x) ; x= [x 0, x 1,... x w-1 ] (if (consp x) ; (numb x) = 2 0 x x w-1 x 0 (if (= (first x) 1) ; w 1 (+ 1 (* 2 (numb(rest x)))) ; x 0 = 1 (* 2 (numb(rest x)))) ; x 0 = 0 0)) ; w = 0 Expected Property + x w-1 2 w x x y w-1 2 w y y June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 14 c = c2 w + s w-1 2 w s s expected property in ACL2 notation

15 Massive Scale Computing Google Search trees Map/reduce for distributed computing Facebook Sharding Cassandra NoSQL databases Massive scale makes engineering necessary Ideas described in terms of FP concepts June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 15

16 Course Themes and Ideas Central themes Equations Algebraic models and reasoning Prerequisite: basic algebra (standard college prep) Big ideas Creativity (proofs) Abstraction (functions) Data (representations) Algorithms (binary arith, search trees, ) Programming (3 C s) Impact (Google, Facebook) June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 16

17 Computational Thinking AP Course Central themes Equations Algebraic models Prerequisite: basic algebra (standard college prep) Big ideas Computational Thinking: CS Principles Creativity College-prep curriculum Abstraction General education elective Secondary school or early college Data College Board AP Course Algorithms Depth and substance Programming Challenging, even for good students Impact Accessible to all college-bound students Internet Positive Attributes of This Approach June 2012 TFPIE Rex Page and Ruben Gamboa How Computers Work: Computational Thinking 17

18 The End

Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary

Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary Number System Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary BOOLEAN ALGEBRA BOOLEAN LOGIC OPERATIONS Logical AND Logical OR Logical COMPLEMENTATION

More information

Chapter 4, Logic using Propositional Calculus Handout

Chapter 4, Logic using Propositional Calculus Handout ECS 20 Chapter 4, Logic using Propositional Calculus Handout 0. Introduction to Discrete Mathematics. 0.1. Discrete = Individually separate and distinct as opposed to continuous and capable of infinitesimal

More information

2 Application of Boolean Algebra Theorems (15 Points - graded for completion only)

2 Application of Boolean Algebra Theorems (15 Points - graded for completion only) CSE140 HW1 Solution (100 Points) 1 Introduction The purpose of this assignment is three-fold. First, it aims to help you practice the application of Boolean Algebra theorems to transform and reduce Boolean

More information

Practice Midterm Exam Solutions

Practice Midterm Exam Solutions CSE 311: Foundations of Computing I Practice Midterm Exam Solutions Name: Sample Solutions ID: TA: Section: INSTRUCTIONS: You have 50 minutes to complete the exam. The exam is closed book. You may not

More information

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) September 5, 2002 John Wawrzynek Fall 2002 EECS150 Lec4-bool1 Page 1, 9/5 9am Outline Review of

More information

Switches: basic element of physical implementations

Switches: basic element of physical implementations Combinational logic Switches Basic logic and truth tables Logic functions Boolean algebra Proofs by re-writing and by perfect induction Winter 200 CSE370 - II - Boolean Algebra Switches: basic element

More information

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) January 30, 2003 John Wawrzynek Outline Review of three representations for combinational logic:

More information

CMSC 313 Lecture 17. Focus Groups. Announcement: in-class lab Thu 10/30 Homework 3 Questions Circuits for Addition Midterm Exam returned

CMSC 313 Lecture 17. Focus Groups. Announcement: in-class lab Thu 10/30 Homework 3 Questions Circuits for Addition Midterm Exam returned Focus Groups CMSC 33 Lecture 7 Need good sample of all types of CS students Mon /7 & Thu /2, 2:3p-2:p & 6:p-7:3p Announcement: in-class lab Thu /3 Homework 3 Questions Circuits for Addition Midterm Exam

More information

Equations of Predicate Calculus

Equations of Predicate Calculus a = { null} a = { null} a = a { identity} a = a { identity} Some Equations of a a = a { idempotent} a a = a { idempotent} Boolean lgebra a b = b a { commutative} a b = b a { commutative} (a b) c = a (b

More information

CSE 311: Foundations of Computing. Lecture 3: Digital Circuits & Equivalence

CSE 311: Foundations of Computing. Lecture 3: Digital Circuits & Equivalence CSE 311: Foundations of Computing Lecture 3: Digital Circuits & Equivalence Homework #1 You should have received An e-mail from [cse311a/cse311b] with information pointing you to look at Canvas to submit

More information

1 Boolean Algebra Simplification

1 Boolean Algebra Simplification cs281: Computer Organization Lab3 Prelab Our objective in this prelab is to lay the groundwork for simplifying boolean expressions in order to minimize the complexity of the resultant digital logic circuit.

More information

Boolean Algebra, Gates and Circuits

Boolean Algebra, Gates and Circuits Boolean Algebra, Gates and Circuits Kasper Brink November 21, 2017 (Images taken from Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc.) Outline Last week: Von

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Boolean Algebra CprE 281: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev

More information

Boolean algebra. Examples of these individual laws of Boolean, rules and theorems for Boolean algebra are given in the following table.

Boolean algebra. Examples of these individual laws of Boolean, rules and theorems for Boolean algebra are given in the following table. The Laws of Boolean Boolean algebra As well as the logic symbols 0 and 1 being used to represent a digital input or output, we can also use them as constants for a permanently Open or Closed circuit or

More information

EEE130 Digital Electronics I Lecture #4

EEE130 Digital Electronics I Lecture #4 EEE130 Digital Electronics I Lecture #4 - Boolean Algebra and Logic Simplification - By Dr. Shahrel A. Suandi Topics to be discussed 4-1 Boolean Operations and Expressions 4-2 Laws and Rules of Boolean

More information

UNIVERSITI TENAGA NASIONAL. College of Information Technology

UNIVERSITI TENAGA NASIONAL. College of Information Technology UNIVERSITI TENAGA NASIONAL College of Information Technology BACHELOR OF COMPUTER SCIENCE (HONS.) FINAL EXAMINATION SEMESTER 2 2012/2013 DIGITAL SYSTEMS DESIGN (CSNB163) January 2013 Time allowed: 3 hours

More information

Total Time = 90 Minutes, Total Marks = 50. Total /50 /10 /18

Total Time = 90 Minutes, Total Marks = 50. Total /50 /10 /18 University of Waterloo Department of Electrical & Computer Engineering E&CE 223 Digital Circuits and Systems Midterm Examination Instructor: M. Sachdev October 23rd, 2007 Total Time = 90 Minutes, Total

More information

Lab 1 starts this week: go to your session

Lab 1 starts this week: go to your session Lecture 3: Boolean Algebra Logistics Class email sign up Homework 1 due on Wednesday Lab 1 starts this week: go to your session Last lecture --- Numbers Binary numbers Base conversion Number systems for

More information

ELEC Digital Logic Circuits Fall 2014 Boolean Algebra (Chapter 2)

ELEC Digital Logic Circuits Fall 2014 Boolean Algebra (Chapter 2) ELEC 2200-002 Digital Logic Circuits Fall 2014 Boolean Algebra (Chapter 2) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL

More information

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive March 30, 2010 John Wawrzynek Spring 2010 EECS150 - Lec19-cl1 Page 1 Boolean Algebra I (Representations of Combinational

More information

Combinational Logic. By : Ali Mustafa

Combinational Logic. By : Ali Mustafa Combinational Logic By : Ali Mustafa Contents Adder Subtractor Multiplier Comparator Decoder Encoder Multiplexer How to Analyze any combinational circuit like this? Analysis Procedure To obtain the output

More information

Boolean Algebra and Digital Logic

Boolean Algebra and Digital Logic All modern digital computers are dependent on circuits that implement Boolean functions. We shall discuss two classes of such circuits: Combinational and Sequential. The difference between the two types

More information

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks ECE 545 Digital System Design with VHDL Lecture Digital Logic Refresher Part A Combinational Logic Building Blocks Lecture Roadmap Combinational Logic Basic Logic Review Basic Gates De Morgan s Law Combinational

More information

Packet #2: Set Theory & Predicate Calculus. Applied Discrete Mathematics

Packet #2: Set Theory & Predicate Calculus. Applied Discrete Mathematics CSC 224/226 Notes Packet #2: Set Theory & Predicate Calculus Barnes Packet #2: Set Theory & Predicate Calculus Applied Discrete Mathematics Table of Contents Full Adder Information Page 1 Predicate Calculus

More information

Slides for Lecture 10

Slides for Lecture 10 Slides for Lecture 10 ENEL 353: Digital Circuits Fall 2013 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary 30 September, 2013 ENEL 353

More information

CSE 20 DISCRETE MATH. Fall

CSE 20 DISCRETE MATH. Fall CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Today's learning goals Describe and use algorithms for integer operations based on their expansions Relate algorithms for integer

More information

Combinational Logic. Review of Combinational Logic 1

Combinational Logic. Review of Combinational Logic 1 Combinational Logic! Switches -> Boolean algebra! Representation of Boolean functions! Logic circuit elements - logic gates! Regular logic structures! Timing behavior of combinational logic! HDLs and combinational

More information

Logic and Boolean algebra

Logic and Boolean algebra Computer Mathematics Week 7 Logic and Boolean algebra College of Information Science and Engineering Ritsumeikan University last week coding theory channel coding information theory concept Hamming distance

More information

Chapter 2: Switching Algebra and Logic Circuits

Chapter 2: Switching Algebra and Logic Circuits Chapter 2: Switching Algebra and Logic Circuits Formal Foundation of Digital Design In 1854 George Boole published An investigation into the Laws of Thoughts Algebraic system with two values 0 and 1 Used

More information

Digital Logic (2) Boolean Algebra

Digital Logic (2) Boolean Algebra Digital Logic (2) Boolean Algebra Boolean algebra is the mathematics of digital systems. It was developed in 1850 s by George Boole. We will use Boolean algebra to minimize logic expressions. Karnaugh

More information

CSE 20 Discrete Math. Algebraic Rules for Propositional Formulas. Summer, July 11 (Day 2) Number Systems/Computer Arithmetic Predicate Logic

CSE 20 Discrete Math. Algebraic Rules for Propositional Formulas. Summer, July 11 (Day 2) Number Systems/Computer Arithmetic Predicate Logic CSE 20 Discrete Math Algebraic Rules for Propositional Formulas Equivalences between propositional formulas (similar to algebraic equivalences): Associative Summer, 2006 July 11 (Day 2) Number Systems/Computer

More information

CS 226: Digital Logic Design

CS 226: Digital Logic Design CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 29 Objectives In this lecture we will introduce: 1. Logic functions

More information

CHAPTER1: Digital Logic Circuits Combination Circuits

CHAPTER1: Digital Logic Circuits Combination Circuits CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.

More information

2. Associative Law: A binary operator * on a set S is said to be associated whenever (A*B)*C = A*(B*C) for all A,B,C S.

2. Associative Law: A binary operator * on a set S is said to be associated whenever (A*B)*C = A*(B*C) for all A,B,C S. BOOLEAN ALGEBRA 2.1 Introduction Binary logic deals with variables that have two discrete values: 1 for TRUE and 0 for FALSE. A simple switching circuit containing active elements such as a diode and transistor

More information

Combinational Logic Design Principles

Combinational Logic Design Principles Combinational Logic Design Principles Switching algebra Doru Todinca Department of Computers Politehnica University of Timisoara Outline Introduction Switching algebra Axioms of switching algebra Theorems

More information

CHAPTER III BOOLEAN ALGEBRA

CHAPTER III BOOLEAN ALGEBRA CHAPTER III- CHAPTER III CHAPTER III R.M. Dansereau; v.. CHAPTER III-2 BOOLEAN VALUES INTRODUCTION BOOLEAN VALUES Boolean algebra is a form of algebra that deals with single digit binary values and variables.

More information

Logic Design. Chapter 2: Introduction to Logic Circuits

Logic Design. Chapter 2: Introduction to Logic Circuits Logic Design Chapter 2: Introduction to Logic Circuits Introduction Logic circuits perform operation on digital signal Digital signal: signal values are restricted to a few discrete values Binary logic

More information

4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra

4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra 4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra To design a digital circuit that will perform a required function, it is necessary to manipulate and combine the various input signals in certain

More information

CS1800 Discrete Structures Final Version A

CS1800 Discrete Structures Final Version A CS1800 Discrete Structures Fall 2017 Profs. Aslam, Gold, & Pavlu December 11, 2017 CS1800 Discrete Structures Final Version A Instructions: 1. The exam is closed book and closed notes. You may not use

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Multiplication CprE 281: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev HW

More information

Administrative Notes. Chapter 2 <9>

Administrative Notes. Chapter 2 <9> Administrative Notes Note: New homework instructions starting with HW03 Homework is due at the beginning of class Homework must be organized, legible (messy is not), and stapled to be graded Chapter 2

More information

CHAPTER III BOOLEAN ALGEBRA

CHAPTER III BOOLEAN ALGEBRA CHAPTER III- CHAPTER III CHAPTER III R.M. Dansereau; v.. CHAPTER III-2 BOOLEAN VALUES INTRODUCTION BOOLEAN VALUES Boolean algebra is a form of algebra that deals with single digit binary values and variables.

More information

2.2: Logical Equivalence: The Laws of Logic

2.2: Logical Equivalence: The Laws of Logic Example (2.7) For primitive statement p and q, construct a truth table for each of the following compound statements. a) p q b) p q Here we see that the corresponding truth tables for two statement p q

More information

Sample Problems for all sections of CMSC250, Midterm 1 Fall 2014

Sample Problems for all sections of CMSC250, Midterm 1 Fall 2014 Sample Problems for all sections of CMSC250, Midterm 1 Fall 2014 1. Translate each of the following English sentences into formal statements using the logical operators (,,,,, and ). You may also use mathematical

More information

Digital Electronics Final Examination. Part A

Digital Electronics Final Examination. Part A Digital Electronics Final Examination Part A Spring 2009 Student Name: Date: Class Period: Total Points: /50 Converted Score: /40 Page 1 of 13 Directions: This is a CLOSED BOOK/CLOSED NOTES exam. Select

More information

211: Computer Architecture Summer 2016

211: Computer Architecture Summer 2016 211: Computer Architecture Summer 2016 Liu Liu Topic: Storage Project3 Digital Logic - Storage: Recap - Review: cache hit rate - Project3 - Digital Logic: - truth table => SOP - simplification: Boolean

More information

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST Discrete Mathematics CS204: Spring, 2008 Jong C. Park Computer Science Department KAIST Today s Topics Combinatorial Circuits Properties of Combinatorial Circuits Boolean Algebras Boolean Functions and

More information

Unit 8A Computer Organization. Boolean Logic and Gates

Unit 8A Computer Organization. Boolean Logic and Gates Unit 8A Computer Organization Boolean Logic and Gates Announcements Bring ear buds or headphones to lab! 15110 Principles of Computing, Carnegie Mellon University - CORTINA 2 Representing and Manipulating

More information

INTRODUCTION TO INFORMATION & COMMUNICATION TECHNOLOGY LECTURE 8 : WEEK 8 CSC-110-T

INTRODUCTION TO INFORMATION & COMMUNICATION TECHNOLOGY LECTURE 8 : WEEK 8 CSC-110-T INTRODUCTION TO INFORMATION & COMMUNICATION TECHNOLOGY LECTURE 8 : WEEK 8 CSC-110-T Credit : (2 + 1) / Week TEXT AND REF. BOOKS Text Book: Peter Norton (2011), Introduction to Computers, 7 /e, McGraw-Hill

More information

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL. 2017-18 XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL HALF ADDER 1. The circuit that performs addition within the Arithmetic and Logic Unit of the CPU are called adders. 2. A unit that adds two

More information

Math Final Exam December 14, 2009 Page 1 of 5

Math Final Exam December 14, 2009 Page 1 of 5 Math 201-803-Final Exam December 14, 2009 Page 1 of 5 (3) 1. Evaluate the expressions: (a) 10 C 4 (b) 10 P 4 (c) 15!4! 3!11! (4) 2. (a) In how many ways can a president, a vice president and a treasurer

More information

UC Berkeley College of Engineering, EECS Department CS61C: Representations of Combinational Logic Circuits

UC Berkeley College of Engineering, EECS Department CS61C: Representations of Combinational Logic Circuits 2 Wawrzynek, Garcia 2004 c UCB UC Berkeley College of Engineering, EECS Department CS61C: Representations of Combinational Logic Circuits 1 Introduction Original document by J. Wawrzynek (2003-11-15) Revised

More information

BOOLEAN ALGEBRA. Introduction. 1854: Logical algebra was published by George Boole known today as Boolean Algebra

BOOLEAN ALGEBRA. Introduction. 1854: Logical algebra was published by George Boole known today as Boolean Algebra BOOLEAN ALGEBRA Introduction 1854: Logical algebra was published by George Boole known today as Boolean Algebra It s a convenient way and systematic way of expressing and analyzing the operation of logic

More information

BOOLEAN ALGEBRA INTRODUCTION SUBSETS

BOOLEAN ALGEBRA INTRODUCTION SUBSETS BOOLEAN ALGEBRA M. Ragheb 1/294/2018 INTRODUCTION Modern algebra is centered around the concept of an algebraic system: A, consisting of a set of elements: ai, i=1, 2,, which are combined by a set of operations

More information

Lecture 10: Synchronous Sequential Circuits Design

Lecture 10: Synchronous Sequential Circuits Design Lecture 0: Synchronous Sequential Circuits Design. General Form Input Combinational Flip-flops Combinational Output Circuit Circuit Clock.. Moore type has outputs dependent only on the state, e.g. ripple

More information

Boolean Algebra. The Building Blocks of Digital Logic Design. Section. Section Overview. Binary Operations and Their Representation.

Boolean Algebra. The Building Blocks of Digital Logic Design. Section. Section Overview. Binary Operations and Their Representation. Section 3 Boolean Algebra The Building Blocks of Digital Logic Design Section Overview Binary Operations (AND, OR, NOT), Basic laws, Proof by Perfect Induction, De Morgan s Theorem, Canonical and Standard

More information

MAT2345 Discrete Math

MAT2345 Discrete Math Fall 2013 General Syllabus Schedule (note exam dates) Homework, Worksheets, Quizzes, and possibly Programs & Reports Academic Integrity Do Your Own Work Course Web Site: www.eiu.edu/~mathcs Course Overview

More information

Combinational Logic Fundamentals

Combinational Logic Fundamentals Topic 3: Combinational Logic Fundamentals In this note we will study combinational logic, which is the part of digital logic that uses Boolean algebra. All the concepts presented in combinational logic

More information

Schedule. ECEN 301 Discussion #25 Final Review 1. Date Day Class No. 1 Dec Mon 25 Final Review. Title Chapters HW Due date. Lab Due date.

Schedule. ECEN 301 Discussion #25 Final Review 1. Date Day Class No. 1 Dec Mon 25 Final Review. Title Chapters HW Due date. Lab Due date. Schedule Date Day Class No. Dec Mon 25 Final Review 2 Dec Tue 3 Dec Wed 26 Final Review Title Chapters HW Due date Lab Due date LAB 8 Exam 4 Dec Thu 5 Dec Fri Recitation HW 6 Dec Sat 7 Dec Sun 8 Dec Mon

More information

Lecture 2 Review on Digital Logic (Part 1)

Lecture 2 Review on Digital Logic (Part 1) Lecture 2 Review on Digital Logic (Part 1) Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/ Grading Engagement 5% Review Quiz 10% Homework 10% Labs 40%

More information

S C F F F T T F T T S C B F F F F F T F T F F T T T F F T F T T T F T T T

S C F F F T T F T T S C B F F F F F T F T F F T T T F F T F T T T F T T T EECS 270, Winter 2017, Lecture 1 Page 1 of 6 Use pencil! Say we live in the rather black and white world where things (variables) are either true (T) or false (F). So if S is Mark is going to the Store

More information

Lecture 6: Manipulation of Algebraic Functions, Boolean Algebra, Karnaugh Maps

Lecture 6: Manipulation of Algebraic Functions, Boolean Algebra, Karnaugh Maps EE210: Switching Systems Lecture 6: Manipulation of Algebraic Functions, Boolean Algebra, Karnaugh Maps Prof. YingLi Tian Feb. 21/26, 2019 Department of Electrical Engineering The City College of New York

More information

UNSIGNED BINARY NUMBERS DIGITAL ELECTRONICS SYSTEM DESIGN WHAT ABOUT NEGATIVE NUMBERS? BINARY ADDITION 11/9/2018

UNSIGNED BINARY NUMBERS DIGITAL ELECTRONICS SYSTEM DESIGN WHAT ABOUT NEGATIVE NUMBERS? BINARY ADDITION 11/9/2018 DIGITAL ELECTRONICS SYSTEM DESIGN LL 2018 PROFS. IRIS BAHAR & ROD BERESFORD NOVEMBER 9, 2018 LECTURE 19: BINARY ADDITION, UNSIGNED BINARY NUMBERS For the binary number b n-1 b n-2 b 1 b 0. b -1 b -2 b

More information

Computer Organization: Boolean Logic

Computer Organization: Boolean Logic Computer Organization: Boolean Logic Representing and Manipulating Data Last Unit How to represent data as a sequence of bits How to interpret bit representations Use of levels of abstraction in representing

More information

COS 140: Foundations of Computer Science

COS 140: Foundations of Computer Science COS 140: Foundations of Computer Science Boolean Algebra Fall 2018 Introduction 3 Problem................................................................. 3 Boolean algebra...........................................................

More information

Slide Set 3. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Slide Set 3. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary Slide Set 3 for ENEL 353 Fall 2016 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 2016 SN s ENEL 353 Fall 2016 Slide Set 3 slide

More information

Discrete Mathematics Review

Discrete Mathematics Review CS 1813 Discrete Mathematics Discrete Mathematics Review or Yes, the Final Will Be Comprehensive 1 Truth Tables for Logical Operators P Q P Q False False False P Q False P Q False P Q True P Q True P True

More information

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure.

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure. XOR - XNOR Gates Lesson Objectives: In addition to AND, OR, NOT, NAND and NOR gates, exclusive-or (XOR) and exclusive-nor (XNOR) gates are also used in the design of digital circuits. These have special

More information

Lecture A: Logic Design and Gates

Lecture A: Logic Design and Gates Lecture A: Logic Design and Gates Syllabus My office hours 9.15-10.35am T,Th or gchoi@ece.tamu.edu 333G WERC Text: Brown and Vranesic Fundamentals of Digital Logic,» Buy it.. Or borrow it» Other book:

More information

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing IT 204 Section 3.0 Boolean Algebra and Digital Logic Boolean Algebra 2 Logic Equations to Truth Tables X = A. B + A. B + AB A B X 0 0 0 0 3 Sum of Products The OR operation performed on the products of

More information

Fundamentals of Digital Design

Fundamentals of Digital Design Fundamentals of Digital Design Digital Radiation Measurement and Spectroscopy NE/RHP 537 1 Binary Number System The binary numeral system, or base-2 number system, is a numeral system that represents numeric

More information

CS1800 Discrete Structures Spring 2018 February CS1800 Discrete Structures Midterm Version A

CS1800 Discrete Structures Spring 2018 February CS1800 Discrete Structures Midterm Version A CS1800 Discrete Structures Spring 2018 February 2018 CS1800 Discrete Structures Midterm Version A Instructions: 1. The exam is closed book and closed notes. You may not use a calculator or any other electronic

More information

KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8

KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8 KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8 Q1. What is a Proposition? Q2. What are Simple and Compound Propositions? Q3. What is a Connective? Q4. What are Sentential

More information

Digital Systems and Information Part II

Digital Systems and Information Part II Digital Systems and Information Part II Overview Arithmetic Operations General Remarks Unsigned and Signed Binary Operations Number representation using Decimal Codes BCD code and Seven-Segment Code Text

More information

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173 Propositional Logic CSC 17 Propositional logic mathematical model (or algebra) for reasoning about the truth of logical expressions (propositions) Logical expressions propositional variables or logical

More information

Computer organization

Computer organization Computer organization Levels of abstraction Assembler Simulator Applications C C++ Java High-level language SOFTWARE add lw ori Assembly language Goal 0000 0001 0000 1001 0101 Machine instructions/data

More information

SAMPLE ANSWERS MARKER COPY

SAMPLE ANSWERS MARKER COPY Page 1 of 12 School of Computer Science 60-265-01 Computer Architecture and Digital Design Fall 2012 Midterm Examination # 1 Tuesday, October 23, 2012 SAMPLE ANSWERS MARKER COPY Duration of examination:

More information

EECS Variable Logic Functions

EECS Variable Logic Functions EECS150 Section 1 Introduction to Combinational Logic Fall 2001 2-Variable Logic Functions There are 16 possible functions of 2 input variables: in general, there are 2**(2**n) functions of n inputs X

More information

Packet #1: Logic & Proofs. Applied Discrete Mathematics

Packet #1: Logic & Proofs. Applied Discrete Mathematics Packet #1: Logic & Proofs Applied Discrete Mathematics Table of Contents Course Objectives Page 2 Propositional Calculus Information Pages 3-13 Course Objectives At the conclusion of this course, you should

More information

Cs302 Quiz for MID TERM Exam Solved

Cs302 Quiz for MID TERM Exam Solved Question # 1 of 10 ( Start time: 01:30:33 PM ) Total Marks: 1 Caveman used a number system that has distinct shapes: 4 5 6 7 Question # 2 of 10 ( Start time: 01:31:25 PM ) Total Marks: 1 TTL based devices

More information

ENG2410 Digital Design Combinational Logic Circuits

ENG2410 Digital Design Combinational Logic Circuits ENG240 Digital Design Combinational Logic Circuits Fall 207 S. Areibi School of Engineering University of Guelph Binary variables Binary Logic Can be 0 or (T or F, low or high) Variables named with single

More information

Sample Marking Scheme

Sample Marking Scheme Page 1 of 10 School of Computer Science 60-265-01 Computer Architecture and Digital Design Fall 2008 Midterm Examination # 1 B Wednesday, November 5, 2008 Sample Marking Scheme Duration of examination:

More information

Implementation of Boolean Logic by Digital Circuits

Implementation of Boolean Logic by Digital Circuits Implementation of Boolean Logic by Digital Circuits We now consider the use of electronic circuits to implement Boolean functions and arithmetic functions that can be derived from these Boolean functions.

More information

CS2742 midterm test 2 study sheet. Boolean circuits: Predicate logic:

CS2742 midterm test 2 study sheet. Boolean circuits: Predicate logic: x NOT ~x x y AND x /\ y x y OR x \/ y Figure 1: Types of gates in a digital circuit. CS2742 midterm test 2 study sheet Boolean circuits: Boolean circuits is a generalization of Boolean formulas in which

More information

Review CHAPTER. 2.1 Definitions in Chapter Sample Exam Questions. 2.1 Set; Element; Member; Universal Set Partition. 2.

Review CHAPTER. 2.1 Definitions in Chapter Sample Exam Questions. 2.1 Set; Element; Member; Universal Set Partition. 2. CHAPTER 2 Review 2.1 Definitions in Chapter 2 2.1 Set; Element; Member; Universal Set 2.2 Subset 2.3 Proper Subset 2.4 The Empty Set, 2.5 Set Equality 2.6 Cardinality; Infinite Set 2.7 Complement 2.8 Intersection

More information

Lecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions

Lecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions EE210: Switching Systems Lecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions Prof. YingLi Tian Feb. 15, 2018 Department of Electrical Engineering The City College of New York The

More information

Combinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions.

Combinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions. Combinational logic Possible logic functions of two variables Logic functions, truth tables, and switches NOT, ND, OR, NND, NOR, OR,... Minimal set xioms and theorems of oolean algebra Proofs by re-writing

More information

Looking at a two binary digit sum shows what we need to extend addition to multiple binary digits.

Looking at a two binary digit sum shows what we need to extend addition to multiple binary digits. A Full Adder The half-adder is extremely useful until you want to add more that one binary digit quantities. The slow way to develop a two binary digit adders would be to make a truth table and reduce

More information

Systems I: Computer Organization and Architecture

Systems I: Computer Organization and Architecture Systems I: Computer Organization and Architecture Lecture 6 - Combinational Logic Introduction A combinational circuit consists of input variables, logic gates, and output variables. The logic gates accept

More information

Computer Organization I

Computer Organization I Computer Organization I Lecture 6: Boolean Algebra /2/29 Wei Lu CS283 Overview Two Principles in Boolean Algebra () Duality Principle (2) Complement Principle Standard Form of Logic Expression () Sum of

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Signed Numbers CprE 281: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative

More information

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates ECE 250 / CPS 250 Computer Architecture Basics of Logic Design Boolean Algebra, Logic Gates Benjamin Lee Slides based on those from Andrew Hilton (Duke), Alvy Lebeck (Duke) Benjamin Lee (Duke), and Amir

More information

Floating Point Representation and Digital Logic. Lecture 11 CS301

Floating Point Representation and Digital Logic. Lecture 11 CS301 Floating Point Representation and Digital Logic Lecture 11 CS301 Administrative Daily Review of today s lecture w Due tomorrow (10/4) at 8am Lab #3 due Friday (9/7) 1:29pm HW #5 assigned w Due Monday 10/8

More information

MATH 115 Concepts in Mathematics

MATH 115 Concepts in Mathematics South Central College MATH 115 Concepts in Mathematics Course Outcome Summary Course Information Description Total Credits 4.00 Total Hours 64.00 Concepts in Mathematics is a general education survey course

More information

Chapter 5. Digital systems. 5.1 Boolean algebra Negation, conjunction and disjunction

Chapter 5. Digital systems. 5.1 Boolean algebra Negation, conjunction and disjunction Chapter 5 igital systems digital system is any machine that processes information encoded in the form of digits. Modern digital systems use binary digits, encoded as voltage levels. Two voltage levels,

More information

Chapter 2. Digital Logic Basics

Chapter 2. Digital Logic Basics Chapter 2 Digital Logic Basics 1 2 Chapter 2 2 1 Implementation using NND gates: We can write the XOR logical expression B + B using double negation as B+ B = B+B = B B From this logical expression, we

More information

CS61c: Representations of Combinational Logic Circuits

CS61c: Representations of Combinational Logic Circuits CS61c: Representations of Combinational Logic Circuits J. Wawrzynek March 5, 2003 1 Introduction Recall that synchronous systems are composed of two basic types of circuits, combination logic circuits,

More information

cse 311: foundations of computing Spring 2015 Lecture 3: Logic and Boolean algebra

cse 311: foundations of computing Spring 2015 Lecture 3: Logic and Boolean algebra cse 311: foundations of computing Spring 2015 Lecture 3: Logic and Boolean algebra gradescope Homework #1 is up (and has been since Friday). It is due Friday, October 9 th at 11:59pm. You should have received

More information

EE 110 Practice Problems for Exam 1: Solutions, Fall 2008

EE 110 Practice Problems for Exam 1: Solutions, Fall 2008 EE Practice Problems for Exam : Solutions, Fall 28. ircle T (true) or F (false) for each of these oolean equations. (a). T FO + = (b). T FO + = ( + )( + ) (c). TO F = (d). TO F () = () (e). TO F + + =

More information

ECE 545 Digital System Design with VHDL Lecture 1A. Digital Logic Refresher Part A Combinational Logic Building Blocks

ECE 545 Digital System Design with VHDL Lecture 1A. Digital Logic Refresher Part A Combinational Logic Building Blocks ECE 545 Digital System Design with VHDL Lecture A Digital Logic Refresher Part A Combinational Logic Building Blocks Lecture Roadmap Combinational Logic Basic Logic Review Basic Gates De Morgan s Laws

More information