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

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