[301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: [email protected]...
Transcript of [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: [email protected]...
![Page 1: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/1.jpg)
[301] IntroductionTyler Caraza-Harter
![Page 2: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/2.jpg)
Welcome to Data Programming!
Data is exploding in many fields• Biology, physics, chemistry• Psychology, sociology, economics, business• Engineering (mechanical, electrical, industrial, etc)
https://home.cern/topics/large-hadron-collider
https://science.howstuffworks.com/life/genetic/gattaca-gaptacaz-adding-letters-the-genetic-alphabet.htm
https://en.wikipedia.org/wiki/Neuroimaging
http://www.stressebook.com/finite-element-analysis-in-a-nut-shell/
![Page 3: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/3.jpg)
Welcome to Data Programming!
Data is exploding in many fields• Biology, physics, chemistry• Psychology, sociology, economics, business• Engineering (mechanical, electrical, industrial, etc)
How can we gain insights from that data?• With computation
![Page 4: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/4.jpg)
Welcome to Data Programming!
Data is exploding in many fields• Biology, physics, chemistry• Psychology, sociology, economics, business• Engineering (mechanical, electrical, industrial, etc)
How can we gain insights from that data?• With computation
Approach 1: human computation
https://en.wikipedia.org/wiki/Human_computer
![Page 5: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/5.jpg)
Welcome to Data Programming!
Data is exploding in many fields• Biology, physics, chemistry• Psychology, sociology, economics, business• Engineering (mechanical, electrical, industrial, etc)
How can we gain insights from that data?• With computation
Approach 1: human computation
https://en.wikipedia.org/wiki/Human_computer http://fortune.com/2015/11/15/intel-super-7/
Approach 2: machine computation
![Page 6: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/6.jpg)
Welcome to Data Programming!
CS 301 is about approach 2• Faster, more reliable, can churn through more data
Approach 1: human computation
https://en.wikipedia.org/wiki/Human_computer http://fortune.com/2015/11/15/intel-super-7/
Approach 2: machine computation
![Page 7: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/7.jpg)
Welcome to Data Programming!
CS 301 is about approach 2• Faster, more reliable, can churn through more data• Requires being able to tell computers what to do!
Approach 1: human computation
https://en.wikipedia.org/wiki/Human_computer http://fortune.com/2015/11/15/intel-super-7/
Approach 2: machine computation
society needs more domain experts in specific fields who can write code
![Page 8: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/8.jpg)
Welcome to Data Programming!
CS 301 is about approach 2• Faster, more reliable, can churn through more data• Requires being able to tell computers what to do!• Automate to save time
Approach 1: human computation
https://en.wikipedia.org/wiki/Human_computer http://fortune.com/2015/11/15/intel-super-7/
Approach 2: machine computation
![Page 9: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/9.jpg)
Welcome to Data Programming!
CS 301 is about approach 2• Faster, more reliable, can churn through more data• Requires being able to tell computers what to do!• Automate to save time
“Find the leverage in the world, so you can be more lazy!” ~ Larry Page
Approach 1: human computation
https://en.wikipedia.org/wiki/Human_computer http://fortune.com/2015/11/15/intel-super-7/
Approach 2: machine computation
![Page 10: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/10.jpg)
Why CS 301?
Common approach to introductory CS courses• Use a programming language like C++ or Java• Teach CS students and other majors together• Emphasis on writing large programs (OOP, encapsulation) and
theory (complexity analysis)• Light on data
![Page 11: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/11.jpg)
Why CS 301?
Common approach to introductory CS courses• Use a programming language like C++ or Java• Teach CS students and other majors together• Emphasis on writing large programs (OOP, encapsulation) and
theory (complexity analysis)• Light on data
CS 301 approach• Pioneered by Laura Hobbes LeGault• Use Python (powerful but easy easier to learn)• Goal: bring more programming into other fields• Practical, minimal theory• Emphasis on data, simulation, analysis, plotting
![Page 12: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/12.jpg)
Today's Topics
Introductions• Who am I? Who are you?
Website
Course overview
Computer basics
![Page 13: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/13.jpg)
Who am I?
Tyler Caraza-Harter• Email: [email protected]• Just call me “Tyler”, no formalities necessary
Long time badger• Did undergrad, masters, and PhD at UW-Madison• Opportunity to teach classes I wish I could have taken
Return to teaching from industry• Worked at Microsoft on SQL Server and Cloud• Other internships/collaborations:
Qualcomm, Google, Facebook, Tintri
Open-source projects• OpenLambda project (Python-based platform)• PivotLibre project (preferential-voting tool)
![Page 14: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/14.jpg)
Who are You?
Year in school?• 1st year? 2nd? Junior/senior? Grad student?
Area of study• Natural science, social science, engineering, other?
How many have programmed before?• Any language? Python? Taken a class?
Have specific datasets you want to leverage after 301?
![Page 15: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/15.jpg)
Today's Topics
Introductions
Website• Syllabus• Schedule/calendar• Datasets• Lecture questions
Course overview
Computer basics
![Page 16: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/16.jpg)
Course Website
There are 3 lecture sections for 301 this fall. I’m teaching 001 and 002 and Gerald is teaching section 003.
Website for my section (001 and 002):https://tyler.caraza-harter.com/cs301/fall18/home.html
Walk through…
![Page 17: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/17.jpg)
Today's Topics
Introductions
Website
Course overview• Learning objectives• Text book• Class communication• Grades• Projects• Exams
Computer basics
![Page 18: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/18.jpg)
301 Learning ObjectivesLearn basic Python • Python is a good programming language for beginners• We’ll learn about input/output, state, and flow of execution
Learn data structures • When we have lots of data, we’ll learn strategies for staying organized, by putting
data in order (lists) or giving data names so we can find it easily (dictionaries)
Learn popular data formats • We’ll work with popular formats for sharing data, such as CSV, JSON, and HTML
Learn database basics • A database is like a spreadsheet on steroids. We’ll learn how to store data here
and ask the database questions (called queries) to answer interesting questions
Learn how to create plots • Plots and other visualizations are key to communicating well as a data scientist
![Page 19: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/19.jpg)
Today's Topics
Introductions
Website
Course overview• Learning objectives• Text book• Class communication• Grades• Projects• Exams
Computer basics
![Page 20: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/20.jpg)
Think Python, 2nd Edition
Why it’s a good text • Assumes no programming background• It’s very concise• Extra problems for you to try (optional)• It’s free! (by the hardcopy if you choose)
Note on edition • Get the 2nd edition, which is for Python 3!• Don’t get the 1st edition, which is for Python 2• We’ll be using Python 3 this semester (301
previously used Python 2)
Power of open source • 1999: Downey wrote an introductory Java text• 2001: Elkner translated it to Python• 2003: Downey started using Python version• 2016: Downey published 2nd edition• Future for CS 301???
Note: Think Python does not cover all the topics we care about in CS 301. We’ll
provide other online readings, lecture notes, or
slides to help with that material.
![Page 21: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/21.jpg)
Today's Topics
Introductions
Website
Course overview• Learning objectives• Text book• Class communication• Grades• Projects• Exams
Computer basics
![Page 22: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/22.jpg)
Communication is CS 301
Good communication is critical for a class of this size • Who needs to communicate: students, TAs, instructors
Besides direct email, we’ll use six communication tools • Piazza• Email lists• Feedback Form• Project Submission• Canvas• Clicker Questions
Students
Instructor TAs
![Page 23: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/23.jpg)
Communication is CS 301
Good communication is critical for a class of this size • Who needs to communicate: students, TAs, instructors
Besides direct email, we’ll use six communication tools • Piazza• Email lists• Feedback Form• Project Submission• Canvas• Clicker Questions
Students
Instructor TAs
![Page 24: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/24.jpg)
Communication is CS 301
Good communication is critical for a class of this size • Who needs to communicate: students, TAs, instructors
Besides direct email, we’ll use six communication tools • Piazza• Email lists• Feedback Form• Project Submission• Canvas• Clicker Questions
Students
Instructor TAs
compsci301-<SEC>[email protected]@lists.wisc.edu
![Page 25: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/25.jpg)
Communication is CS 301
Good communication is critical for a class of this size • Who needs to communicate: students, TAs, instructors
Besides direct email, we’ll use six communication tools • Piazza• Email lists• Feedback Form• Project Submission• Canvas• Clicker Questions
Students
Instructor TAs
![Page 26: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/26.jpg)
Communication is CS 301
Good communication is critical for a class of this size • Who needs to communicate: students, TAs, instructors
Besides direct email, we’ll use six communication tools • Piazza• Email lists• Feedback Form• Project Submission• Canvas• Clicker Questions
Students
Instructor TAs
![Page 27: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/27.jpg)
Communication is CS 301
Good communication is critical for a class of this size • Who needs to communicate: students, TAs, instructors
Besides direct email, we’ll use six communication tools • Piazza• Email lists• Feedback Form• Project Submission• Canvas• Clicker Questions
Students
Instructor TAs
![Page 28: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/28.jpg)
Communication is CS 301
Good communication is critical for a class of this size • Who needs to communicate: students, TAs, instructors
Besides direct email, we’ll use six communication tools • Piazza• Email lists• Feedback Form• Project Submission• Canvas• Clicker Questions
Students
Instructor TAs
![Page 29: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/29.jpg)
Today's Topics
Introductions
Website
Course overview• Learning objectives• Text book• Class communication• Grades• Projects• Exams
Computer basics
![Page 30: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/30.jpg)
Grades
60% for programming projects • 10 projects. Nine worth 5%, final worth 15%• automatic tests will essentially tell you what score you will get
(with some minor exceptions)• This is weighted heavily because learning to write code well is
our #1 concern in this course
40% for exams • 10% midterm 1 (evening)• 10% midterm 2 (evening)• 20% final• Details coming soon
Final grading will be curved
![Page 31: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/31.jpg)
Today's Topics
Introductions
Website
Course overview• Learning objectives• Text book• Class communication• Grades• Projects• Exams
Computer basics
![Page 32: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/32.jpg)
Project Overview
Nearly all projects will relate to some dataset • https://tyler.caraza-harter.com/cs301/fall18/datasets.html
Timeline • Projects will be due most weeks, on Wed, at midnight• Any lecture material necessary for the project will be covered by
end of the week (Fri) before• You get 10 late days, use them wisely!
Getting help • Piazza (don’t share substantial code) or email (do share code)• Monday lab sessions• My office hours or TA office hours
![Page 33: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/33.jpg)
Pair Programming
You can optionally work in pairs of two • Partner with students in any of the three sections• Change partners when you like (post to Piazza to find people)• Work together at the same time in the same place.• One person writes code while one watches. Share!• Motivation: learning from each other, not splitting the work
![Page 34: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/34.jpg)
Project Grading
Grading will be done with automated tests • The tests will determine the exact grade, unless we see that the
code does not follow the spirit of the assignment• We’ll share the tests• Not getting 100% should never be a surprise
![Page 35: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/35.jpg)
Project Grading
Grading will be done with automated tests • The tests will determine the exact grade, unless we see that the
code does not follow the spirit of the assignment• We’ll share the tests• Not getting 100% should never be a surprise
Ways to not earn the tentative grade given by tests • Cheat• “Defeat device”• Being a bad partner
![Page 36: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/36.jpg)
Today's Topics
Introductions
Website
Course overview• Learning objectives• Text book• Class communication• Grades• Projects• Exams
Computer basics
![Page 37: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/37.jpg)
Exams
There will be two midterms and one final • Check website for dates/locations• One 8.5 by 11 in note sheet allowed only• Exams will be multiple choice
![Page 38: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/38.jpg)
Today's Topics
Introductions
Website
Course overview
Computer basics• Input/Output• CPU• Memory• Storage• Networking• Important software
![Page 39: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/39.jpg)
Today's Topics
Introductions
Website
Course overview
Computer basics• Input/Output• CPU• Memory• Storage• Networking• Important software
![Page 40: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/40.jpg)
I/O (stands for input/output)• What are examples for human?
Input/Output
![Page 41: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/41.jpg)
I/O (stands for input/output)• What are examples for human?
Input/Output
input: senses
![Page 42: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/42.jpg)
I/O (stands for input/output)• What are examples for human?
Input/Output
input: senses output: muscles
![Page 43: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/43.jpg)
Computer Input/Output
computer (in a case)
what are some common compute inputs?
![Page 44: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/44.jpg)
Computer Input/Output
keyboardmouse
computer (in a case)
![Page 45: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/45.jpg)
Computer Input/Output
keyboardmouse
computer (in a case)
what are some common compute outputs?
![Page 46: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/46.jpg)
Computer Input/Output
keyboardmouse
speakersmonitor
computer (in a case)
![Page 47: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/47.jpg)
Computer Input/Output
keyboardmouse
speakersmonitor
computer (in a case)
I/O devices attach via “ports” (e.g. USB) in back of computer
![Page 48: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/48.jpg)
Computer Input/Output
keyboardmouse
speakersmonitor
computer (in a case)
What’s inside a computer case?
![Page 49: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/49.jpg)
Computer Internals
https://commons.wikimedia.org/wiki/File:Personal_computer,_exploded_4.svg
![Page 50: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/50.jpg)
Computer Internals
https://commons.wikimedia.org/wiki/File:Personal_computer,_exploded_4.svg
Motherboard: main circuit board to which other components connect,
via sockets/slots
![Page 51: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/51.jpg)
Today's Topics
Introductions
Website
Course overview
Computer basics• Input/Output• CPU• Memory• Storage• Networking• Important software
![Page 52: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/52.jpg)
Central Processing Unit (CPU)
![Page 53: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/53.jpg)
Central Processing Unit (CPU)
![Page 54: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/54.jpg)
CPUResponsible for computation• Runs code• Performs addition, other math• Compares numbers, text• Receives input, sends output• Some compare it to a “brain”
Runs on a clock• Typically a couple GHz (i.e., billions of ticks per second)• High-speed makes CPUs hot, require fans/cooling• Overclocking: running on faster clock than CPU is designed for
Computers often have multiple CPUs• Motherboard may have multiple sockets• Single chip may contain multiple CPUs• Allows computers to do more things simultaneously
![Page 55: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/55.jpg)
Today's Topics
Introductions
Website
Course overview
Computer basics• Input/Output• CPU• Memory• Storage• Networking• Important software
![Page 56: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/56.jpg)
Random Access Memory (RAM)
![Page 57: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/57.jpg)
Random Access Memory (RAM)
![Page 58: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/58.jpg)
MemoryMemory stores data for short term• RAM is most common form today (don’t worry about specifics)• CPU sends data to/from memory• Accessing it is very fast• It is “volatile” — meaning you lose this data when you power off
your computer• You don’t save “files” in memory, otherwise they would be gone!
Stores bytes of data• We’ll talk about bytes more later; for now, one byte ≈ one letter• The text “hello” requires 5 bytes• Typical personal computer has few to tens of gigabytes (billion
bytes) of memory
![Page 59: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/59.jpg)
Today's Topics
Introductions
Website
Course overview
Computer basics• Input/Output• CPU• Memory• Storage• Networking• Important software
![Page 60: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/60.jpg)
Storage Drives
![Page 61: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/61.jpg)
Storage Drives
![Page 62: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/62.jpg)
Storage DrivesTwo common devices• HDD (hard disk drive), has moving parts, cheap, slow• SSD (solid state drive), no moving parts, expensive, fast• RAM is much faster than either HDDs or SSDs
Storage devices used to save data after power down• Persistant medium, in contrast to volatile RAM• Typical capacity: hundreds of gigabytes
When you make a directory/folder or save a file, that data is ultimately getting recorded to your storage device• Sometimes computers save to RAM first, and only to the device
later; power down cleanly to avoid losing your data!!!
![Page 63: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/63.jpg)
Today's Topics
Introductions
Website
Course overview
Computer basics• Input/Output• CPU• Memory• Storage• Networking• Important software
![Page 64: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/64.jpg)
Network Interfaces
![Page 65: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/65.jpg)
Network InterfacesNetwork: often based on extension card or built into
the motherboard itself
![Page 66: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/66.jpg)
NetworkingNIC (Network Interface Controller)• Provides computer communication to
other computers, and the Internet
Wired vs. Wireless• Wired ethernet is common for
cable-based connection• Wi-Fi is common for radio-based
wireless connection
Terminology• Server: program/computer that runs, waiting for for incoming
requests, to which it responds• Client: program/compute that sends requests to a server
![Page 67: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/67.jpg)
Today's Topics
Introductions
Website
Course overview
Computer basics• Input/Output• CPU• Memory• Storage• Networking• Important software
![Page 68: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/68.jpg)
Important Software
Operating System (OS)• Controls access to hardware• Makes hardware easier to use• Provides ability to run multiple programs• Examples: Linux, Mac, Windows
Editor• Allows you to type and save code• May help you run code and add colorization• Examples: VS Code, Notepad++, emacs, vim
Browser• Client program that helps you load/view webpages• Examples: Edge, Chrome, Firebox, Safari
![Page 69: [301] Introduction - Tyler R. Caraza-Harter · Tyler Caraza-Harter • Email: tylerharter@gmail.com • Just call me “Tyler”, no formalities necessary Long time badger • Did](https://reader033.fdocuments.net/reader033/viewer/2022050601/5fa8c9bf80a35455b7031074/html5/thumbnails/69.jpg)
Conclusion
Today we covered• Course resources• Policy• Computer hardware basics
Action steps for you:• Familiarize yourself with the syllabus and rest of the website
https://tyler.caraza-harter.com/cs301/fall18/home.html• Sign into Piazza• Add exams to your personal calendar now, and notify me of
conflicts as soon as possible• Start meeting your fellow students and thinking about project
partners