• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Course Intro CPSC125
 

Course Intro CPSC125

on

  • 613 views

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

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

Statistics

Views

Total Views
613
Views on SlideShare
613
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Course Intro CPSC125 Course Intro CPSC125 Presentation Transcript

    • CPSC 125A Introduction to Discrete Mathematics Spring 2010 Dr. David Hyland-Wood University 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” 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.
    • “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.
    • “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.
    • “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.
    • 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 Output B Monday, January 11, 2010 From transistors, one can build logic gates.
    • 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.
    • 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.
    • 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? • 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.
    • 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.
    • 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.
    • 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 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
    • 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