Instructor:
|
Michael J. McCarthy
mm6+@andrew.cmu.edu
Office: Hamburg Hall 3015
Phone: (412) - 268-4657
Officer Hours TH 4:30 - 6:30 HBH 3015
|
Teaching Assistant:
|
Qingyang Liu
Email: qingyan2@andrew.cmu.edu
Office Hours: Please see Canvas and look under "Pages".
|
Prerequisite:
|
The ability to program is the main prerequisite. 95-712 Object-Oriented Programming in Java would certainly be sufficient. If unsure about your ability, speak with your instructor.
|
Grading
Scale:
|
97.5 - 100 A+
92.5 - 97.4 A
90.0 - 92.4 A-
87.5 - 89.9 B+
82.5 - 87.4 B
80.0 - 82.4 B-
77.5 - 79.9 C+
72.5 - 77.4 C
70.0 - 72.4 C-
|
Assignments:
|
Four
programming projects equally weighted (60%).
One of the projects (Project 4) will be chosen and
demonstrated by a student team. On Project 4, the number of students in a
student team is between 1 and 3. This project requires a demonstration presented to the class. The demonstration will be divided equally among the team members.
Quiz on readings at start of lecture with low score dropped (10%).
Closed Book Final Exam based on readings, lectures, and programming (30%).
|
Late
Assignment Policy:
|
You have 7 grace days to spend. This policy is
meant
to cover such issues as job interviews,
travel and so on. After the seven days are spent
there is a penalty of 10%
per day late.
|
Policy on
collaboration:
|
Unless otherwise noted,
collaboration is not
permitted. While it is fine to discuss projects with others it
is a cheating violation when code is copied or shared. If a
student is caught sharing his or her work with another, a
failing grade may be assigned for the course. Likewise, if a
student uses another's work when completing his or her own, a
failing grade may be assigned for the course. In either case,
the Dean will be notified. Github submissions and past student
solutions are checked. In addition, the exams are designed to
test your knowledge and coding skills.
|
Policy on
grading complaints:
|
Grading mistakes may
occur. Please contact the TA who graded your assignment about
grading mistakes. It will be up to the TA to handle the
complaint. If you are still not satisfied with the TA's grade
please contact me immediately. My initial reaction will be to
support the TA's grade. In some cases, however, I might agree
with the student and ask for the grade to be adjusted. Please
make any grading concerns known to the TA immediately. Set up
an appointment with the TA and get the matter resolved.
|
Use of Canvas:
|
There will be a Canvas site for the course.
Grades will be posted there and assignments will be submitted there.
We will also make good use of the discussion board. It is far
better to post a question to the discussion board than it is to send your
instructor or TA an email. Answers posted there are available for all to see.
The main site for the course (syllabus, course description and schedule) is
this page.
|
Software Requirements:
|
The student needs to download and install the
most recent IntelliJ Ultimate IDE. Available here.
|
|
For server side coding use
TomEE PlusAvailable here.
|
|
Installation instructions are available here.
|
Time and place:
|
Tuesday and Thursday 1:30-2:50 PM HBH 1004
|
Recommended Text:
|
Building the Web of Things
By Guinard and Trifa
Available here
|
Optional Text:
|
Programming the World
Wide Web, Eighth Edition
Robert W. Sebesta, University of Colorado,
Colorado Springs
ISBN: 978-0-13-377598-3
Publisher: Addison-Wesley
|
Learning Objectives:
|
1. Understand the architectural principles that were used to design the World Wide Web.
2. Design IoT systems using RESTful principles.
3. Describe the differences and similarities between two important
meta-languages - JSON and XML.
4. Explore several technologies and standards that play a significant role in the Internet of Things. We will study MQTT, XMPP, CoAP, HTTP, and webhooks
5. Build firmware applications for a microcontroller.
6. Build firmware applications that interact with digital twins on the cloud.
7. Develop web applications that are usable in real time IoT environments.
8. Appreciate the privacy and security issues associated with the IoT.
|
Good health:
|
Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well,
exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will
help you achieve your goals and cope with stress.
All of us benefit from support during times of struggle. You are not alone. There are many helpful
resources available on campus and an important part of the college experience is learning how to ask
for help. Asking for support sooner rather than later is often helpful.
If you or anyone you know experiences any academic stress, difficult life events, or feelings like
anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological
Services (CaPS) is here to help: call 412-268-2922 and visit their website
here. Consider reaching out to a friend, faculty or family
member you trust for help getting connected to the support that can help.
If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately,
day or night:
CaPS: 412-268-2922
Re:solve Crisis Network: 888-796-8226
If the situation is life threatening, call the police:
On campus: CMU Police: 412-268-2323
Off campus: 911
|