CSE 299 Hardware Projects
Summary
CSC 299 stresses student initiative in investigating a particular application of computing. In the process, students learn new tools (including languages and APIs) methodologies, study algorithms/code examples/formalisms used in that particular computing area, work on projects, and apply them to develop working systems.
The topic of study in this section of CSC 299 is Hardware Project for the Raspberry Pi & the topic of CSE 299 is Hardware Projects. In this course, the students will apply problem-solving and programming skills toward building cyber-physical systems using the Raspberry Pi hardware platform. The course will cover basic electronics and the Python API for managing hardware devices (including communication interfaces), interfacing with digital and analog inputs (sensors), controlling motors (actuators), and using output devices (e.g., displays, buzzers). Throughout the course and final project, students will work in groups to build basic cyber-physical systems (e.g., controlling LEDs and motors, communicating over the Internet, monitoring the surrounding via various sensors) to moderately sophisticated ones (e.g., remotely piloting a robot rover over the Internet).
Texts
Grading
The course grade is apportioned as follows:
? Lab assignments and reports ?50%
? Class Participation?? 20%
? Final project? 30%
Labs: Homework (fillable DOCX forms; no hard copies will be provided in class) will be available on D2L and consist of reading online material to understand further the concepts covered in the course. You will need to complete and submit (via D2L) the weekly assignment before the next class meeting. The template for each of the lab reports will be available on D2L. After completing the lab reports, print as PDF and upload it on D2L.
Final Project: During the last several weeks of the course, you will be working on a group project which you will present in week 11 of the class. It will be a simple application you will implement using Raspberry Pi board and other custom electronic items. The project will be approved based on your proposal. A final project write-up will be due during exam week. Instructions about the final project will be available on D2L.
Participation: Your participation in the quizzes, labs, and the final project will be noted and graded out of 10% assigned for the final grade.
The grading rubric for normalized marks
|
A
|
A-
|
B+
|
B
|
B-
|
C+
|
|
95-100
|
90 - 94
|
85 - 90
|
80 - 85
|
77 - 80
|
73 - 77
|
|
C
|
C-
|
D+
|
D
|
F
|
I
|
|
71 - 73
|
68 - 71
|
65 - 68
|
61 - 64
|
0 - 60
|
*
|
| |
|
|
|
|
|
* Incomplete: An incomplete grade is given only for an exceptional reason, such as a death in the family, a severe illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final and approved by the Dean of CDM. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.
Pass/D/Fail: You can opt-in for P/D/F grading.
To do well in this course: To do well in this course, you should participate in the discussion and lab activities, read the assigned readings each week as indicated in the homework assignments, and talk to the instructor promptly if you have any problems.
Prerequisites
Students must also have taken CSC 242 or CSC 243 or an equivalent introduction to programming course. Also, students must have passed these courses or have been waived out of them. More to the point, students must already know how to program in Python or have sufficient programming experience to learn Python quickly on their own. This is an in-person class and the participation is compulsory. You will need to bring your Raspberry Pi kit and laptop to the class.
Required Hardware [Students should purchase]
- Course introduction
- Prototyping in 3D Printers
- Good software practices
- Team formation
- Raspberry Pi Setup
- Raspbian operating system installation
- WiFi connection setup
- Securing the Raspberry Pi
- Enable remote login
- Learn how to program the Raspberry Pi
- Send emails from Raspberry Pi
- Display sensor values on Raspberry Pi
- Use IFTTT framework to send notifications
- Display sensor data on web
- SMS communication with Raspberry Pi
- Understand Raspberry Pi pinout
- Internet of Things: Implement simple webserver
- Interact with physical systems via web interfaces
- Programming general-purpose digital output
- Build simple circuits to test the programs
- Learn pulse width modulation (PWM) and uses
- Build user graphical user interfaces
- Programming general-purpose digital input
- Detect switch interactions
- Learn internal/external Pull UP/DOWN resistors
- Software polling vs. hardware interrupts
- Use rotary encoders, motion detectors
- Interact with keyboards and mouse
- Interface Raspberry Pi Camera
- Using a Raspberry Pi Camera Module for Computer Vision
- Face and Motion Detection using Computer Vision
- Interfacing resistive sensors
- Measure resistance
- Measure light intensity
- Measure voltage
- Learn and use Serial Peripheral Interface (SPI)
- Analog to digital conversion
- Measure voltages (continued)
- Measure temperature
- Measure distance
- Measure moisture
- Use Organic Light Emitting Diode (OLED) to display information
- I2C communication protocol
- Actuators
- Control servo motors
- Control speed of DC motors
- Control direction of DC motors
- Control unipolar stepper motors
- Final project proposal
- Submission
- Revision
- Approval
- Final project implementation
- Final project demonstration
- Final project report submission
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.
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.
This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/ If you
have any questions be sure to consult with your professor.
All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity.
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 http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.
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