Upload
david-wood
View
357
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Course introduction and motivation. See speaker's notes for additional information. This lecture covers material not in the text.
Citation preview
CPSC 125A Introduction toDiscrete Mathematics
Spring 2010Dr. David Hyland-WoodUniversity of Mary Washington
Monday, January 11, 2010
Discrete
Continuous
Monday, January 11, 2010
Discrete systems can be *counted*. Continuous ones can only be *measured*.
Monday, January 11, 2010
The primary goal of this course is to fill your toolbox.
Monday, January 11, 2010
Concepts covered in discrete math are often the “hammers” and “screwdrivers” in the toolbox. Working programmers use them literally all the time.
Monday, January 11, 2010
Working programmers *need* and *use* discrete math. Notice the white book near this programmer’s head.
Monday, January 11, 2010
Our goal is to avoid this outcome.
Monday, January 11, 2010
Rage and frustration result from presentation without commitment to understand. You will have to work at this.
Monday, January 11, 2010
The “problem of induction” asks whether we can ever know anything based solely on what has happened in the past. David Hume introduced it in the mid-18th century. We cover inductive logic in Section 2.2 of the text.
Monday, January 11, 2010
In this course, we will study some mathematics of binary systems. They can only ever be “on” or “off”. Computers are binary all the way down. This course provides mathematical tools to manipulate binary concepts to help you understand and create computer software.
“On” or “Off”
Monday, January 11, 2010
In this course, we will study some mathematics of binary systems. They can only ever be “on” or “off”. Computers are binary all the way down. This course provides mathematical tools to manipulate binary concepts to help you understand and create computer software.
“On” or “Off”
time
voltage threshold
Monday, January 11, 2010
In this course, we will study some mathematics of binary systems. They can only ever be “on” or “off”. Computers are binary all the way down. This course provides mathematical tools to manipulate binary concepts to help you understand and create computer software.
“On” or “Off”
time
voltage threshold“On”
“Off”
Monday, January 11, 2010
In this course, we will study some mathematics of binary systems. They can only ever be “on” or “off”. Computers are binary all the way down. This course provides mathematical tools to manipulate binary concepts to help you understand and create computer software.
“On” or “Off”
time
voltage threshold“On”
“Off”
10
Monday, January 11, 2010
In this course, we will study some mathematics of binary systems. They can only ever be “on” or “off”. Computers are binary all the way down. This course provides mathematical tools to manipulate binary concepts to help you understand and create computer software.
“On” or “Off”
time
voltage threshold“On”
“Off”
10
True
False
Monday, January 11, 2010
In this course, we will study some mathematics of binary systems. They can only ever be “on” or “off”. Computers are binary all the way down. This course provides mathematical tools to manipulate binary concepts to help you understand and create computer software.
Monday, January 11, 2010
Modern electronics, including computing, is based on the transistor. Computer chips contain millions of transistors. But what are they??
Monday, January 11, 2010
A transistor is a device in which the output depends on the state of its inputs. Typically A is a high voltage and B can be either high or low.
Input A
Input B
Output
Monday, January 11, 2010
A transistor is a device in which the output depends on the state of its inputs. Typically A is a high voltage and B can be either high or low.
Transistor: AND Gate:
A
BOutput
Monday, January 11, 2010
From transistors, one can build logic gates.
Transistor: AND Gate:
A
BOutput
A B Output0 0 00 1 01 0 01 1 1
AND Gate “truth table”
Monday, January 11, 2010
From transistors, one can build logic gates.
A B Output
0 0 00 1 01 0 01 1 1
A B Output
0 0 00 1 11 0 11 1 1
A Output0 11 0
A B Output
0 0 10 1 11 0 11 1 0
A B Output
0 0 10 1 01 0 01 1 0
A B Output
0 0 00 1 11 0 11 1 0
AND
OR
NOT
NAND
NOR
XOR
Monday, January 11, 2010
There are only a handful of logic gates.
IC7408 Chip
Monday, January 11, 2010
From logic gates (and combinations of logic gates), one can build chips.
Monday, January 11, 2010
From chips, one can build computers.
Monday, January 11, 2010
Determining the right inputs to computers to get a desired output is software.
Monday, January 11, 2010
It may be difficult to see the connection between hardware and software, but looking at a software conceptual model one can see that it seems similar to a circuit layout - for a reason.
What is Discrete Math?
• Number Systems
• Counting Techniques
• Sets
• Relations
• Functions
• Logic
• Graph Theory
• Boolean Algebra
• Probability
• Finite State Machines
• Algorithm Development
• Recursion
• The study of topics that can be COUNTED as opposed to continuous amounts that can only be MEASURED.
Monday, January 11, 2010
To get to a point where we can study software seriously, we need the vocabulary and concepts of discrete math. We’ll focus on topics important to computer science, not pure maths.
What is Discrete Math?
• Number Systems
• Counting Techniques
• Sets
• Relations
• Functions
• Logic
• Graph Theory
• Boolean Algebra
• Probability
• Finite State Machines
• Algorithm Development
• Recursion
• The study of topics that can be COUNTED as opposed to continuous amounts that can only be MEASURED.
Monday, January 11, 2010
To get to a point where we can study software seriously, we need the vocabulary and concepts of discrete math. We’ll focus on topics important to computer science, not pure maths.
What is Discrete Math?
• Number Systems
• Counting Techniques
• Sets
• Relations
• Functions
• Logic
• Graph Theory
• Boolean Algebra
• Probability
• Finite State Machines
• Algorithm Development
• Recursion
• The study of topics that can be COUNTED as opposed to continuous amounts that can only be MEASURED.
databases,filesystems,data structures
languages,algorithmscircuits, compilers,
coding techniques
databasesfilesystemsdata structures
allocating memory,compilers,networks
Monday, January 11, 2010
To get to a point where we can study software seriously, we need the vocabulary and concepts of discrete math. We’ll focus on topics important to computer science, not pure maths.
Syllabus:http://people.umw.edu/~dhylandw/courses/cpsc125_spring2010.html
See the syllabus for• Lecture titles and readings• Assignments• Test dates• Grading criteria• etc.
Monday, January 11, 2010
Credits - CC LicensedDripping water http://www.flickr.com/photos/ericsbinaryworld/234133442/
Toolbox empty http://www.flickr.com/photos/zakh/337938418/
Toolbox full http://www.flickr.com/photos/zakh/337938459/
David Hume statue http://www.flickr.com/photos/cmerlo441/2727412708/
The problem with math http://www.flickr.com/photos/a2community/3227410472/
Math rage http://www.flickr.com/photos/17165/3705019222/
Bookshelf http://www.flickr.com/photos/tuttletree/3492531613/
Transistors http://en.wikipedia.org/wiki/File:Transistorer_(croped).jpg
First transistor http://en.wikipedia.org/wiki/File:Replica-of-first-transistor.jpg
Sun 3 motherboard http://www.flickr.com/photos/90557979@N00/757293362/
Python code http://www.flickr.com/photos/markuz/233202327/
Software conceptual model http://216.47.173.10/apelcore/images/f/f3/CTS_2_Conceptual_Model_3-20-2009.jpg
Monday, January 11, 2010
Credits - Fair UseSoftware conceptual model http://216.47.173.10/apelcore/images/f/f3/CTS_2_Conceptual_Model_3-20-2009.jpg
Monday, January 11, 2010