Intermediate Python Workshop/Projects: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Jesstess
No edit summary
imported>Jesstess
No edit summary
 
(26 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>
* [[Scrabble challenge]]

** <b>Project</b>: implement a scrabble solver that will tell you the best Scrabble words given a particular Scrabble rack.
== Write it from scratch ==
** <b>Skills you'll practice</b>:

*** breaking down a problem and solving it in Python 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.
*** command line option parsing

*** reading from files
<table cellpadding="10">
*** working with dictionaries and for loops
<tr>
* [[Twitter]]
<td>
** <b>Project</b>: 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.
[[File:Scrabble.jpg|150px]]
** <b>Skills you'll practice</b>:
</td>
*** Using an API
<td>
*** command line option parsing
<font size="+1">[[Scrabble challenge]]</font>
*** reading other people's code
* <b>Project</b>: implement a scrabble solver that will tell you the best Scrabble words given a particular Scrabble rack. Great for cheating at Words with Friends!
*** working with lists and iteration
* <b>Skills you'll practice</b>:
** breaking down a problem and solving it in Python from scratch
** command line option parsing
** reading from files
** working with dictionaries and for loops
</td>
</tr>
<tr>
<td>
[[File:Flashcards.jpg|150px]]
</td>
<td>
<font size="+1">[[Flash card challenge]]</font>
* <b>Project</b>: implement a flash card quizzer from scratch.
* <b>Skills you'll practice</b>:
** 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
</td>
</tr>
</table>

== 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!

<table cellpadding="10">
<tr>
<td>
[[File:Twitter.png|150px]]
</td>
<td>
<font size="+1">[[Twitter]]</font>
* <b>Project</b>: 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.
* <b>Skills you'll practice</b>:
** using an API
** command line option parsing
** reading other people's code
** working with lists and iteration
</td>
</tr>
<tr>
<td>
[[File:Colorwall_matrix.png|150px]]
</td>
<td>
<font size="+1">[[ColorWall]]</font>
* <b>Project</b>: Program graphical effects for a ColorWall.
* <b>Skills you'll practice</b>:
** using functions and classes
** reading other people's code
** working with time and randomness
** 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>
</tr>
</table>

== Online tutorials ==

<table cellpadding="10">
<tr>
<td>
[[File:Django_pony.jpg|150px]]
</td>
<td>
<font size="+1">[[Make a website with Django]]</font>
* <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 ==

<table cellpadding="10">
<tr>
<td>
[[File:Money.jpg|150px]]
</td>
<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 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