Course Intro CPSC125

30
CPSC 125A Introduction to Discrete Mathematics Spring 2010 Dr. David Hyland-Wood University of Mary Washington Monday, January 11, 2010

description

Course introduction and motivation. See speaker's notes for additional information. This lecture covers material not in the text.

Transcript of Course Intro CPSC125

Page 1: Course Intro CPSC125

CPSC 125A Introduction toDiscrete Mathematics

Spring 2010Dr. David Hyland-WoodUniversity of Mary Washington

Monday, January 11, 2010

Page 2: Course Intro CPSC125

Discrete

Continuous

Monday, January 11, 2010

Discrete systems can be *counted*. Continuous ones can only be *measured*.

Page 3: Course Intro CPSC125

Monday, January 11, 2010

The primary goal of this course is to fill your toolbox.

Page 4: Course Intro CPSC125

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.

Page 5: Course Intro CPSC125

Monday, January 11, 2010

Working programmers *need* and *use* discrete math. Notice the white book near this programmer’s head.

Page 6: Course Intro CPSC125

Monday, January 11, 2010

Our goal is to avoid this outcome.

Page 7: Course Intro CPSC125

Monday, January 11, 2010

Rage and frustration result from presentation without commitment to understand. You will have to work at this.

Page 8: Course Intro CPSC125

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.

Page 9: Course Intro CPSC125

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.

Page 10: Course Intro CPSC125

“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.

Page 11: Course Intro CPSC125

“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.

Page 12: Course Intro CPSC125

“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.

Page 13: Course Intro CPSC125

“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.

Page 14: Course Intro CPSC125

“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.

Page 15: Course Intro CPSC125

Monday, January 11, 2010

Modern electronics, including computing, is based on the transistor. Computer chips contain millions of transistors. But what are they??

Page 16: Course Intro CPSC125

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.

Page 17: Course Intro CPSC125

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.

Page 18: Course Intro CPSC125

Transistor: AND Gate:

A

BOutput

Monday, January 11, 2010

From transistors, one can build logic gates.

Page 19: Course Intro CPSC125

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.

Page 20: Course Intro CPSC125

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.

Page 21: Course Intro CPSC125

IC7408 Chip

Monday, January 11, 2010

From logic gates (and combinations of logic gates), one can build chips.

Page 22: Course Intro CPSC125

Monday, January 11, 2010

From chips, one can build computers.

Page 23: Course Intro CPSC125

Monday, January 11, 2010

Determining the right inputs to computers to get a desired output is software.

Page 24: Course Intro CPSC125

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.

Page 25: Course Intro CPSC125

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.

Page 26: Course Intro CPSC125

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.

Page 27: Course Intro CPSC125

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.

Page 28: Course Intro CPSC125

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

Page 29: Course Intro CPSC125

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

Page 30: Course Intro CPSC125

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