Unformatted text preview:

CS 655: Programming Languages Scheming Schemers, Mocking Mockingbirds, and Objecting ObjectivelyMenuWhat is Computer Science?PowerPoint PresentationSlide 5Slide 6What is the difference between Euclid and Ada?Geometry vs. Computer ScienceNext: My Goals for the CourseGoal #1Imperative KnowledgeGoal #2Graduate StudentsHence:EvaluationWays to get an A in CS 655Questions Next: Goals 3-8Goal #3What’s the difference?Goal #4Goal #5Goal #6Goal #7Goal #8DisclaimerQuestions Next: What is a Programming Language?What is a language?Nerdy Linguist’s DefinitionProgramming LanguageSome other definitionsWhat makes a PL important?Slide 32Slide 33Changes How Programmers Think Influences other LanguagesLanguages we will focus onLanguage Design Art and EngineeringLanguage Design as EngineeringExample: Is assignment an expression?C’s main design requirementLanguage Design as ArtInteraction of Art & Engineering Example: CChargeCS 655: Programming LanguagesScheming Schemers, Mocking Mockingbirds, and Objecting ObjectivelyLecture 1:Wherefore CS655?The use of <???> cripples the mind; its teaching should, therefore, be regarded as a criminal offence. Edsger W.Dijkstra, 1975David Evanshttp://www.cs.virginia.edu/~evansCS655: Programming LanguagesUniversity of VirginiaComputer Science18 Jan 2001 CS 655: Lecture 1 2Menu•What is Computer Science?•Goals for the Course•Programming Languages–Design TradeoffsSend registration email by Sunday18 Jan 2001 CS 655: Lecture 1 3What is Computer Science?18 Jan 2001 CS 655: Lecture 1 4Let 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.18 Jan 2001 CS 655: Lecture 1 5For a unit is not left, otherwise AB and CD would be relatively prime, which is contrary to the hypothesis. Therefore some number is left which measures the one before it. Now let CD, measuring BE, leave EA less than itself, let EA, measuring DF, leave FC less than itself, and let CF measure AE. Since then, CF measures AE, and AE measures DF, therefore CF also measures DF. But it measures itself, therefore it also measures the whole CD. But CD measures BE, therefore CF also measures BE. And it also measures EA, therefore it measures the whole BA. But it also measures CD, therefore CF measures AB and CD. Therefore CF is a common measure of AB and CD.I say next that it is also the greatest. If CF is not the greatest common measure of AB and CD, then some number G, which is greater than CF, measures the numbers AB and CD. Now, since G measures CD, and CD measures BE, therefore G also measures BE. But it also measures the whole BA, therefore it measures the remainder AE. But AE measures DF, therefore G also measures DF. And it measures the whole DC, therefore it also measures the remainder CF, that is, the greater measures the less, which is impossible. Therefore no number which is greater than CF measures the numbers AB and CD. Therefore CF is the greatest common measure of AB and CD.Euclid’s Elements, Book VII, Proposition 2 (300BC)18 Jan 2001 CS 655: Lecture 1 6By 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 183018 Jan 2001 CS 655: Lecture 1 7What is the difference between Euclid and Ada?“It depends on what your definition of ‘is’ is.” Bill Gates(speaking at Microsoft’s anti-trust trial)18 Jan 2001 CS 655: Lecture 1 8Geometry 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.18 Jan 2001 CS 655: Lecture 1 9Next: My Goals for the Course18 Jan 2001 CS 655: Lecture 1 10Goal #1Make this the first real Computer Science most of you have taken.18 Jan 2001 CS 655: Lecture 1 11Imperative Knowledge•The core of Computer Science is describing and reasoning about computations•This class is about:–Tools for describing computations (programming languages)–Tools for reasoning about those tools (mostly formal semantics)18 Jan 2001 CS 655: Lecture 1 12Goal #2Not waste your time.18 Jan 2001 CS 655: Lecture 1 13Graduate Students•Should make research their highest priority (after sleeping, eating, and maintaining sanity and happiness)•Should not spend time on courses except when it:–Makes them better researchers–Is of intrinsic interest and value•Should be mature enough to decide what it is worthwhile to spend time on18 Jan 2001 CS 655: Lecture 1 14Hence:•Everything in this class is optional–Except Problem Set 0: Registration Survey•You should not take this course unless you believe most of the material we will cover is either:–Relevant to your research–Intrinsically cool and interesting(Note: all of it is both)18 Jan 2001 CS 655: Lecture 1 15Evaluation•I still need to grade you, of course...•To get an A in this course, you need to convince me of your deep understanding of the most important course material.18 Jan 2001 CS 655: Lecture 1 16Ways to get an A in CS 6551. Do well on the assignmentsor2. Do well on an oral final examor3. Produce a quality research paper on a relevant topicor4. Demonstrate your understanding through outstanding class


View Full Document

UVA CS 655 - Programming Languages

Download Programming Languages
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Programming Languages and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Programming Languages 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?