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:



Email: TBA

Hours: TBA


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:

One assignment may be turned in late (up to one week) with no penalty. This policy is meant

to cover such issues as job interviews, travel and so on. The other assignments

must be turned in on time with 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 complaints about grading:







Use of Canvas:







Software Requirements:








Project Grading:


Policy on electronic devices:

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.

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) will be at www.andrew.cmu.edu/~mm6.

The student needs to download and install the most recent Netbeans IDE. Choose the "All" option at this link:


Adelaide Campus





The TA will normally be assigned to grade the projects.

Please confine the use of electronic devices to class related activities.

Optional Textbook:



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.


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 at http://www.cmu.edu/counseling/. 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
If you have questions about this or your coursework, please let me know.

Last Update: August 2017. Maintained by mm6@andrew.cmu.edu