Becoming Friends with your Robot with Alexa Skills

An Alexa skill, or more generically a voice-assistant action, allows you to create hands-free apps, learn about cloud computing structures, and is the main way to use IOT devices today.

Contribute on Github ->
Becoming Friends with your Robot with Alexa Skills

An Alexa skill, or more generically a voice-assistant action, allows you to create hands-free apps, learn about cloud computing structures, and is the main way to use IOT devices today.

Bitcamp-Alexa

An Alexa skill, or more generically a voice-assistant action, allows you to create hands-free apps, learn about cloud computing structures, and is the main way to use IOT devices today.

Why Learn Alexa?

For beginners to programming and computer science, Alexa skills teach all the major paradigms of software engineering, without being unapproachable. For experienced programmers, there is a great opportunity to build, share, and get feedback from the community on your apps.

For industry tie-ins, there is great integration with the AWS cloud for alexa skills

What will the student work on?

The students will create an Alexa app that has multiple features, generally one per week. It will both display the flexibility of developing an Alexa skill, as well as the power and scale of the services available on the platform.

The Alexa Skills Kit is an impressive suite of resources: tutorials, code samples, and templates. This Bootcamp strives to add onto the existing content by providing mentorship and to otherwise undersupported new developers.

Learning Objectives:

Week 1

Learn about the Alexa development ecosystem and get the end-to-end flow working.

Objective: Launch your first Alexa App

  • Enviornment setup
  • Defining all the components and terms
  • Specifically Request/Response structure
  • Finding and using provided examples / boilerplate code
  • Students will leave lecture with a working app
  • (it wont do much yet, most weeks are adding to it)

Homework

  • Add a parallel feature to your app
  • Same idea as lecture, other set of text to use
  • Goal: get more familiar with the iterative testing and development

Week 2

Dive deeper into the functionality Alexa is capable of by learning about and using system function API's.

Objective: Add a feature to your app using one such API

  • What is a System function API
  • See what other apps use them (timers, notifications, etc.)
  • How your skill's responses use these and display the output

Homework

  • Find an API you would like to add (we list the main options)
  • Add a new feature to your app that uses that API

Week 3

Learn about the backend features that Alexa skills have access to, and use them for your app

Objective: Get an Application API integrated into your app

  • What is an Application API
  • How does a request interface with them
  • Demonstrating adding one to your workflow

Homework

  • Find an API you would like to add (we provide some starting options)
  • Add a new feature to your app that uses that API

Week 4

The 'marketplace week'. Launching your app to the store, tracking anlaytics, and other APIs

Objective: Launch your apps!

  • How to publish an Alexa app to the store
  • How to track information about downloads, usage, etc.
  • Learning what other API's are available outside of System and Application from prev. weeks

Homework

  • Launch their app and download it on their device (if they have one, not required)
  • Find another API they would like to add to their app
  • Can be another type from before or a new one (transactions, smart home, account-linking, etc.)
  • Add that API to their previous app

Final Project

The final project is the culmination of your previous weeks of work. You should have the power and resources to add features, create a development plan, and launch your own app with these skills.

Now, do it! You can borrow work from previous weeks, but you get to create an app with whatever API's and features you want in this final stretch. Start with the appropriate template and research which features you're going to need, then write your functions and launch your new app!