Project Based -- The objective for this class is to learn by doing; specifically through working on projects. By creating your own projects, you will learn new skills and harden concepts you already know. Essentially, you will set a goal for yourself, learn as you go, and we'll work towards that goal together.
We will use class time to get help on projects.
It is critical to have a well-connected and supportive community to help you solve problems. During (and after) this class you will have plenty of resources to help you complete your project(s):
-
Slack
- Messaging app used for teams
- Our Slack Team: TechEmStudents
- Use for questions, comments, etc.
- Don't be afraid to ask for help!!!
-
- A place to save, collaborate on, and keep track of your projects
- Can create issues or tasks for you, or others to see and help with
Include but are not limited to:
- Launch a Rocket with Raspberry Pi & Alexa
- Arcade-Style Games (Pygame)
- Example: 2-D Alien Invasion
- Web Applications (Python, HTML)
- Data Visualizations
- Pull data from the web i.e. plot weather data and a world populations map, etc.
- Severless Projects
- Publish an Alexa Skill for the world to use
- Kali Linux on Raspberry Pi
Raspberry Pi
- Launch a Rocket with Raspberry Pi & Alexa
- Kali Linux
- Pi Powered Alexa Device
- Minecraft (pi version) Mods
Python
- Arcade Style Games
- Pygame
- Web Applications using Django
- Django, HTML, Bootstrap
- Data Visualization
- interactive maps, plots, etc. from web data
- Serverless: Publish an Alexa Skill for world to use
Java
- Create your own library of Minecraft Mods
Since there are returning students (from previous Code Em sessions, or other Tech Em classes/camps) as well as new students (with new programming experience), we will break up the class into two groups.
Returning Code Em students will work first work on a project of their choice: the tentative project of generating a minecraft server on a Raspberry Pi.
New students (new to Code Em) will work on a mini project (should take a couple days): Create a simple calculator program in Python with the end goal of using Python's turtle
to draw out the answer. This will help new students get a good foundation in computer science and programming before working on other projects.
Every project needs a plan. To get the most out of each project we will loosely follow the objective list below.
Objectives:
-
Create an outline of the project plan
- map out what the goal is and how to get there
-
Document the project
- Detail all the steps taken throughout the project in blog-form
- Treat the blog as a tutorial, so that others can take the same steps and achieve the same result
- Take pictures to help document the steps
Documenting your projects as you work on them will help you understand what you are doing, where you are in the process, and help validate the project. The key is to document your projects so that others can learn what you did and follow your steps to get the same result.