About the class
|Class meetings:||Tuesdays/Thursdays, 2:00--3:20 pm, in the FETLab (GOl-2330)|
|Office hours:||Thursdays, 3:30--5:00 pm, in the FETLab (GOL-2330)|
There is an ongoing revolution in the world of computing: no longer are personal screen-based devices (desktops, laptops, phone and tablets) the only ones for which we must design. We are entering a new age of computing, variously described as “ubiquitous computing,” “pervasive computing,” “the Internet of Things,” “everyware,” and so forth, in which the line between digital information and physical object is becoming much less clear. In this course, we will explore how to rapidly prototype and evaluate systems that combine hardware and software.
The course will mostly operate on the “flipped” model, with students watching videos or otherwise performing independent learning outside of the classroom, and working on homework and projects during class time. Many class sessions will include demonstrations, hands-on examples, or other forms of learning.
In lieu of a textbook, students will be required to purchase a prototyping hardware kit.
Assignments turned in within 24 hours of the due date and time will lose 25% credit. For each additional 24 hours of lateness, an additional 10% will be taken off.
Students are expected to attend each class session, and to arrive on time. Students who miss class for any reason are responsible for gathering information about what was missed, and alerting the professor to how they will make up the in-class activities. No non-class-related email, web surfing, texting, or phone use during class.
Students should be sure to review RIT’s official policies concerning academic integrity. Violations of academic integrity (cheating, double submission, or plagiarism) will result in a failing grade for the entire course! In particular, for this class, this means that if you turn in material containing someone else’s work without giving proper attribution, or if you copy entirely another’s work without doing anything original yourself.
There will be a lot of creation in this course. For some of the work we do, there will be resources you can find on the Internet. It’s okay to use libraries, code samples, and help from online, but you must give proper attribution to your sources! If you feel in doubt, err on the side of giving too much attribution rather than too little.
To give attribution for code, add a comment in your code clearly marking what you got from where, and include a list of sources in your Readme file that you turn in with each assignment.
To give attribution for ideas, images, papers, or anything else, include the source and a brief description of the material used in the relevant place (e.g. in the Readme for code, in your presentation if presenting, etc).
Note that you should be doing most of the work yourself! For example, it’s okay to grab someone’s library to help you make a graph, but not okay to grab someone else’s code that does an entire assignment for you. Likewise, if you’re having a hard time modeling some particular component, you can borrow a part from someone else’s model (with attribution!) but you may not copy the entire model.
Assignments and Grading
There are a bunch of mini-projects (i.e., homework) in the course. There is also a final project. And there will also be extra credit. At the time of this writing, I’m not sure how many homeworks there will be, but I’m aiming for one per week until we get to the final project phase, so about 12. Here’s how the grades will break down:
- Homeworks: 60% of final grade
- Each homwork will be weighted equally, so with 12 homeworks they’ll be worth 5% of your final grade each. If we end up with fewer homeworks, then each will be worth a little more.
- Final project: 40% of final grade
- Extra credit: up to 5% on top of final grade
Turning in assignments
Assignment materials are always due at 1:59 pm on the due date (this is one minute before class starts). You should turn in files (unless otherwise instructed) in a direct message to me in Slack.
Note that while I will do my best to get your grades back in a timely manner (usually within two weeks) but may not be able to.
RIT Gender-based Discrimination Policy
The following is RIT’s official gender-based discrimination policy. Please read it, but the summary is: don’t be a jerk. Treat everyone like they’re reasonable, intelligent, hardworking human beings just like you. I take this super-seriously.
RIT is committed to providing a safe learning environment, free of harassment and discrimination as articulated in our university policies located on our governance website. RIT’s policies require faculty to share information about incidents of gender based discrimination and harassment with RIT’s Title IX coordinator or deputy coordinators, regardless whether the incidents are stated to them in person or shared by students as part of their coursework.
If you have a concern related to gender-based discrimination and/or harassment and prefer to have a confidential discussion, assistance is available from one of RIT’s confidential resources on campus (listed below).
- The Center for Women & Gender: Campus Center Room 1760; 585-475-7464; CARES (available 24 hours/7 days a week) Call or text 585-295-3533.
- RIT Student Health Center – August Health Center/1st floor; 585-475-2255.
- RIT Counseling Center - August Health Center /2nd floor - 2100; 585-475-2261.
- The Ombuds Office – Student Auxiliary Union/Room 1114; 585-475-7200 or 585-475-2876.
- The Center for Religious Life – Schmitt Interfaith Center/Rm1400; 585-475-2137.
- NTID Counseling & Academic Advising Services – 2nd Floor Lynden B. Johnson; 585-475-6468 (v), 585-286-4070 (vp).
This class has been heavily inspired, and in some cases modeled on, a number of classes taught at other universities:
- CMSC838f: Tangible Interactive Computing taught by Jon Froehlich at the University of Maryland.
- CSCI7000: Physical Computing taught by Shaun Kane at the University of Colorado Boulder.
- CS294-84: Interactive Device Design taught by Bjoern Hartmann at the University of California Berkeley.
- INFO290-4: Tangible User Interfaces taught by Kimiko Ryokai and others at the University of California Berkeley.
- CSCI6609: Ubiquitous Computing taught by Derek Reilly at Dalhousie University.
Note that the information in this syllabus is subject to change at any time. You will be notified if this is the case.