 2003 Prentice Hall, Inc. All rights reserved. 1 Dijkstra Letter Quotes...the quality of programmers is a decreasing function of the density of go to.

Slides:



Advertisements
Similar presentations
Programming for Beginners
Advertisements

Word List A.
Introduction to Unit Testing Svetlin Nakov Telerik Corporation
March 2009 Word of Life “Whatever you ask the Father in my name he will give you” (Jn 16:23).
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 2 - Control Structures Outline 2.1 Introduction 2.2 Algorithms 2.3 Pseudocode 2.4 Control Structures.
Facebook Christians Computers, Social Networks, the Internet and Christians.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
Overview of Programming Paradigms
Introduction to Computers and Programming Lecture 5 New York University.
Lecturer: Fintan Costello Welcome to Hdip 001 Introduction to Programming.
Introduction to Computers and Programming Lecture 5 Boolean type; if statement Professor: Evan Korth New York University.
Lecture 36: Programming Languages & Memory Management Announcements & Review Read Ch GU1 & GU2 Cohoon & Davidson Ch 14 Reges & Stepp Lab 10 set game due.
CS31: Introduction to Computer Science I Discussion 1A 4/2/2010 Sungwon Yang
1 Today More on random testing + symbolic constraint solving (“concolic” testing) Using summaries to explore fewer paths (SMART) While preserving level.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
Visualization. CS351 - Software Engineering (AY2004)2 Program visualization Debugging programs without the aid of support tools can be extremely difficult.
Concept of Computer Programming November 2, 2011.
1 ENG236: Introduction (1) Rocky K. C. Chang THE HONG KONG POLYTECHNIC UNIVERSITY.
TEACHING PROGRAMMING BY ITERATIVE DEEPENING Dr. Mark Lee | School of Computer Science, University of Birmingham
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
1 Purposes: Learn JAVA 1.What is programming languages 2.How to solve problems by computers 1.a CS major student, get a degree in BS 2.a programmer  system.
Binary There are only 10 types of people in the world, those who understand binary and those who don't.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Lesson Planning for Learning Best Practices ~ 2014.
CS 106 Introduction to Computer Science I 01 / 25 / 2010 Instructor: Michael Eckmann.
ICAPRG301A Week 4Buggy Programming ICAPRG301A Apply introductory programming techniques Program Bugs US Navy Admiral Grace Hopper is often credited with.
1 Welcome to CS 362 Applied Software Engineering What happens after (and during) design? Testing, debugging, maintaining programs Lessons for software.
What does your future hold? How will you achieve that ideal picture of your future?
Department of Computer Science, York University Slides based on Object Oriented Software Construction 16/10/2015 4:08 PM 0 COSC3311 – Software Design Gotos,
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
Sharda University P. K. Mishra (Asst.Prof) Department of Computer Science & Technology Subject Name: Programming Using C Sub Code: CSE-106 Programming.
Problem of the Day  Why are manhole covers round?
Improving Communication
 Positive thinking  Humor, Problem- Solving, Tough Thinking  Visualization  Tough Believing.
Debugging Strategies from Software Carpentry. Agan's Rules Many people make debugging harder than it needs to be by: Using inadequate tools Not going.
Web-based Application Development Lecture 11 February 14, 2006 Anita Raja.
© Calvin College, For a number of years I have been familiar with the observation that the quality of programmers is a decreasing function of the.
Dijkstra’s Algorithm Lauren McLaughlin - 11/7/06.
1 DEVELOPING GROWTH MINDSET IN OUR STUDENTS AND OURSELVES Whittney Smith, Ed.D. MINDSET.
© Trygve Reenskaug 2008UMLChina Slide 1 20 November 2015 The Common Sense of Object Oriented Programming Trygve Reenskaug Department of Informatics University.
Spring 2012 CS 214 Programming Languages. Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project.
G There's an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how.
Teachers use of the classroom environment through enhanced environmental awareness Dr Sandra Horne Martin University of Central England
Introduction to programming Carl Smith National Certificate Year 2 – Unit 4.
CRE Programming Club - Class 2 Robert Eckstein and Robert Heard.
COGNITIVE DEVELOPMENT Experiment 1: I am about to show you a picture. When you see it, ask yourself what it is.
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
CS 106 Introduction to Computer Science I 01 / 22 / 2007 Instructor: Michael Eckmann.
How to execute Program structure Variables name, keywords, binding, scope, lifetime Data types – type system – primitives, strings, arrays, hashes – pointers/references.
Time Management By Josh Bregar Intro To Career Education - CRED-CE Mohawk College.
Compilers and Interpreters
FORTRAN Boz. Before FORTRAN Machine language and assembly code. Programmers had many problems to overcome.  Lack of instruction sets  Primitive stream.
CUSTOMER RELATIONS: A Compelling Element for Hospital Pharmacy Service DNA December 10, 2010 Medical City.
Substance and Property Dualism Quick task: Fill in the gaps activity Quick task: Fill in the gaps activity ?v=sT41wRA67PA.
Debugging and Testing Hussein Suleman March 2007 UCT Department of Computer Science Computer Science 1015F.
C++ Programming Basics C++ Lecture 1 Stacy MacAllister.
Edsger W. Dijkstra. ● Born May 11, 1930 in Rotterdam ● Graduated from Leiden in 1956 in Mathematics and Physics ● First employed by Mathematisch Centrum,
Evolution and History of Programming Languages
In Introduction to Object Oriented Programming in C++
Introduction to programming
CSCI-235 Micro-Computer Applications
9/17/2018 Building a MOOC: Some Practical Tidbits from a Do-It-Yourselfer Dan Grossman J. Ray Bowen Professor for Innovation in Engineering Education.
Debugging CSCE 121 J. Michael Moore.
Programming Languages 2nd edition Tucker and Noonan
Who am I?.
Intro to digital technology
Disciplines Of A Superior Programmer
Structured Programming
Go To Statement Considered Harmful
Presentation transcript:

 2003 Prentice Hall, Inc. All rights reserved. 1 Dijkstra Letter Quotes...the quality of programmers is a decreasing function of the density of go to statements in the programs they produce....the go to statement should be abolished from all "higher level" programming languages (i.e. everything except, perhaps, plain machine code). we should... shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible. The go to statement as it stands is just too primitive; it is too much an invitation to make a mess of one's program Go To Statement Considered HarmfulGo To Statement Considered Harmful, Communications of the ACM, Vol. 11, No. 3, March 1968, pp Edsger W. Dijkstra

 2003 Prentice Hall, Inc. All rights reserved. 2 More Dijkstra Quotes  "Computer Science is no more about computers than astronomy is about telescopes."  "A Programming Language is a tool that has profound influence on our thinking habits."  "The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague."  "Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code."  "Program testing can best show the presence of errors but never their absence."

 2003 Prentice Hall, Inc. All rights reserved. 3 Even More Dijkstra Quotes FORTRAN --"the infantile disorder"--, by now [1975] nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use. It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. With respect to COBOL you can really do only one of two things: fight the disease or pretend that it does not exist. Most Computer Science Departments have opted for the latter easy way out. Dijkstra Links

 2003 Prentice Hall, Inc. All rights reserved. 4 Deep Thoughts, by Edsger W. Dijkstra If debugging is the process of removing bugs then programming must be the process of putting them in.

 2003 Prentice Hall, Inc. All rights reserved. 5 Deep Thoughts, by Edsger W. Dijkstra "I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself: 'Dijkstra would not have liked this', well that would be enough immortality for me." no sir, I don't like it