Course Number

COMP 388/488
We are working to gain academic approvals for a new course title/number.


Professor and Department Chair

Professor and Graduate Program Director

The seminar is co-scheduled with Mark Albert's and William Honig's seminars. 

We will also have some special guests from time to time, notably Joe Kaylor.

Course Meeting Time (Spring 2014)

Friday, 10am-12:20pm, Lewis Towers 531 or 415, Water Tower Campus
Online/remote participation via Adobe Connect at

Course Meeting Time (Spring 2013)

Friday, 9:30am-12:00 noon, Lewis Towers 531 or 415, Water Tower Campus
Online/remote participation via Adobe Connect at

Course Description

The Pervasive Systems Seminar is a new, modern, and (dare we say it) hip course focused on advanced distributed systems (a.k.a. the Web or Internet of Things). In this course, students will do research and development in a style reminiscent of experimental physics, wherein the theory and principles are brought to life via the innovative use of hardware and software. Students in this course are expected to be well versed in multiple areas of theoretical and applied computer science and should have a solid track record in foundational courses prior to taking this course.

Furthermore, this course aims to provide high student engagement and is recommended for students who wish to pursue a research-oriented career, which means a career where thinking is expected as part of the job description. In the interest of clarity, this doesn't imply an academic career and could include a career in preeminent technology companies, not-for-profits, and other think tanks.

As such, this course has a "by permission only" or "invitation only" character to it. 


The official prerequisite is by permission only, which depends on meeting the criteria in the rest of this section.

An "A" grade in one of the qualifier courses will generally result in our approval. This includes, but is not limited to, these foundationally focused courses in the CS department:
Graduate students must have taken these courses in their undergraduate studies or complete one of the graduate versions thereof early in their graduate studies.

We are not entirely about grades but will be looking more closely at your previous coursework in the major before making our decision.

Graduate students must take the graduate version of the abovementioned courses but may receive permission if any one of the following apply:
  • departmental teaching or research assistant (recipient of a merit award starting in Fall 2013)
Non-majors with solid academic standing and who have completed a CS Minor may also take this course.

Grade Breakdown

20% - Participation in course discussions (on Piazza)
30% - Contributing a paper summary to the Pervasive Systems blog and during our seminar
50% - Individual or Team Project

Topics and Schedule

  • 25 Jan: introduction and overview
  • 1 Feb
    • REST on Routers presentation
    • RPi progress report
    • Android/Robolectric testing demo
  • 8 Feb
    • Vision and high-level architecture of environmental monitoring system
    • Android wall research questions
      • NFC
      • ...
    • Thomas: update on Android wall research questions
    • CUERP monitoring system demo
  • 15 Feb
    • collaborative tools
      • Trello board
    • Gus: robotics update
    • Mirella/Thomas: Android/skeenzone update
    • George: pecha-kucha presentation methodology
    • K: functional languages presentation (first part)
  • 22 Feb
    • more Android wall research questions and architectural explorations
      • visualization: shared canvas
      • computation: shared thread pool mapped to CPUs and/or GPUs
      • sensing/control: event-based front controller
    • K: Android + Scala update with examples
  • TBD

Collaborative Tools

All participants, including the instructors, are required to use the following tools throughout the semester:
  • Adobe Connect - for synchronous meetings including presentations and shared whiteboard discussions
  • Sakai - for gradebook functionality
  • Piazza - for discussions
  • Google+ - membership in the Pervasive and ETL groups is required (and we encourage you to remain a member)
  • Google Docs - for real-time collaborative authoring (useful during brainstorming)
  • Google Sites - this one, in fact. We will ask you to link your lecture summaries, presentations, and videos here and to our social communities.
  • Trello - for keeping your project organized and brainstorming
  • Bitbucket and GitHub - again, we are a course dedicated to building things. It is expected that you produce a software-related artifact (more on that later)