Project Idea List

I get this question a lot too. So I started writing down a list of projects. Then I found this one. It is better than what I can come up with. Go ahead and visit the page and pick the projects and work on them.

Below you will find 125 project ideas I have come up with while brainstorming. I have divided them into 10 different topic areas that I think the project may use the most. Keep in mind that a few of these projects could have been classified in more than one topic.

A Course on Composing Programming with Python

Here is another great resource to Learn Python.

From the site, here is their reason for working with Python language.

Python is a widely used programming language that has recruited enthusiasts from many professions: web programmers, game engineers, scientists, academics, and even designers of new programming languages. When you learn Python, you join a million-person-strong community of developers. Developer communities are tremendously important institutions: members help each other solve problems, share their projects and experiences, and collectively develop software and tools. Dedicated members often achieve celebrity and widespread esteem for their contributions.

The Python language itself is the product of a large volunteer community that prides itself on thediversity of its contributors. The language was conceived and first implemented by Guido van Rossum in the late 1980’s. The first chapter of his Python 3 Tutorial explains why Python is so popular, among the many languages available today.

If you want to try it here, it is. A free online introduction to programming and computer science. Composing Programs

An Appreciation of Python in a Day

If you are an engineering student in the second or third year, you can learn the basics of Python in a day. In my workshops, I use a simple format:

  1. One hour of teaching Python through examples
  2. A couple of hours of hands-on practice, trying out a few examples
  3. An hour of discussion with interactive coding
  4. A few more hours of lab
The goal is pretty simple. Show that you can start building simple working programs in less than a day.

I found a YouTube video that provides a quick Overview of Python in less than 45 minutes. If you want to learn Python on your own, try a video like this (there are many on YouTube) and work along.



Python – Both Dynamically Typed and Strongly Typed

A nice explanation of how Python differs from other programming languages from one of my favorite books – Dive into Python

statically typed language
A language in which types are fixed at compile time. Most statically typed languages enforce this by requiring you to declare all variables with their datatypes before using them. Java and C are statically typed languages.
dynamically typed language
A language in which types are discovered at execution time; the opposite of statically typed. VBScript and Python are dynamically typed, because they figure out what type a variable is when you first assign it a value.
strongly typed language
A language in which types are always enforced. Java and Python are strongly typed. If you have an integer, you can’t treat it like a string without explicitly converting it.

weakly typed language
A language in which types may be ignored; the opposite of strongly typed. VBScript is weakly typed. In VBScript, you can concatenate the string ’12’ and the integer 3 to get the string ‘123’, then treat that as
the integer 123, all without any explicit conversion. So Python is both dynamically typed (because it doesn’t use explicit datatype declarations) and strongly typed (because once a variable has a datatype, it actually matters).