We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byLandon Carney
Modified over 3 years ago
10/09/1999© 1999 CNRI, Guido van Rossum 1 Computer Programming for Everybody Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston, Virginia, USA) firstname.lastname@example.org
10/09/1999© 1999 CNRI, Guido van Rossum 2 Our Vision A computer on every desk…? Yes! But everybody a programmer…?...Why not?!
10/09/1999© 1999 CNRI, Guido van Rossum 3 Everybody a Programmer! Computers need programming –Programming skills will become as essential as reading and writing Don't leave it to the experts –Empower users –Escape canned dialogs, wizards –Scratch your own itch –Solve your own problem, improvise
10/09/1999© 1999 CNRI, Guido van Rossum 4 But How? Isnt programming too hard? –Yes, with current languages C++ a nightmare in high schools Java not much better VB? Ha! –Yes, with current tools even professionals cuss their tools tools for beginners lacking or dumbed down
10/09/1999© 1999 CNRI, Guido van Rossum 5 Our Vision A Python on every desk Based on Python... –Next generation programming tools –New CS curriculum –New language »Initially, use a subset of Python »Improve language based on experience
10/09/1999© 1999 CNRI, Guido van Rossum 6 What is Python? OO HL rapid prototyping language –Not just a scripting language –Not just another Perl Extensible (add new modules) C/C++/Fortran/whatever Java (through JPython) Embeddable in applications
10/09/1999© 1999 CNRI, Guido van Rossum 7 Why Start With Python? Good for teaching Useful in the real world Appealing to computer scientists
10/09/1999© 1999 CNRI, Guido van Rossum 8 Why Teach Python? Easy to teach the principles –see trees through forest –structured programming –object-oriented programming –programming large systems Interesting, realistic examples –connect to real applications
10/09/1999© 1999 CNRI, Guido van Rossum 9 Python in the Real World Python prepares for Java, C, C++ Python is used in many places –Industrial Light & Magic –Infoseek, Google (crawlers) –Lawrence Livermore National Lab –Red Hat Linux –CGI scripts everywhere
10/09/1999© 1999 CNRI, Guido van Rossum 10 Academic Elegance Small set of high level data types –numbers, string, array, hash, objects –everything is an object philosophy Elegant high-level syntax –expressive and readable; intuitive indentation for grouping Good mix of static, dynamic binding
10/09/1999© 1999 CNRI, Guido van Rossum 11 Our Goals Improve CS education Improve software development tools Empower end users...and Python world domination :-)
10/09/1999© 1999 CNRI, Guido van Rossum 12 Specific Plans Teach Python to beginners –middle/high school –college freshmen (CS / non-CS) –fun examples, e.g. 3D games Develop easy programming tools –super version of IDLE (Pythons IDE) –add program analysis tools
10/09/1999© 1999 CNRI, Guido van Rossum 13 Funding DARPA funding for first task –1.5 people, 2 years May fund expanded proposal –5 people, 5 years –plus collaborations (CMU, Chicago,...) Looking for other sources –NSF? Industry? Bill Gates?
10/09/1999© 1999 CNRI, Guido van Rossum 14 Educational Plans Classroom materials –student textbook; exercises –teacher handbook; answers –develop interesting examples –also suitable for home schooling Self-study materials –slight variation on student textbook
10/09/1999© 1999 CNRI, Guido van Rossum 15 Educational Goals Fundamentals of programming –datatypes, variables, control structures –datastructures, algorithms Object-Oriented programming –classes, methods, inheritance Program structure, good style –modules, libraries; idioms, patterns
10/09/1999© 1999 CNRI, Guido van Rossum 16 The Role of Python Teach programming, not Python Python doesn't get in the way Python focuses on high level concepts rather than bits & bytes Python allows interesting examples Python paves way for Java, C++,... Python is useful in itself
10/09/1999© 1999 CNRI, Guido van Rossum 17 Software Plans Programming environment –novice-friendly –based on existing IDLE –interactive (>>> prompt) –syntax coloring, friendly messages –module editor, debugger, etc. –smart tools
10/09/1999© 1999 CNRI, Guido van Rossum 18 Software Goals Useful for novices and experts –novices become experts –everybody is an expert in some field Smart program analysis tools –Incremental semantic analyzer my ideal: works like a spell checker! –Abstraction finder –Large program structure analyzer
10/09/1999© 1999 CNRI, Guido van Rossum 19 The First Year First half of 2000 –develop first classroom materials working with teachers –develop some software (extend IDLE) Fall 2000 –first classroom exposure watch students watch teachers!
10/09/1999© 1999 CNRI, Guido van Rossum 20 Beyond the First Year Incorporate experience, feedback –improve classroom materials –improve software Widespread distribution –via Python website & community Develop advanced software Possibly changes to the language
10/09/1999© 1999 CNRI, Guido van Rossum 21 Community Involvement Like open source software process –Feedback, fixes, improvements –Develop wide range of examples –Develop specialized courses New applications Co-tutoring
23-August-1999© 1999 CNRI, Guido van Rossum August-1999© 1999 CNRI, Guido van Rossum 2 Python Track Opening Words Guido van Rossum
28 May, 1999Le Copyright © 1999 CNRI, Guido van Rossum 1 Le Python à Paris Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston,
Addition 1’s to 20.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Overview of Python Eric Finkenbiner David J. Stucki.
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
0 - 0.
Python Whats in a name? Snake logos and mascot notwithstanding, its named after Monty Pythons Flying Circus Humor-impaired can safely.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
1 Unit 1 Kinematics Chapter 1 Day
TEACHING PROGRAMMING BY ITERATIVE DEEPENING Dr. Mark Lee | School of Computer Science, University of Birmingham
CSTA K-12 Computer Science Standards (rev 2011)
25 seconds left…...
Why I Invented Python EuroPython – June 27, 2005 Guido van Rossum Elemental Security, Inc.
Remote Educational Programming Of Robots (REPOR) Tord Fauskanger Aurelie Aurilla Bechina Arntzen Dag Samuelsen Buskerud University College.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Computer Programming for Everybody Jeffrey Elkner National Science Foundation May 11, 2004 A Teacher's Journey into Free Software, Computer.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Problem Solving and Algorithm Design
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Introduction to Computer Science I Topic 0: Introduction.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Classroom Auxiliary: is, am, & are. You have ‘3 Seconds’ to answer each question.
Jonathan Huelman CSC 415 – Programming Languages
Chapter 6 Writing a Program
1 Classes and Objects in Java Basics of Classes in Java.
Gary MarsdenSlide 1University of Cape Town Designing usable programming languages.
Intro to Python Programming (Introduction) Pamela A. Moore Zenia C. Bahorski Eastern Michigan University March 7, 2012 A language to swear by, not at.
MULTIPLYING MONOMIALS TIMES POLYNOMIALS (DISTRIBUTIVE PROPERTY)
We will resume in: 25 Minutes.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Intro to Python Programming (Part 1) Pamela Moore Zenia Bahorski Eastern Michigan University March 16, 2011 A language to swear by, not at.
Python Jordan Miller and Lauren Winkleman CS 311 Fall 2011.
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
Ernst Oberortner Vienna University of Technology.
Test B, 100 Subtraction Facts
Computer Science 111 Fundamentals of Programming I Overview of Programming.
MULTIPLICATION EQUATIONS 1. SOLVE FOR X 3. WHAT EVER YOU DO TO ONE SIDE YOU HAVE TO DO TO THE OTHER 2. DIVIDE BY THE NUMBER IN FRONT OF THE VARIABLE.
Chapter 11 Design, prototyping and construction 1.
Dr. Craig Campbell St. Edward’s University Online learning and teaching.
Learning to Program With Alice
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
director of PythonLabs at Zope Corporation
© 2017 SlidePlayer.com Inc. All rights reserved.