95-733 Internet of Things

[ Home | Course Info | Schedule | Course description]


Course Syllabus


Michael J. McCarthy

Office: Hamburg Hall 3015
Phone: (412) - 268-4657
See Home Page for Office Hours

Teaching Assistant:

Erick German Rodriguez Alvarez
Email: erickger@andrew.cmu.edu
See Canvas for Office Hours

Erick German Rodriguez Alvarez


95-712 Object-Oriented Programming in Java or by permission of the 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-


Three programming projects equally weighted (50%).

Quiz on readings at start of lecture with low score dropped (10%).

Closed Book Final Exam based on readings, lectures, and programming (40%).


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 Netbeans IDE. Choose the "All" option here.

Time and place:

Tuesday 9:00 AM Adelaide Campus TOR CLASS1

Required 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. Examine and critique some of the most important message formats and interaction patterns being used on the World Wide Web and the IoT.

2. Build web applications using proven developer tools and message formats. We will build web applications using technologies such as Java, Javascript, AJAX, XML, JSON, and Websockets.

3. Describe the differences and similarities between two important meta-languages - XML and JSON.

4. Explore several standards that play a significant role in the Internet of Things. We will study HTTP, MQTT, XMPP, and CoAP

5. Examine the impact of the World Wide Web's design on the Internet of Things.

6. Consider the impact of the semantic web on the Internet of Things (JSON-LD).

7. Develop an understanding of and an appreciation for the wide variety of XML languages that are being used in many industries.

8. Gain experience developing firmware for a microcontroller.

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

Last Update: May 2018. Maintained by mm6@andrew.cmu.edu