Intermediate Python Workshop/Projects: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Jesstess
imported>Jesstess
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<p style="background-color: #D7E0FA;"><font size="+2">Short link for this page: http://bit.ly/intermediate-python-projects</font></p>

== Write it from scratch ==
== Write it from scratch ==


Line 60: Line 62:
<td>
<td>
<font size="+1">[[ColorWall]]</font>
<font size="+1">[[ColorWall]]</font>
* <b>Project</b>: Program graphical effects for a ColorWall using the Tkinter GUI toolkit.
* <b>Project</b>: Program graphical effects for a ColorWall.
* <b>Skills you'll practice</b>:
* <b>Skills you'll practice</b>:
** using functions and classes
** using functions and classes
Line 73: Line 75:
</td>
</td>
<td>
<td>
<font size="+1">Databases and Jeopardy</font>
<font size="+1">[[JeopardyDatabase| Databases and Jeopardy]]</font>
* <b>Project</b>: learn how to get data from a database in Python while writing parts of a Jeopardy game, using real Jeopardy data!
* <b>Project</b>: learn how to get data from a database in Python while writing parts of a Jeopardy game, using real Jeopardy data!
* <b>Skills you'll practice</b>:
* <b>Skills you'll practice</b>:
Line 85: Line 87:
</td>
</td>
<td>
<td>
<font size="+1">Plotting data with matplotlib</font>
<font size="+1">[[Matplotlib| Plotting data with matplotlib]]</font>
* <b>Project</b>: learn how to plot data with the matplotlib plotting library. Ditch Excel forever!
* <b>Project</b>: learn how to plot data with the matplotlib plotting library. Ditch Excel forever!
* <b>Skills you'll practice</b>:
* <b>Skills you'll practice</b>:
** using the matplotlib Python plotting library to analyze data and generate graphs
** using the matplotlib Python plotting library to analyze data and generate graphs
** reading data from a file
** reading data from a file
</td>
</tr>
<tr>
<td>
[[File:Snakes.png|150px]]
</td>
<td>
<div id="pygame"></div>
<font size="+1">[[Snakes_Pygame| Make a graphical game with Pygame]]</font>
* <b>Project</b>: Add features to a Snakes game built in Pygame.
* <b>Skills you'll practice</b>:
** using the Pygame library
** using an event loop to make action happen
** manipulating images and sound in Python
</td>
</td>
</tr>
</tr>
Line 109: Line 125:
** using Python to interact with a database
** using Python to interact with a database
** thinking about how web servers and clients interact
** thinking about how web servers and clients interact
</td>
</tr>
<tr>
<td>
[[File:Pacman.gif|150px]]
</td>
<td>
<font size="+1">Make a graphical game with Pygame</font>
* <b>Project</b>: Work through a Pygame tutorial in which you'll recreate graphical games like Tetris.
* <b>Skills you'll practice</b>:
** using the Pygame library
** using an event loop to make action happen
** manipulating images and sound in Python
</td>
</td>
</tr>
</tr>
</table>
</table>


<!--
== In-person tutorials ==
== In-person tutorials ==


Line 134: Line 138:
</td>
</td>
<td>
<td>
<font size="+1">Object Oriented Python</font>
<font size="+1">[[Object-oriented Python]]</font>
* <b>Project</b>: Create a mini-banking system with users and accounts.
* <b>Project</b>: Create a mini-banking system with users and accounts.
* <b>Skills you'll practice</b>:
* <b>Skills you'll practice</b>:
Line 142: Line 146:
</tr>
</tr>
</table>
</table>
!-->

Latest revision as of 12:56, 25 May 2013

Short link for this page: http://bit.ly/intermediate-python-projects

Write it from scratch

Practice solving problems in Python from scratch. These projects will guide you through breaking down the problem into steps and help you check your work along the way.

Scrabble challenge

  • Project: implement a scrabble solver that will tell you the best Scrabble words given a particular Scrabble rack. Great for cheating at Words with Friends!
  • Skills you'll practice:
    • breaking down a problem and solving it in Python from scratch
    • command line option parsing
    • reading from files
    • working with dictionaries and for loops

Flash card challenge

  • Project: implement a flash card quizzer from scratch.
  • Skills you'll practice:
    • breaking down a problem and solving it in Python from scratch
    • command line option parsing
    • reading from files
    • working with dictionaries and while loops
    • working with randomness

Self-directed projects

Practice the language and practical Python applications through bite-sized projects where we've written the scaffolding for you so you can get to the fun stuff quickly!

Twitter

  • Project: Use the Twitter API to write the basic parts of a Twitter client. See what your friends are tweeting, get trending topics, search tweets, and more.
  • Skills you'll practice:
    • using an API
    • command line option parsing
    • reading other people's code
    • working with lists and iteration

ColorWall

  • Project: Program graphical effects for a ColorWall.
  • Skills you'll practice:
    • using functions and classes
    • reading other people's code
    • working with time and randomness
    • working with dictionaries and for loops

Databases and Jeopardy

  • Project: learn how to get data from a database in Python while writing parts of a Jeopardy game, using real Jeopardy data!
  • Skills you'll practice:
    • the SQL database query language
    • how to get data from a database in Python

Plotting data with matplotlib

  • Project: learn how to plot data with the matplotlib plotting library. Ditch Excel forever!
  • Skills you'll practice:
    • using the matplotlib Python plotting library to analyze data and generate graphs
    • reading data from a file

Make a graphical game with Pygame

  • Project: Add features to a Snakes game built in Pygame.
  • Skills you'll practice:
    • using the Pygame library
    • using an event loop to make action happen
    • manipulating images and sound in Python

Online tutorials

Make a website with Django

  • Project: Work through the official Django tutorial, where you'll create an interactive poll application.
  • Skills you'll practice:
    • using the Django web application framework
    • writing classes and thinking about inheritance
    • using Python to interact with a database
    • thinking about how web servers and clients interact