ICT role in 21st century education and it's challenges.
Course Intro CPSC125
1. CPSC 125A Introduction to
Discrete Mathematics
Spring 2010
Dr. David Hyland-Wood
University of Mary Washington
Monday, January 11, 2010
2. Discrete
Continuous
Monday, January 11, 2010
Discrete systems can be *counted*. Continuous ones can only be *measured*.
3. Monday, January 11, 2010
The primary goal of this course is to fill your toolbox.
4. 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.
5. Monday, January 11, 2010
Working programmers *need* and *use* discrete math. Notice the white book near this
programmer’s head.
7. Monday, January 11, 2010
Rage and frustration result from presentation without commitment to understand. You will
have to work at this.
8. 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.
9. 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.
10. “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.
11. “On” or “Off”
voltage threshold
time
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.
12. “On” or “Off”
“On”
voltage threshold
“Off”
time
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.
13. “On” or “Off”
“On” 1
voltage threshold
“Off” 0
time
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.
14. “On” or “Off”
“On” 1 True
voltage threshold
“Off” 0 False
time
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.
15. Monday, January 11, 2010
Modern electronics, including computing, is based on the transistor. Computer chips contain
millions of transistors. But what are they??
16. 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.
17. 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.
18. Transistor: AND Gate:
A
Output
B
Monday, January 11, 2010
From transistors, one can build logic gates.
19. Transistor: AND Gate:
AND Gate “truth table”
A B Output
0 0 0 A
0 1 0 Output
B
1 0 0
1 1 1
Monday, January 11, 2010
From transistors, one can build logic gates.
20. A B Output A B Output
0 0 0 0 0 1
AND NAND
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 0
A B Output A B Output
0 0 0 0 0 1
OR NOR
0 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 0
A B Output
A Output 0 0 0
NOT XOR
0 1 0 1 1
1 0 1 0 1
1 1 0
Monday, January 11, 2010
There are only a handful of logic gates.
21. IC7408 Chip
Monday, January 11, 2010
From logic gates (and combinations of logic gates), one can build chips.
23. Monday, January 11, 2010
Determining the right inputs to computers to get a desired output is software.
24. 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.
25. What is Discrete Math?
• The study of topics that can be COUNTED
as opposed to continuous amounts that can
only be MEASURED.
• Number Systems • Graph Theory
• Counting Techniques • Boolean Algebra
• Sets • Probability
• Relations • Finite State Machines
• Functions • Algorithm Development
• Logic • Recursion
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.
26. What is Discrete Math?
• The study of topics that can be COUNTED
as opposed to continuous amounts that can
only be MEASURED.
• Number Systems • Graph Theory
• Counting Techniques • Boolean Algebra
• Sets • Probability
• Relations • Finite State Machines
• Functions • Algorithm Development
• Logic • Recursion
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.
27. What is Discrete Math?
• The study of topics that can be COUNTED
as opposed to continuous amounts that can
only be MEASURED.
allocating memory, databases,
compilers, filesystems,
• Number Systems networks • Graph Theory data structures
• Counting Techniques • Boolean Algebra
• Sets databases
filesystems
• Probability
• Relations data structures • Finite State Machines
• Functions • Algorithm Development
• Logic
circuits, compilers, • Recursion languages,
algorithms
coding techniques
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.
29. Credits - CC Licensed
Dripping 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
30. Credits - Fair Use
Software conceptual model http://216.47.173.10/apelcore/images/f/f3/CTS_2_Conceptual_Model_3-20-2009.jpg
Monday, January 11, 2010