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 2 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)
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
10/10/1999© 1999 CNRI, Guido van Rossum 1 Python Workshop Guido van Rossum CNRI (Corporation for National Research Initiatives, Reston, Virginia,
® ® Why Design Another Language? Python UK & ACCU Spring Conference Oxford - April 2, 2003 Guido van Rossum Director of PythonLabs at Zope Corporation.
Chapters 1 & 2 Programming and Programs Bjarne Stroustrup
What's New in Python? "Not your usual list of new features" Stanford CSL Colloquium, October 29, 2003; BayPiggies, November 13, 2003 Guido van Rossum Elemental.
WRITING NEXT Sara Maughan. Forward The human instinct to express our feelings, thoughts and experiences in a lasting form has been around for a very long.
Python: Building an Open Source Project and Community SDForum Distinguished Speaker Series, 2/17/05 Guido van Rossum Elemental Security,
Python Guido van Rossum director of PythonLabs at Zope Corporation
Why I Invented Python EuroPython – June 27, 2005 Guido van Rossum Elemental Security, Inc.
Python Whats in a name? Snake logos and mascot notwithstanding, its named after Monty Pythons Flying Circus Humor-impaired can safely.
Transforming Engineering Education The Road Ahead 2/8/2014 Moshe Kam, IEEE Transforming Engineering Education Program Chair Drexel University.
Chapter 6 Writing a Program Bjarne Stroustrup
The following slides are based on information gained from the two below-listed sources. Some words, phrases, and complete sentences have been borrowed.
© 2003, 2004, 2005 Bedarra Research Labs. All rights reserved. Some of My Best Friends Still Use Objects?! Objects are too hard for normal people, including.
Salahaddin University College of Languages Applied Linguistics Center Communicative Methods of TEFL Chapter Summary (Chs. 4 and 17) by Ferhad Mehmud As’ad.
Software ideals and history Bjarne Stroustrup
10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure Generations of Programming Languages 10.4.
Chapter 7 – Design and Implementation 1Chapter 7 Design and implementation Note: These are a modified version of Ch 7 slides available from the authors.
30-Sep-14Advanced Programming Spring 2002 Software Models Henning Schulzrinne.
State of the Python Union OSCON, July 24, 2002 Guido van Rossum Director of PythonLabs at Zope Corporation
1 Literacy Instruction in the Content Areas Getting to the Core of Middle and High School Improvement A report by Rafael Heller and Cynthia Greenleaf published.
1 Pragmatic Qualitative Methods Dr.Lesleyann Morgan.
M. Armoni 1, T. Benaya 2, D. Ginat 3, E. Zur 2 1 Weizmann Institute of Science 2 The Open University of Israel 3 Tel-Aviv University.
Prof. Dr. Mohamed M. El Hadi Sadat Academy for Management Sciences M. M. El Hadi 1 Intelligent Tutoring Systems.
21 Steps to 1 to 1 Success The Netbook Project Bruce Dixon, Director ideaslab Strategic Planning for Technology-rich Learning Victorian Department of Education.
READY TO ENGINEER C onceive- D esign- I mplement - O perate: An Innovative Framework for Engineering Education Edward Crawley July 2006.
Expanding your Expertise as a Social Science Researcher.
1 The ACM K-12 Computer Science Curriculum: Dissemination, Implementation, and Sustainability Fadi P. Deek
Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools 1.
Kuali Student Overview February What is Kuali Student? Product Vision Who is Kuali Student? When is Kuali Student being delivered? How.
© 2016 SlidePlayer.com Inc. All rights reserved.