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:

  1. Hangman

  2. Drawings from turtle

  3. tic-tac-toe

  4. blackjack

  5. Magic 8 Ball

  6. Rock, Paper, Scissors

  7. Snake Game

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