Difference between revisions of "Intermediate Python Workshop/Projects"

From OpenHatch wiki
Jump to navigation Jump to search
imported>Jesstess
imported>Jesstess
 
(17 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 ==
   
 
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.
 
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.
   
<table>
+
<table cellpadding="10">
 
<tr>
 
<tr>
 
<td>
 
<td>
Line 39: Line 41:
 
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!
 
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!
   
<table>
+
<table cellpadding="10">
 
<tr>
 
<tr>
 
<td>
 
<td>
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 66: Line 68:
 
** working with time and randomness
 
** working with time and randomness
 
** working with dictionaries and for loops
 
** working with dictionaries and for loops
  +
</td>
  +
</tr>
  +
<tr>
  +
<td>
  +
[[File:jeopardy_board.gif|150px]]
  +
</td>
  +
<td>
  +
<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>Skills you'll practice</b>:
  +
** the SQL database query language
  +
** how to get data from a database in Python
  +
</td>
  +
</tr>
  +
<tr>
  +
<td>
  +
[[File:grid.png|150px]]
  +
</td>
  +
<td>
  +
<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>Skills you'll practice</b>:
  +
** using the matplotlib Python plotting library to analyze data and generate graphs
  +
** 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 72: Line 112:
 
== Online tutorials ==
 
== Online tutorials ==
   
  +
<table cellpadding="10">
* [[Make a website with Django]]
 
  +
<tr>
** <b>Project</b>: Work through the official Django tutorial, where you'll create an interactive poll application.
 
  +
<td>
** <b>Skills you'll practice</b>:
 
  +
[[File:Django_pony.jpg|150px]]
*** using the Django web application framework
 
  +
</td>
*** writing classes and thinking about inheritance
 
  +
<td>
*** using Python to interact with a database
 
 
<font size="+1">[[Make a website with Django]]</font>
*** thinking about how web servers and clients interact
 
 
* <b>Project</b>: Work through the official Django tutorial, where you'll create an interactive poll application.
  +
* <b>Skills you'll practice</b>:
 
** 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
  +
</td>
  +
</tr>
  +
</table>
   
  +
<!--
 
== In-person tutorials ==
 
== In-person tutorials ==
   
  +
<table cellpadding="10">
* Object Oriented Python
 
  +
<tr>
** <b>Project</b>: Create a mini-banking system with users and accounts.
 
  +
<td>
** <b>Skills you'll practice</b>:
 
  +
[[File:Money.jpg|150px]]
*** understanding classes and objects
 
  +
</td>
*** building an entire program
 
  +
<td>
  +
<font size="+1">[[Object-oriented Python]]</font>
 
* <b>Project</b>: Create a mini-banking system with users and accounts.
  +
* <b>Skills you'll practice</b>:
 
** understanding classes and objects
 
** building an entire program
  +
</td>
  +
</tr>
  +
</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.jpg

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

Flashcards.jpg

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.png

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 matrix.png

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

Jeopardy board.gif

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

Grid.png

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

Snakes.png

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

Django pony.jpg

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