Extreme Design: CSCI 3033-008

 

Instructor: Prof. L. Subramanian

312 Warren Weaver Hall,

Tuesday 7-9 PM

 

The Extreme Design class is an intensive project-oriented class that is specifically designed for students interested in translating cool computing centric ideas to functional end-to-end computer system prototypes (hardware or software) with the goal of encouraging students to pursue bold startup-like ideas. This class is open for students at all levels (PhD, MS and undergraduate) and in specific cases to students in other disciplines (who already have a cool project idea). Right from the beginning, students in the class will form small teams where each team will work on a single project idea that solves an important research or societal problem. Each team is expected to design and implement an end-to-end system prototype that will be showcased at the end of the semester. Specific project ideas will be provided by the instructor and student teams are open to pitch their own ideas. The expected workload per student can be 15-20 hrs a week and teams are expected to constantly interact with other teams to discuss and exchange ideas.

The broad theme for this semester's Extreme Design class is: "Sensing, Crowdsourcing and Data". The class will cover several real-world application problems and scenarios (health, energy, education, medicine) which can be addressed based on the theme of gathering and analyzing data from the physical environment using smart sensing platforms and crowdsourcing systems. With the growing popularity of Internet of Things, there has been a dramatic growth in the number of unique devices, platforms and programming environments with a broad array of capabilities that were not open earlier for prototyping and development. Students will be provided exposure to several tools and platforms that can be leveraged by individual teams in their project design and implementation. Specific topics covered include: basics of programming embedded systems, sensing and actuation platforms, data analytics tools, crowdsourcing systems and relevant material for individual project ideas.

The class is open to students across disciplines but is best suited for students who have a strong background in programming and are passionate towards pursuing startup-like ideas. Since this is an intensive class, class enrollment is limited and interested students should first obtain the permission of the instructor to register. Please send your CV to the instructor and schedule a time to meet with the instructor. For Computer science students, the pre-requisites are the relevant classes so that students are comfortable in design and implementation of systems (for undergraduate CS students, the prerequisite is 202 and for MS students, there are no pre-requisites but are expected to be proficient in operating systems and programming). Students in other disciplines, who have interesting computing centric problems in their domains are welcome to take the class but should first schedule a meeting with the instructor.

 

The lecture series of the class is going to be dependent on the nature of the projects in the class.

 

Lecture 1: Introduction to Projects (Project description)

 

How to choose a project?

Project Ideas discussion: “Sensing, Crowdsourcing and Data”

 

Lecture 2: Projects Discussion (continuation)

 

In depth discussion of  Class Projects:

Crowdsourced Learning

Smart Energy Metering in Buildings

Human Trafficking Analytics

Crowdsourced Microconsulting

Big Data Stream Analytics Platform

Emotion Mapping of Human Faces

 

 

Lecture 3: Introduction to Basic Concepts in Machine Learning

Unsupervised Learning: An Introduction

Prof. Bing Liu’s CS583 class (Refer to Lecture 5)

http://www.cs.uic.edu/~liub/teach/cs583-spring-14/cs583.html

 

Supervised Learning: An introduction

Prof. Bing Liu’s CS583 class  (Refer to Lecture 4)

http://www.cs.uic.edu/~liub/teach/cs583-spring-14/cs583.html

 

Lecture 4: Introduction to Basic Concepts in Time Series Analysis

Project Updates – Milestone 1

 

Refer to Time Series Analysis (Lectures 1 and 2)

http://ocw.mit.edu/courses/economics/14-384-time-series-analysis-fall-2013/lecture-notes/

 

Lecture 5: Introduction to Text Analytics Techniques

Prof. Dan Klein’s Statistical NLP class (Refer to Lectures 2,3)

http://www.cs.berkeley.edu/~klein/cs294-7/

 

Lecture 6: Text Analytics Techniques (contd)

Prof. Dan Klein’s Statistical NLP class (Refer to Lectures 3,4)

http://www.cs.berkeley.edu/~klein/cs294-7/

 

Lecture 7: Image Processing and Vision Techniques Basics

Project Updates – Milestone 2

Prof. Rob Fergus Computer Vision Class (refer to Lectures 2,3,4)

http://cs.nyu.edu/~fergus/teaching/vision_2012/index.html

 

Lecture 8: Introduction to Arduino and Wireless Sensing

Arduino + Microcontroller Basics

http://arduino.cc/en/Reference/HomePage

 

Introduction to Zigbee (802.15.4)

ftp://ftp1.digi.com/support/documentation/0190162_c.pdf

 

Lecture 9:  Startup Basics + Pitching your own VC deck

 

   P. Graham, "How to Start a Startup", Mar 2005

   S. Blank, "The Path to Disaster: The Product Development Model", 2006

   Steve Blank: Lean Launchpad Chapter 2: Customer Development Model. http://www.ctinnovations.com/images/resources/Startup%20Owners%20Manual%20-%20BlankDorf.pdf

   Frank Rimalovski et al. Talking to Humans

   Forbes Notes on the Ultimate Pitch Deck. 

http://www.forbes.com/sites/chancebarnett/2014/05/09/investor-pitch-deck-to-raise-money-for-startups/