Project Ideas#
Encryption#
Integrate email into the encryption code, so you can send and receive encrypted messages
Explore ‘code breaking’, writing code that code break the encryption of some of the encryption schemes
Chatbots#
Extend the chatbot to talk about some new topics, or a new kind of interaction
For example, update the chatbot to more systematically answer questions
Or focus on a particular topic, like answering questions about Python
Set up Chatbots that can talk to each other
Artificial Agents#
Make the agents interact with each other
What happens when they are in the same place? Can they ‘eat’ each other?
Add something new to the world: obstacles (walls?), or targers (food?)
Add a new exploration scheme for the bots to perform
Note: if you are want to scale up this idea, you can look into the ‘pelita’ application (from the demo)
Research#
Use LiteratureScanner to investigate an area of research in the literature
Explore scientific python to analyze a small dataset
Choose your own adventure#
Choose an area you are interested in, and explore what people do in it (read code!)
If you want to try and use an external tool / codebase, consider writing a demo / tutorial for it
Find an API, and write some code to get some data / do some procedures with it
You can also check out and build of one of the demos from the 0th class
One option: create text based programs, that mimic some programs you would like
Build some sort of utility that you would find useful
File management, organizing pictures, indexing files,
If you are interested in an area of research, start a project related to that
This can be a way to learn those specific tools
For example: get a working demo, and sketch out a tutorial
Taboo Topics \(^*\)#
There are lots of helpful tutorials online; however, often it’s difficult to figure out how to make your implementation different than these online tutorials. It’s also boring and a pain to grade. So, to avoid any issues, there are two taboo topics this quarter:
Hangman
Drawings from
turtle
tic-tac-toe
blackjack
Magic 8 Ball
Rock, Paper, Scissors
Snake Game
Connect4 Game
\(^*\)If you have a really new hangman implementation/idea or are super stoked about your great turtle
idea or have invented a spin on traditional tic-tac-toe/blackjack/magic 8 ball/rock, paper, scissors, you’ll need to pitch your idea to (via email/campuswire or in office hours) and get approval from Professor Ellis
How to get started#
Pseudocode out the ideas you would like to explore / work on
Open a notebook, and get some code into it
If you are doing an assignment related project, see which code you need, and isolate it
Start exploring! Write some extra code that starts
Figure out what you will need to do your idea
When you start having ‘mature’ functions / classes, try moving them into a script