CSCI 345 Syllabus

Contact Information

Instructor:            Cynthia Taylor                     ctaylor@oberlin.edu

Cynthia's Office Hours:        M 11:00 am - 1:00 pm, F 2:00 - 4:00 pm, Zoom

Meeting Time and Location

Time: 3:00-4:15 TuThr
Location: StudiOC Zoom

Revised Syllabus for After Spring Break

Class

Every Tuesday's class will continue to feature an arduino lab. I will post a short video consisting of the pre-lab lecture, and you will work your way through the lab on your own, just like you would in class. I will be available via Zoom for assistance during class time, and available to answer questions on piazza.

Thursday classes will now consist of paper discussion. You will be responsible for the papers in the following ways: For each paper, you will submit a short reflection form via blackboard. Additionally, you will need to participate in class discussion of the papers. You can do that either by attending a zoom discussion of the papers, Thursdays at 3pm EST, or by participating in asynchronous discussion of them on Perusall.

Projects

You now have three project options:
  1. Revised group project building an arduino/raspberry pi-based device where components connect over the internet.
  2. Individual projects building an arduino or raspberry pi-based device.
  3. An individual research paper on a topic related to embedded systems, human-computer interaction, ubiquitious computing or internet of things.
Revised project proposals are due on April 6th. Requests for previously ordered parts to be mailed to you are due by March 30th. What you have done so far on your group project will be considered in your final project grade.

Revised Grading

Final grades will be determined as follows:

Component %
Arduino Labs and Individual Assignments 40%
Project Checkins 15%
Project Demo & Writeup, or Paper 20%
Paper Discussion 25%

Course Overview

Sensor technologies and computers permeate our modern world, from smartphones to surveillance systems to automated machinery. These modes of physical computing create a direct link between human movement, touch, and computer-controlled technologies, giving rise to many avenues of interdisciplinary research, innovation, and creative possibilities. Related areas of practice and inquiry include embodiment and gesture research, controller/interface design, machine learning/AI, haptics, embedded systems, Human-Computer Interaction (HCI), and New Interfaces for Musical Expression (NIMEs).

In this learning community we will explore how sensors and computers engage the physical world from a variety of perspectives. Through guest presentations and readings/discussion, we will explore implications of this “hybridization” between human and machine. Through hands-on projects, we will build embedded computer systems that use sensors to collect information about the world around them. In collaborative groups, we will create sensor-based systems to present at the end of the semester.

Course Objectives

  1. Learn to programmatically gather data from sensors
  2. Learn to program arduino based embedded systems.
  3. Explore ways computers can interact with the world.

Course Materials

There is no textbook required for this class. Instead, you will need to purchase this arduino kit, which we will use for labs throughout the course.

If you cannot afford this kit, the Oberlin's Emergency Book Fund provides loans to Oberlin students to buy textbooks and supplies. Students are expected to pay back these loans only when they are financially able. These funds are administered through the Office of the Dean of Students, Wilder Hall, Room 105. If you cannot afford this kit and the Emergency Book Fund does not work for you, please talk to me and we will figure something out.

Grading

Final grades will be determined as follows:

Component %
Arduino Labs and Individual Assignments 40%
Project Checkins 20%
Project Demo 25%
Project Writeup 15%

Group Work

Most of your grade in this course will be based on a semester long group project. All group aspects of your grade will be weighted by your group's feedback on your effort, behavior and contributions to the project. Additionally, your group project grade may be lowered if you are not contributing to the project (i.e. not attending class for project work days, not making commits to your group's github, etc).

Late Homework Policy

All group assignments must be turned in on time unless there is an emergency, and you contact me before the assignment deadline.

Unless otherwise specified, each arduino lab will be due at 10 PM on Monday night of the week following the start of the lab assignment. Late handins are strongly discouraged. At your discretion, you can use up to three free "late passes", which each grant you an additional day to complete a lab assignment (more than one can be used per assignment). Please make sure you let me know in advance (i.e., before the lab deadline) when you plan on using your late passes by filling out the late day form on Blackboard.

Accessibility

I am committed to making this class accessible to all students. If you have accessibility needs, please email me or come discuss them with me. Things you might want to discuss accomodations for include physical and mental disabilities, both permanent and temporary, any situation that is causing you to not be able to attend class or spend as much time on this class as you would like (stress, family situations, work hours, just going through a rough time), not having access to computers, not being able to afford the textbook, anything that is keeping you from doing your best in this course. Let me know, and we'll figure something out.

Code of Conduct

Both Oberlin College and I personally value the diversity of perspective that each of you bring to this classroom and our study of Computer Science together. In this class, we must all commit to fostering a safe, inclusive and welcoming environment which will allow all of us to learn. Please respect the competance and hard work of your colleagues in this classroom. If you are made to feel uncomfortable in class or while working on class material, please notify me so we can take steps to address the situation. Students who are disruptive to class and our learning community will face consequences including potentially being removed from the course.

Academic Dishonesty

Students are expected to adhere to the Oberlin College Honor Code. Any violations will be reported to the Honor Code Committee.

For every assignment, students must indicate whether they followed the Honor Code in completing the assignment. If so, students should end each assignment by writing:

I have adhered to the Honor Code in this assignment.