CSC 299 Sophomore Lab in Applied Computing

Office: CDM 713
Winter 2015-2016
Class number: 22836
Section number: 501
Tu 1:30PM - 4:45PM
14EAS 00503 Loop Campus


In CSC 299, students investigate a particular application of computing. Students learn tools, methodologies, and formalisms used in a particular computing area, and apply them to develop working systems. The course stresses student initiative in investigating the application context, learning new tools (including languages and APIs), studying algorithms and code examples, and working on projects.

The particular topic of study in this offering of CSC 299 is "Hardware Project for the Raspberry Pi". You will apply problem solving and programming skills toward building physical systems using the Raspberry Pi. The course will cover basic electronics and the Python API for managing hardware devices including serial communication, interfacing with digital and analog inputs (sensors), controlling motors, and using displays. Throughout the course and the final project, you will work in groups to build basic physical systems (e.g., controlling LEDs) to moderately sophisticated ones (e.g., remotely piloting a robot).


Raspberry Pi Cookbook by Simon Monk, O'Reilly Media, 2013, ISBN 10:1-4493-6522-1

OPTIONAL book (I will not be using it but it is a very gentle intro to electronics if you would like one)
Make: Electronics by Charles Platt, Maker Media, Inc, 2009, ISBN 10:0-596-15374-0

REQUIRED equipment:
Raspberry Pi 2 Model B Complete Starter Kit by Vilros ($69.99)

The textbook will be available at the bookstore as usual, but the the Raspberry Pi kits will not.


The course grade will be apportioned as follows:
quizzes 30%
lab work
final project
A homework assignment---typically consisting of reading online materials---will be assigned most weeks. You will need to complete this assignment prior to the next class meeting during which I will give a short quiz based on the assignment. Each week, I will also grade your work during class (i.e., lab) time. If you do not come to class you will get 0 points for the quiz (if given) and 0 points for the lab work. You can get points back if you complete the quiz and/or the lab work at a later date, but you can do so only twice.

During the last three weeks of the course, you will be working on a group project which you will present in week 10 of the class. A final project write-up will be due during exam week.

To do well in this course, you should come to class regularly, participate in the discussion and lab activities, read the assigned readings each week as indicated in the homework assignments, and talk to me promptly if you have any problems.


You must also have taken CSC 242 or 243 or an equivalent intro to programming course. To be in this class you must have passed these courses or have been waived out of them. More to the point, you must already know how to program in Python or have sufficient programming experience so that you can learn Python quickly on your own.

You will need to bring your Raspberry Pi kit to class. If you have a laptop and can bring it to class, I encourage you to do so.

School policies:

Changes to Syllabus

This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Academic Integrity and Plagiarism

This course will be subject to the university's academic integrity policy. More information can be found at If you have any questions be sure to consult with your professor.

Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296