Lecture 1: Introduction Background just got here last week

Slides:



Advertisements
Similar presentations
1 CS150 Fall 2005: 1. Introduction David Evans CS150 Spring 2007 University of Virginia Computer Science Class 1: Introduction.
Advertisements

David Evans CS150: Computer Science University of Virginia Computer Science Lecture 18: The Story So Far.
Cs2220: Engineering Software Class 1: Engineering Software? Fall 2010 University of Virginia David Evans.
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 2: Modeling Computers.
1 CS150 Fall 2005: 1. Introduction David Evans CS150: Computer Science University of Virginia Computer Science Class 1:
David Evans CS200: Computer Science University of Virginia Computer Science Class 1: Introduction.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 1: Introduction.
David Evans Class 15: Golden Ages and Astrophysics CS200: Computer Science University of Virginia Computer Science.
David Evans CS200: Computer Science University of Virginia Computer Science Class 24: Gödel’s Theorem.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 2: Orders of Growth
Class 30: Language Construction cs1120 Fall 2009 David Evans.
15 October 2003Computer Science1 David Evans ComputerScience.
David Evans cs1120 Fall 2009 University of Virginia Computer Science Class 1: Introduction.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 3: Rules of Evaluation.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 20: Objects I invented the term Object-
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 3: Levels of Abstraction
Introduction to Philosophy Lecture 1-a What is philosophy? By David Kelsey.
Cs1120 Fall 2009 David Evans Lecture 18: Changing State Sounds of Colossus:
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 22: Objects I invented the term Object-
David Evans Class 15: P vs. NP (Smiley Puzzles and Curing Cancer) CS150: Computer Science University of Virginia Computer.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 8: Crash Course in Computational Complexity.
Lecture 3: Rules of Evaluation CS150: Computer Science
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 22: Objectifying Objects.
CS 655: Programming Languages Scheming Schemers, Mocking Mockingbirds, and Objecting Objectively Lecture 1:Wherefore CS655? The use of cripples the mind;
Cs205: engineering software university of virginia fall 2006 David Evans Object-Oriented Programming.
Introduction to CSCI 1311 Dr. Mark C. Lewis
(Thunking about Thunks)
Praktische Informatik 1
Lecture 4: Metacircles Eval Apply David Evans
David Evans Class 20: Objects I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. — Alan.
Class 1: Introduction CS200: Computer Science University of Virginia
Lecture 6: Lambda Calculus
Lesson #6 Modular Programming and Functions.
Welcome back!.
David Evans Lecture 1: Engineering Software, Constructing Poetry and Dancing about Architecture CS201j: Engineering Software?
Lecture 2: Schreme David Evans
Lecture 4: Evaluation Rules Recursion CS200: Computer Science
Lesson #6 Modular Programming and Functions.
It’s called “wifi”! Source: Somewhere on the Internet!
Class 22: Inheritance CS150: Computer Science University of Virginia
Class 1: Introduction CS150 Spring 2007 University of Virginia
English Proficiency Workshop
Lambda Calculus Revisited
Turing Machines, Busy Beavers, and Big Questions about Computing
Lesson #6 Modular Programming and Functions.
Lecture 22: Gödel’s Theorem CS200: Computer Science
CSCE 489- Problem Solving Programming Strategies Spring 2018
Lecture 21: Crosscutting Aspect-Oriented Programming Background
Lecture 10: The Return of Paco Background just got here last week
Tonga Institute of Higher Education IT 141: Information Systems
Lecture 10: Using Object-Oriented Languages
SE1H421 Procedural Programming LECTURE 4 Operators & Conditionals (1)
Discrete Mathematics CMP-200 Propositional Equivalences, Predicates & Quantifiers, Negating Quantified Statements Abdul Hameed
Lesson #6 Modular Programming and Functions.
Recursion Taken from notes by Dr. Neil Moore
CS 240 – Lecture 7 Boolean Operations, Increment and Decrement Operators, Constant Types, enum Types, Precedence.
Lecture 19: Proof-Carrying Code Background just got here last week
Lecture 10: Fixed Points ad Infinitum M.C. Escher, Moebius Ants
David Evans Lecture 19: ||ism I don’t think we have found the right programming concepts for parallel computers yet.
Lecture 3: Rules of Evaluation CS200: Computer Science
Lecture 12: Minding your Ps & Qs:
Lecture 15: Crazy Eddie and the Fixed Points Background
Professor: Shereen Khoja
Tonga Institute of Higher Education IT 141: Information Systems
CSCI 203: Introduction to Computer Science I
Group 4: Song Li, Ying Lu, Hexin Wang, and Michael Walker May 1, 2000
Lecture 23: Computability CS200: Computer Science
Mr. Bill Keller Chemistry Voice Mail Box 2407
Food Webs and Ecosystems Part 2
Presentation transcript:

David Evans http://www.cs.virginia.edu/~evans Lecture 1: Introduction Background just got here last week finished degree at MIT week before Philosophy of advising students don’t come to grad school to implement someone else’s idea can get paid more to do that in industry learn to be a researcher important part of that is deciding what problems and ideas are worth spending time on grad students should have their own project looking for students who can come up with their own ideas for research will take good students interested in things I’m interested in – systems, programming languages & compilers, security rest of talk – give you a flavor of the kinds of things I am interested in meant to give you ideas (hopefully even inspiration!) but not meant to suggest what you should work on CS200: Computer Science University of Virginia Computer Science David Evans http://www.cs.virginia.edu/~evans

Menu What Is Computer Science? Why Computer Science is Not Engineering First Main Theme: Recursive Definitions Course Mechanics Pictures 16 January 2002 CS 200 Spring 2002

What is Computer Science? 16 January 2002 CS 200 Spring 2002

Euclid’s Elements, Book VII, Proposition 2 (300BC) Let AB and CD be the two given numbers not relatively prime. It is required to find the greatest common measure of AB and CD. If now CD measures AB, since it also measures itself, then CD is a common measure of CD and AB. And it is manifest that it is also the greatest, for no greater number than CD measures CD. But, if CD does not measure AB, then, when the less of the numbers AB and CD being continually subtracted from the greater, some number is left which measures the one before it. Euclid’s Elements, Book VII, Proposition 2 (300BC) 16 January 2002 CS 200 Spring 2002

Ada, Countess of Lovelace, around 1830 By the word operation, we mean any process which alters the mutual relation of two or more things, be this relation of what kind it may. This is the most general definition, and would include all subjects in the universe. Again, it might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine... Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent. Ada, Countess of Lovelace, around 1830 16 January 2002 CS 200 Spring 2002

What is the difference between Euclid and Ada? “It depends on what your definition of ‘is’ is.” Bill Gates (at Microsoft’s anti- trust trial) 16 January 2002 CS 200 Spring 2002

Geometry vs. Computer Science Geometry (mathematics) is about declarative knowledge: “what is” If now CD measures AB, since it also measures itself, then CD is a common measure of CD and AB Computer Science is about imperative knowledge: “how to” Computer Science has nothing to do with beige (or translucent blue) boxes called “computers” and is not a science. 16 January 2002 CS 200 Spring 2002

Computer Science “How to” knowledge: Ways of describing imperative processes (computations) Ways of reasoning about (predicting) what imperative processes will do Language Logic 16 January 2002 CS 200 Spring 2002

Science, Engineering, Other? 16 January 2002 CS 200 Spring 2002

Science? Understanding Nature through Observation About real things like bowling balls, black holes, antimatter, electrons, comets, etc. Math and Computer Science are about fake things like numbers, graphs, functions, lists, etc. Computer Science is a useful tool for doing real science, but not a real science 16 January 2002 CS 200 Spring 2002

Engineering? “Engineering is design under constraint… Engineering is synthetic - it strives to create what can be, but it is constrained by nature, by cost, by concerns of safety, reliability, environmental impact, manufacturability, maintainability and many other such 'ilities.' ...” William Wulf 16 January 2002 CS 200 Spring 2002

Apollo Guidance Computer, 1969 Why did they need to fit the guidance computer in the rocket? 1 Cubic Foot 16 January 2002 CS 200 Spring 2002

Measuring Computers 1 bit = smallest unit of information True or False If we start with 2 possible choices, and get 1 bit, we can eliminate one of the choices 16 January 2002 CS 200 Spring 2002

How much power? Apollo Guidance Computer: 30 720 bits of changeable memory (stored in magnetic core) Lab machines have 386 MB (RAM) 1 Byte = 8 bits 1 Kilobyte = 1024 Bytes 1 Megabyte = 1024 Kilobytes 386 MB = 3 238 002 688 bits > (* 386 1024 1024 8) 3238002688 You have 105 404 times more power than Apollo > (round (/ (* 386 1024 1024 8) 30720)) 105404 If Apollo Guidance Computer power is 1 in, you have 1.6 miles! 16 January 2002 CS 200 Spring 2002

Computing Power 1969-2002 (in Apollo Control Computer Units) Moore’s Law: computing power doubles every 18 months!

Constraints Computer Scientists Face Not like those for engineers: Cost, weight, physics, etc. If 4 Million times what people had in 1969 isn’t enough for you, wait until 2006 and you will have 32 Million times… More like those for Musicians and Poets: Imagination and Creativity Complexity of what we can understand 16 January 2002 CS 200 Spring 2002

So, what is computer science? No: its about fake things like numbers, not about observing and understanding nature Engineering No: we don’t have to deal with engineering-type constraints Liberal Art 16 January 2002 CS 200 Spring 2002

The Liberal Arts Quadrivium (4 roads) Trivium (3 roads) language numbers Trivium (3 roads) Quadrivium (4 roads) Grammar Rhetoric Logic Arithmetic Music Geometry Astronomy 16 January 2002 CS 200 Spring 2002

Liberal Arts Trivium Quadrivium Grammar: study of meaning in written expression Rhetoric: comprehension of verbal and written discourse Logic: argumentative discourse for discovering truth Arithmetic: understanding numbers Geometry: quantification of space Music: number in time Astronomy: laws of the planets and stars Yes, we need to understand meaning to describe computations Trivium Interfaces between components, discourse between programs and users Logic for controlling and reasoning about computations Yes (PS 6) Yes (PS 1, 2, 3) Quadrivium Yes, its called GEB for a reason! No, but astronomy uses CS a lot. See corrected version in Lecture 13! 16 January 2002 CS 200 Spring 2002

Bold (Possibly Untrue) Claim This course is the most consistent with the original intent of a Liberal Arts education of any course offered at UVA this semester! 16 January 2002 CS 200 Spring 2002

First Main Theme 16 January 2002 CS 200 Spring 2002

Question What is the longest word in the English language? 16 January 2002 CS 200 Spring 2002

floccipoccinihilipilification the act of rendering useless Longest word? floccipoccinihilipilification the act of rendering useless 16 January 2002 CS 200 Spring 2002

antifloccipoccinihilipilification Making Longer Words antifloccipoccinihilipilification the act of not rendering useless antifloccipoccinihilipilificationator one who does the act of not rendering useless 16 January 2002 CS 200 Spring 2002

Language is Recursive No matter what word you think is the longest word, I can always make up a longer one! word ::= anti-word If you have a word, you can always make up a new word by adding anti in front. Since the result is a word, you can make a longer new word by adding anti- in front again. 16 January 2002 CS 200 Spring 2002

Recursive Definitions We can define things in terms of themselves Recursive definitions are different from circular definitions: they eventually end with something real word ::= anti-word word ::= floccipoccinihilipilification 16 January 2002 CS 200 Spring 2002

Recursive Definitions Allow us to express infinitely many things starting with a few. This is powerful! We will see lots of examples in this course. 16 January 2002 CS 200 Spring 2002

Course Philosophy and Mechanics 16 January 2002 CS 200 Spring 2002

Staff Coach: David Evans Assistant Coaches Joined UVA in Nov 1999 Call me “Dave” or “Coach” Research areas: security, programming swarms Assistant Coaches Aaron (“Spiff”) Crickenberger Jon Erdman Dante Guanlao Stephen Liang 16 January 2002 CS 200 Spring 2002

CS200 Experiment First time offered Need to prove that CLAS students can do real Computer Science First time offered I will probably make lots of mistakes But…you get to take it in a small class 16 January 2002 CS 200 Spring 2002

Like Drinking from a Firehose It may hurt a little bit, and a lot of water will go by you, but you won’t go away thirsty! 16 January 2002 CS 200 Spring 2002

Persistence Don’t expect to understand everything the first (or second or third) time you see it Don’t worry if you don’t always understand everything completely But, make sure to understand the most important things well Notes and Problem Sets should make it clear what this is You will learn most from doing the Problem Sets 16 January 2002 CS 200 Spring 2002

Help Available Me TAs Web site: http://www.cs.virginia.edu/cs200 Office Hours: Wednesdays 2:30-3:30pm Always available by email, if I don’t reply in 24 hours, send again and complain Lunch TAs Will post staffed lab hours Web site: http://www.cs.virginia.edu/cs200 Everything goes on the web But mainly: your classmates 16 January 2002 CS 200 Spring 2002

Honor Code Classroom Pledge is Horrible! The whole point of being at a University is so you can: Learn from your classmates Learn better by teaching your classmates Sign and return the CS200 Pledge on Friday 16 January 2002 CS 200 Spring 2002

Don’t floccipoccinihilipilificate Charge Before 5pm Thursday: Email registration survey Need these to assign PS1 teams Before Friday: Read and sign CS 200 Pledge Read GEB p. 3-41 Try to produce “MU”, anyone who does gets an automatic A+ in the course Don’t floccipoccinihilipilificate Remember to take pictures! 16 January 2002 CS 200 Spring 2002