/code_em_winter_2018

Code Em - Winter 2018 Session

Primary LanguageHTML

Code Em - Winter 2018

Introduction

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.

Community

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!!!
  • GitHub

    • 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

Project Ideas

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

Start Projects

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.

Minecraft Pi Server Project

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.

Python Turtle Calculator

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.

General Project Objectives

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.