How to Think Like a Computer Scientist Learning with Python by Allen Downey, Jeff Elkner and Chris Meyers. This book is now available for sale at Lulu.com. How to Think... is an introduction to programming using Python, one of the best languages for beginners. How to Think... is a Free Book available under the GNU Free Documentation License. Please send suggestions, corrections and comments about the book to feedback{at}thinkpython{dot}com. Download The book is available in a variety of electronic formats: Precompiled copies of the book are available in PDF and Postscript . Translations Here are some translations of the book into other (natural) languages: Spanish translation by Gregorio Inda. Other Free Books by Allen Downey are available from Green Tea Press. If you are using this book and would like to make a contribution to support my work, please consider making a donation toward my web hosting bill by clicking on the icon below.
The Python Tutorial — Python v3.0.1 documentation Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms. The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python Web site, and may be freely distributed. The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation. The Python interpreter is easily extended with new functions and data types implemented in C or C++ (or other languages callable from C). This tutorial introduces the reader informally to the basic concepts and features of the Python language and system.
Joe's Blog: An intro to modern OpenGL. Chapter 1: The Graphics Pipeline An intro to modern OpenGL. Chapter 1: The Graphics Pipeline updated April 5, 2010 17:12:05 PDT Table of Contents | Chapter 2 » OpenGL has been around a long time, and from reading all the accumulated layers of documentation out there on the Internet, it's not always clear what parts are historic and what parts are still useful and supported on modern graphics hardware. Update: Join the Reddit discussion. What is OpenGL? Another recent development has been the adoption of general purpose GPU (GPGPU) libraries, including nVidia's CUDA and Khronos' OpenCL. For these tutorials, I'm going to assume you're already a programmer and that you know C, but that you haven't necessarily seen OpenGL or done graphics programming before. Where do I get OpenGL, GLUT, and GLEW? OpenGL comes standard in some form or another on MacOS X, Windows, and most Linux distributions. To install GLUT and GLEW, look for the binary packages on their respective sites. The graphics pipeline The vertex and element arrays
Non-Programmer's Tutorial for Python 3/Print version All example Python source code in this tutorial is granted to the public domain. Therefore you may modify it and relicense it under any license you please. Since you are expected to learn programming, the Creative Commons Attribution-ShareAlike license would require you to keep all programs that are derived from the source code in this tutorial under that license. Since the Python source code is granted to the public domain, that requirement is waived. This tutorial is more or less a conversion of Non-Programmer's Tutorial for Python 2.6. The Non-Programmers' Tutorial For Python 3 is a tutorial designed to be an introduction to the Python programming language. If you have programmed in other languages I recommend using Python Tutorial for Programmers written by Guido van Rossum. If you have any questions or comments please use the discussion pages or see Authors page for author contact information. Thanks go to James A. Other resources First things first Hello, World! Halt! Mac users Output:
Add-on Developer Hub Getting started with Python: Tips, Tools and Resources - Lesson in Programming 1. MIT 6.00x: Introduction to Computer Science and Programming 6.00x is an introduction to using computation to solve real problems. The course is aimed at students with little or no prior programming experience who have a desire to understand computational approaches to problem solving. This is an amazing course! This will give you a better overview and depth than any other resource available. 2. This course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. 3. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.
Drawing Graphics with Canvas - MDC Doc Center Most of this content (but not the documentation on drawWindow) has been rolled into the more expansive Canvas tutorial, this page should probably be redirected there as it's now redundant but some information may still be relevant. Introduction With Firefox 1.5, Firefox includes a new HTML element for programmable graphics. <canvas> creates a fixed size drawing surface that exposes one or more rendering contexts. The 2D Rendering Context A Simple Example To start off, here's a simple example that draws two intersecting rectangles, one of which has alpha transparency: function draw() { var ctx = document.getElementById('canvas').getContext('2d'); ctx.fillStyle = "rgb(200,0,0)"; ctx.fillRect (10, 10, 55, 50); ctx.fillStyle = "rgba(0, 0, 200, 0.5)"; ctx.fillRect (30, 30, 55, 50);} draw(); The draw function gets the canvas element, then obtains the 2d context. The fillRect, strokeRect, and clearRect calls render a filled, outlined, or clear rectangle. Using Paths Graphics State Additional Features
Second Try: Sentiment Analysis in Python : Andy Bromberg Introduction After my first experiments with using R for sentiment analysis, I started talking with a friend here at school about my work. Jackson and I decided that we’d like to give it a better shot and really try to get some meaningful results. After a lot of research, we decided to shift languages to Python (even though we both know R). We made this shift because Python has a number of very useful libraries for text processing and sentiment analysis, plus it’s easy to code in. We also met with Christopher Potts, a professor of linguistics here at Stanford. If you’d like to jump straight to seeing the full code, you can head over to the GitHub repository. The Setup One of the resources we got a lot of mileage out of was StreamHacker, especially the articles on basic techniques, precision and recall. and eliminating features. Another great discovery was the Natural Language ToolKit (NLTK). During our first attempt, we basically just tried to convert my program in R into Python. Addendum
open source framework, web application software development | Flex - Adobe The Adobe USA site has been optimized for users within the United States. If you live outside the U.S., we recommend that you visit your local site for the most relevant information, including pricing, promotions, and local events. United States Canada - English Your country selection will be remembered for future visits. You can change this selection at any time using the country selector at the bottom of the page. Le site web américain d'Adobe a été optimisé pour les utilisateurs résidant aux États-Unis. Canada - Français Le pays choisi sera enregistré pour vos prochaines visites. View complete list of countries ›
Python Course: Tutorial, Reference and Advanced Topics Properties - The Python Saga - Part 3 Properties come out of a tired programming language genesis. In the beginning, there were structs. The trouble with structs was that an opaque data structure could not programmatically monitor or intercept access and mutation of its member data. So that's not a big deal; we could solve the problem with classes. The best practice to avoid programming yourself into a corner was to never expose a datum; you would write accessor and mutator functions, whether you needed them at the moment or not. The idea of managed properties came along eventually in various languages (Python, C#, some implementations of JavaScript, and recent versions of [C]). Lets observe this design shift in Python. class Foo(object): def __init__(self); self.bar = 10 Here's some other fellow's code that uses your class: foo = Foo() foo.bar = 20 print foo.bar del foo.bar So there you have it. Now we have a Foo class that transparently maintains the invariant that "bar" will always be half of "baz".
Online Python Tutor - Learn programming by visualizing code execution