Vega had nailed a "Starting Python" thread. I though there should be a place for proposing intermediate and advanced projects so that one can have something to do to improve their skills more. Especially for those who don't do alot of math enough to get the challenges of project eura :)

Make a cross platform Media player with Player list editor as well as normal button. User should be able to make playlists and edit them as well. Use your favorite GUI toolkit, SQLite3 module and multimedia framework like Snack Audio or Pyglet

Implement a custom importer in conformance with PEP 302 utilizing code from the "importlib" and "imp" modules. This importer can emulate Python import functionality, or you can alter it to suit your desired behavior. For instance, implement an importer that returns a copy of a module instead of modules stored in "sys.modules", or implement an importer that can import from archive formats other than zip files.

Design a file manager with Two Panels Like Krusader in KDE Linux or Total Commander. The File Transfer between two sides should be done via menu (Copy/Cut/Paste), Buttons, Context Menu, Shortcut Keys and Drag and drop.

Additionally you can add FTP functionality Even SSH. Cross Platform should be a buzzword :)

Create an operating system prototype/emulator in Python. You might research into various operating systems to get an idea for what to implement.

Things you can implement:

  • A login.
  • A shell system.
  • A explorer system (If done well enough, you can disable your own explorer process at startup and execute your own.)
  • A desktop window.
  • A web browser. (A project in and of itself.)
  • A plain text editor. (Another individual project.)
  • A control panel/system configuration set of utilities.

Don't waste time writing and editor or an IDE! Don't reinvent the wheel! Go to the wikipedia list of algorithms, which points to virtually hundreds or thousands of clever algorithms, and implement a few of them in python.

Edited 6 Years Ago by Gribouillis: n/a

Don't waste time writing and editor or an IDE! Don't reinvent the wheel! Go to the wikipedia list of algorithms, which points to virtually hundreds or thousands of clever algorithms, and implement a few of them in python.

Thanks for pointing that. I was thinking of something one can do and be proud of. Once one writes such a small IDE he can then feel that he have ever done something useful :)

as a mechanical engineering student in sydney, i learnt python using the MIT Opencourseware material. There are some much more advanced courses such as interpreting bioinformatic data and images. Some of the courses even use python, but they are not for the faint hearted.

Create a virtual environment. You can make a game, a simulator, or a virtual reality.

One of the simpler virtual environments you can implement is Conway's Game of Life.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Most virtual environments have a few things in common.

The environment, obviously. A set of data describing a state and the rules on how it can change.

Agents. These interact with the environment, gathering data, changing it. Agents can poll the environment for data (they request data), or they can be notified with events. (Usually functions that are called when other functions are called.)

A mechanism to update the environment. For instance, in a tick based system time is divided into increments called ticks. Each tick, every agent is given a chance to act and every function to change the environment is called. At the end, conflicting changes can be resolved. The process repeats.

This article has been dead for over six months. Start a new discussion instead.