Prezi

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in the manual

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Why Python Makes a Good First Language

A Presentation for PyCarolinas 2012, Sunday, October 21
by Barry Peddycord III on 17 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Why Python Makes a Good First Language

PyCarolinas, Chapel Hill, NC, Oct 21 2012 Why Python Makes a Good First Language Barry Peddycord III http://isharacomix.org
@isharacomix No research was done in the preparation of this talk!

This is an opinionated discussion based on my personal observations and biases.

That being said, I'm not going to make up numbers or figures. Assume that if it isn't cited, it's either mine or common knowledge.

THIS TALK COMES WITH ABSOLUTELY NO WARRANTY, EXPRESSED OR IMPLIED, ETC ETC ETC The Fine Print #pyshara Intrinsic Reasons Pedagogical Reasons Who actually learns a language from a lecture? Public Static Void What? What we teach How we teach it Object-Orientation Class-File Parity Function Definitions BOILERPLATE CODE!!! Access Control Static Memory Getting started with Python requires *very* little scaffolding.

It's possible to learn basic concepts without having to recursively understand other concepts along the way.

Python does not needlessly introduce concepts before students are prepared to learn them. Python is Dependency-Light Why am I picking on Java?

Java is the "default" CS1 language[1]

Used in AP Computer Science since 2003, replacing C++ Works cited
1: Zelle, T. Python as a First Language. http://mcsp.wartburg.edu/zelle/python/python-first.html
2: Robins, A. (2010). Learning edge momentum: a new account of outcomes in CS1. Computer Science Education, 20(1), 37–71.
Other Features that make Python nice:
Classes/Functions are not compulsory
REPL and built-in 'help()' function
Easy to use packages
SDL, OpenGL, Django
Zen of Python
It's a "real language" (YouTube)
It was originally designed to teach! Just-in-Time
Learning Principles
Students should develop the intuition behind programming on their own.
Lecture should be reserved for formalizing that intuition. When students find a solution on their own, they:
Internalize the problems they face
Derive greater satisfaction from finding the answer
Retain the knowledge! Humanities Teachers Get It!
Students in their classes are novices, yet still manage to learn how to make websites and games:
JavaScript
AppInventor
Unity3D Intro CS courses feature a bimodal curve[2], primarily due to having students...
who already know how to code or pick it up right away
who get overwhelmed and can't grasp it This is a more authentic way of teaching programming as it aligns more with the way that professionals learn code in real life! ... and Python Supports this!
See the full transcript