Who, when, where and what
The instructor for CSCI 373.001 is J Dean Brock. The course will meet on Monday, Wednesday, and Friday from 12:30 PM to 1:45 PM in Robinson 223.
Class home page
All class handouts can be accessed through the following URL:
If you are looking for assignments, it is best to go directly to the Moodle homework listing.
Course Description
Embedded Systems
Design and implementation of embedded systemsn. Programming of microcontrollers; interfacing with GPIO (General Purpose I/O), MEMS (microelectronmechanical systems, and computer networks; real-time operating systems. The Arduino and Raspberry Pi will be used in this course. Prerequisite: one course from CSCI 201 or 202 with a grade of C or higher.
Degree requirements fulfilled
CSCI 373.001 will fulfill three hours of the requirement for “additional hours of CSCI” in the computer science major and minor programs. And, of course, all students can use CSCI 373.001 to fulfill three credit hours of the required 122 for graduation.
Learning objectives
CSCI 373.001 introduces students to the fundamentals of embedded systems. After taking this course you will have a better understanding of how computers are used to control toys, toasters, and Telsas.
To be a bit more specific: You should also learn how to accomplish the following specific tasks in this course.
- Design systems that interface with simple electronic inputs and outputs, such as switches and servos.
- Design systems that interface with sophisticated interfaces, such as gyroscopes, using industry-standard communication protocols such as I2C.
- Design embedded systems that participate in the IoT (Internet of Things).
- Program the Arduino, a microcontroller.
- Program the Raspberry Pi, a Linux-based computer.
References
Books
Some suggested references for this course are:
- Exploring Raspberry Pi:
Interfacing to the Real World with Embedded Linux by
Derek Molloy
- the very similar Exploring BeagleBone : Tools and Techniques for Building with Embedded Linux is available on-line from the UNC Asheville library
- Building the web of things : with examples in Node.js and Raspberry Pi by Dominique D. Guinard, Vlad M. Trifa
- Electronics cookbook : practical electronic recipes with Arduino and Raspberry Pi by Simon Monk
- Hello Raspberry Pi!: Python programming for kids and other beginners by Ryan Heitz
The web
Of course, the most useful references in this field are on the web. Here are a few I find useful. Send me others that you like and I’ll add them to the list.
- Raspberry Pi Foundation
- Adafruit Learn Arudino
- Adafruit Learn Raspberry Pi
- Arduino
- CircuitPython
- Make magazine
Software & hardware
You will need a computer that can an USB and network interface. Just about any computer in the last two decades will work. We will certainly use C and Python. Depending on chosen projects, we may also do a bit of JavaScripts.
We will also use Arudinos and Raspberry Pis for the course. The Department of Computer Science have plenty of these, but I suggest you purchase your own Raspberry Pi 3 because there are unresolved non-technical issues about WiFi access to student-managed computers. I also suggest you get
Grades
Weights
The following weights are used in computing the course grade.
Grade component | Weight |
---|---|
Exams | 36% |
Homework, Projects, etc. | 64% |
Scale
The following numerical scale will be used in assigning grades based on Score, the score computed using the weights described above.
Score ≥ 93 | A |
Score ≥ 90 & Score < 93 | A- |
Score ≥ 87 & Score < 90 | B+ |
Score ≥ 83 & Score < 87 | B |
Score ≥ 80 & Score < 83 | B- |
Score ≥ 77 & Score < 80 | C+ |
Score ≥ 73 & Score < 77 | C |
Score ≥ 70 & Score < 73 | C- |
Score ≥ 67 & Score < 70 | D+ |
Score ≥ 60 & Score < 67 | D |
Score < 60 | F |
Exams
We will have at least two exams.
Homework
Every couple of weeks there will be homework assignments that can be turned in at class or submitted via the UNC Asheville moodle system. In general, homework requires programming or some serious figuring.
All homework has a specific due time. Late homework submissions must be downloaded to moodle. A penalty of 1% per hour, rounded up to the next hour, will be applied to late homework.
Unless explicitly stated in the description of a homework assignment, a submitted assignment must be the result of the student’s individual effort. Students are required to cite any sources, including the work of other students, used in completing their assignments. If this is not done, no credit will be given for the homework and, as required by university policy, a report will be made to the Assistant Provost for Academic Administration.
Classroom expectations
The classroom is a place where students and faculty behave professionally. We are polite and attentive. We avoid talk of politics and religion. We do not use offensive language. We show up on time.
Required attendance
Some class activities, such as exams and presentations, generate grades. You will receive a grade of 0 for those activities you miss. If you have an authorized excuse, you will be given an opportunity for a make-up exam.
Some class periods may be dedicated to student presentations. You are expected to attend all presentations by your fellow students. If you do not, your grade for own presentation will be adjusted.
Academic misconduct
It is never proper to claim another’s work as your own in graded work.
Unless explicitly stated in the description of an assignment, a submitted assignment must be the result of your individual effort. You are required to cite any sources, including the work of other students, used in completing their assignments.
This is similar to the expectations of the professional workplace. If a co-worker helps you with a task, you must acknowledge their contribution. It’s only fair. If you incorporate any code from the Internet, you must cite the source. Your company does not want to be sued.
Impermissible actions
There are several impermissible actions that will result in the imposition of course or university sanctions. Impermissible actions in homework assignments include the following:
- Copying any portion of another student’s work by any method.
- Allowing another student to copy your work by any method.
- Incorporating program code, images, circuit diagrams, etc. into your homework solution that you did not create without citing the source.
Impermissible actions on exams include the following:
- Use of any unauthorized devices or sources of information.
- Giving and receiving information to another student by any method.
Sometimes these rules may be modified or clarified for specific assignments and exams. For example, ”pair“ programming may be allowed for an assignment, or simple scientific calculators may be allowed during an exam.
Course sanctions for impermissible actions
The first offense will result in a grade of 0 for the related assignment or exam. The second offense will result in a grade of F for the course. These are the expected sanctions for courses at UNC Asheville.
University policy on academic misconduct
The UNC Asheville Student Handbook has a section devoted to Academic Misconduct. It states the following:
A student accused of academic dishonesty should talk with his or her instructor. In all situations where a student has been disciplined for plagiarism or cheating, the instructor is to submit to the VCAA a brief statement of the case; the student is to receive a copy of this document. Depending upon the severity and/or repetition of the offense, the VCAA may choose to impose a penalty of cancellation of graduation with honors; cancellation of scholarships; dismissal from the university; or any other penalty which he or she deems logical and deserved. A student has 10 class days to respond to this document, in writing; this response is to be sent to the VCAA for attachment to the document submitted by the instructor.
In practice, students who have been involved in academic misconduct in three courses will be suspended for a semester. However a single significant offense, such as the submission of a plagiarized paper in entirety, can result in immediate dismissal.
Accommodations for Students with Disabilities
Statement from the Office of Academic Accessibility
University of North Carolina at Asheville is committed to making courses, programs and activities accessible to persons with documented disabilities. Students requesting accommodations and/or academic adjustments must do so through the Office of Academic Accessibility and may be required to provide supporting documentation. All information provided will remain confidential. For more information please contact the Office of Academic Accessibility at (828)232-5050 or academicaccess@unca.edu, visit them in the OneStop Student Services Center or at their website https://oaa.unca.edu/ .
Specific clarifications for CSCI 235
Students who have been approved for extended time for exams by the Office of Academic Accessibility must have their exams administered by the Office of Academic Accessibility and must take their exams at a time overlapping the scheduled in-class exam.
Students who need additional time for CSCI 235 labs should plan on attending both lab periods.
Email communications
Information protected by the Family Educational Rights and Privacy Act should only be sent to official university email addresses. Information related to recorded grades is clearly protected, as is any discussion that would allow a reader to draw conclusions about your performance or attendance in class.
Email sent to me, even if it does not involve the use of state-maintained computers, may be subject to the North Carolina Public Records Law and, as such, may be disclosed to third parties.
For more information and help
I have office hours are 1:30 to 3:30 on Tuesday. The best way to get in touch with me quickly is to send email to brock@unca.edu.
I get lots of email, so please include CSCI 373 in the subject line.