CSC 299 Sophomore Lab in Applied Computing

Ljubomir Perkovic

Office: CDM 713
Fall 2016-2017
Class number: 33322
Section number: 401
Th 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, 2nd Edition by Simon Monk, O'Reilly Media, 2016, ISBN: 9781491939109

Vilros Raspberry Pi 3 Complete Starter Kit--Clear Case Edition ($64.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 at the end 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