Skip to content

kusalite/forkfromrantao

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced IoT 2017

a.k.a. an Internet of Things ‘Kickstarter’ Class

Daragh Byrne Carnegie Mellon University, Spring 2017 Mini-4. 49-719 (6 units)
T/Th 15:30AM-17:20AM in INT 103 (T) and HL A10 (Th)
Office Hours: Byrne: Friday, 3pm-4.20pm HL-A10; Paetz: Monday, 15.30-17.30, PhysComp Hunt, A10
TA: Joseph Paetz

Building on ‘Designing for the Internet of Things’, this elective will give students the opportunity to explore the development of a single internet of things concept in greater depth. To get access to this course, students must first propose a project they would like to focus their seven week exploration on. Over the next seven weeks, students will iterate through the development lifecycle of a single project with a focus on technical rigor, depth and robustness. Students will develop their competency with microcontroller programming and learn methods for sensing, transmission, storage, analysis, communication, connectivity and presentation of data in IoT scenarios. Students will be supported in this exploration by weekly guest talks from industry leaders who will provide their insights on developing and bringing to market robust IoT products. Finally, students will engage in weekly critique and work sessions where they can seek instructor support in transforming their concept into tangible world-ready product. By the end of the course, students will have realized a refined prototype which is near-market ready.

tl;dr: It's a hands-on IoT course focused on developing one product prototype in-depth over 7-weeks. It aims to advancing individual skills in IoT software and hardware development and actualize your passion project into a near-market-ready prototype.

Learning Objectives

This is an interdiscipinary course designed for those new to IoT prototyping and development. It builds on the 'Designing for the Internet of Things' mini-3 course but helps you do a deep dive into software development. In particular it focuses on building your personal skill with software and hardware development as well as the development processes to follow when building IoT solutions. It’s about advancing individual skills, developing passion projects, and bringing ideas to market or making ideas patentable. In this course, we will:

  • Explore agile development processes to rapidly and iteratively prepare an IoT 'minimum viable product';
  • Focus on developing individual software developing skills and familiarity with software development through the Arduino language;
  • Examine advanced techniques and best practice for sensing, transmission, storage, analysis, presentation and communication of data for IoT solutions;
  • Understand these techniques by applying them in a IoT prototype and work towards a feature complete, robust and optimised prototype.

By the end of the course, students should be able to:

  • Have applied experience of the key concepts for sensing, transmission, storage, analysis, presentation and communication of data for IoT solutions.
  • Be able to follow an agile developement process to: generate systems specifications from a perceived need, design APIs and network communications for IoT solutions and plan and manage a timeline for implementing a single feature complete prototype.
  • Be able to independently review and recognize means to improve code.
  • Be able to work independently to prepare a fully functional prototype of a system.

Outcomes

By the end of the course, students should have the following outcomes:

  • a robust real world prototype that will be nearly ready for market
  • a clear set of materials and documents to present their idea for potential funding, investment and global feedback
  • advancement and preparedness of student to prepare innovative IoT solutions in agile, iterative explorations as might occur in lean-startup style workplaces.

Logistics

Sprints

This course takes an agile approach building on the scrum framework for software development. For each, sprint:

  • The student will creates a prioritized wish list called a 'product backlog'.
  • During sprint planning, you'll pull a small chunk from the top of that wish list, a sprint backlog, and decide how to implement those pieces.
  • The team has a certain amount of time — a sprint (in this case 2 weeks) — to complete its work
  • At the end of the sprint, the work should be 'potentially' shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder.
  • The sprint ends with a sprint review and retrospective.
  • As the next sprint begins, you choose another chunk of the product backlog and being working again.

Read more. This description is adapted from this

Taking It Further

If you want to take your idea further after the course, here are some useful resources.

Campus Resources

Local and National Resources

  • Innovation Works and their hardware accelerator Alpha Lab Gear helps build entrepeneurship and offers mentorship and investment to start new companies in PA.

  • Idea Foundry is a Pittsburgh-based non-profit innovation acceleration and commercialization organization. It offers accelerators for Intelligent Systems Development and Social Enterprise as well as a series of fellowships to get ideas off the ground

  • Kickstarter - no introduction needed.

  • Amazon's LaunchPad is a unique program that showcases innovative products from startups like yours to millions of Amazon customers.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 60.0%
  • C 19.5%
  • Other 15.0%
  • JavaScript 2.1%
  • CSS 1.4%
  • HTML 1.3%
  • Other 0.7%