CSCI 4830-19/CSCI 7000-18: IoT and Wireless Systems - Tam Vu

CSCI 4830-19/CSCI 7000-18: IoT and Wireless Systems

Spring 2018



General Information

  • Course number: CSCI 4830-19/CSCI 7000-18
  • Instructors: Tam Vu
  • Email: Tam [dot] vu [at] colorado [dot] edu
  • Class hours: Tuesday & Thursday: 9:30am - 10:45am.
  • Office hours: TBA
  • Class location: ECCR 200
  • Prerequisites: Wireless communications, computer networks, embedded systems, or related courses, and knowledge of programming.
  • Co-Prerequisites: None.
  • Course Credits: Three (3).
  • Required Texts and Materials: No textbook is required. Students are expected to read research papers.

Course overview

University Course Catalog Description: Wireless and mobile systems have become ubiquitous; playing a significant role in our everyday life. However, the increasing demand for wireless connectivity and the emergence of new areas such as the Internet of Things present new research challenges. This course of Wireless Technologies and Applications introduces relevant concepts and emerging trends in wireless technology and its applications. In particular, we will look at Wireless X in which X can be Communication, Technology, Sensing, Security, Charging, Health, and Applications.

Course Goals and Learning Objectives: The goal of this course is that you will have gained the following knowledge at the completion of the semester:

  • Insights into essential wireless communication, technology, sensing, security, charging, health, and applications
  • Skills in design and implement practical wireless systems from beginning
  • The learning objectives of this course are:

  • Learning the initiative and critique research ideas in networks and mobile systems
  • Learning how to properly design and build wireless systems through research project

  • Embedded systems

  • Interfacing with the physical world
  • Classic networking
  • IoT architecture
  • IoT networking
  • Cloud computing
  • Smartphones
  • Data visualization and analytics
  • IoT applications

  • Course schedule

    Week Lecture Content
    Day 1 Day 2
    1 Introduction
    2 Embedded systems I: CPU/MCU, FPGA, ASIC, timers, clocks, PWM, I2C, SPI
    3 Embedded systems II: embedded programming – interrupts, scheduler, event handler, race conditions
    4 Interfacing with the physical world: sensors and actuators, amplification, filtering, signal processing, ADC, DAC
    5 Classic networking: layering – PHY, MAC, IP, routing, TCP/UDP
    6 IoT architecture: topologies, edge routers, client-server architecture, P2P, M2M
    7 Mini-lab 1 Mini-lab 2
    8 Mini-lab 3 Mini-lab 4
    9 Mini-lab 5 Mini-lab 6
    10 IoT networking: IPv6, 6LowPAN, CoAP, and various sensornets protocols (collision avoidance, buffering, reliability)
    Spring Break (03/27 and 03/29)
    11 Edge and Cloud computing: web services, HTTP, RESTful interactions, service discovery, databases, API
    12 Smartphones: iOS / Android programming, embedded sensors, IoT gateway
    13 Data visualization and analytics
    14 IoT applications
    15 Final presentation


    Course Grade

        Activities Percentage
        Class and lab attendance 10%
        Labs (6 labs, each 5%) 30%
        Mid-term 15%
        Final project
      • 10% Project proposal
      • 10% Milestone checkpoints
      • 30% Final presentation and submission
      • 50%

      Letter Grades are as follows:

      • A –“Superior/Excellent”, 90 – 100%
      • B –“Good/Better than Average”, 80 – 89%
      • C –“Competent/Average”, 70 – 79%
      • D –“Minimum Passing”, 60 – 69%
      • F –“Failing”


    Course procedures

  • Assignments: Examinations are intended to measure your individual mastery of the material. Exams concentrate on your understanding of the important concepts, rather than your ability to memorize details. All major examinations will be held in class with exact dates determined in class. The exams will generally test your knowledge of lecture material, so you are responsible for mastering all topics and programming material submitted with other partners. All exams will be open book and open notes (unless otherwise stated). The nature of the course material is such that the exams must be cumulative.

  • Extension/Make-ups: In general, late work will not be accepted. Turn in all work by the established deadline. In case you have difficulties finishing an assignment contact the instructor before the deadline. Late work can be accepted only under circumstances beyond student's control and after arrangement with the Instructor, prior to the deadline. Note: work turned-in on time is eligible for partial credit. It will always be better to turn work in by the deadline, as trying to "perfect" it and turn it in late will give you no points at all. You have to follow the submission and media policies and guidelines published on the web. Plagiarism is the passing of someone else's work as one's own, without giving the original author due credit. Scholastic dishonesty will be treated very strictly as per University of Colorado Boulder rules.

  • Lectures: Lecture materials will be made available on the web prior to class. Lecture will also consist of chalk drawings, overhead drawings, and content not explicitly present in slides and notes.

  • E-mail Policy: I will be using the University e-mail system. I will be checking my email frequently and you can expect a response within 48 hours (holidays excluded). All email communication by students must use colorado.edu as the email domain, emails from gmail, hotmail, yahoo, etc are NOT considered valid methods of communication.


  • Student Expectations

  • Civility: My commitment is to create a climate for learning characterized by respect for each other and the contributions each person makes to class. I ask that you make a similar commitment.

  • Professionalism: Since mobile devices can be distracting during class, I ask that all devices be put into “silent” mode and not utilized during class; this includes checking Facebook, sending a Tweet, or checking e-mail. If I feel that your mobile device is becoming a distraction for either other students, you, or myself I will ask you to leave the classroom. Additionally, playing videos or other music without the use of headphones is prohibited. Headphones can only be used during open lab (not during announcements and lecture).

  • Religious Observations: I understand that an individual’s religion plays a large part in their lives and I do not want this course to interfere with that aspect of their lives. If you find that your religions holiday(s) falls on a class day and you cannot attend due to this, please notify me prior to that class date by e-mail and we can work together to find an acceptable solution.

  • E-mail Policy: I will be using the University e-mail system. I will be checking my email frequently and you can expect a response within 48 hours (holidays excluded). All email communication by students must use colorado.edu as the email domain, emails from gmail, hotmail, yahoo, etc are NOT considered valid methods of communication.


  • Collaboration and Cheating

    I encourage you to review material and discuss ideas together for the assignments and to work on problems you encounter. It is a characteristic of computation that discussions often help to clarify problems and resolve difficulties – feel free to take advantage of this to improve your understanding of the material, and to complete labs, but make sure that you then create your own work . It’s important that you go through the program design, coding, and debugging process yourself, or you will not be developing your own programming skills and understand. “Working together” does not mean that one student does the majority of the work and other students put their name on it! If you have questions about what this means, please see me. Every student must create their own work on their own! (this is easy to check for, so do your own work).

    Any instances of checking will result in either a zero for the lab, a grade of zero in the course, or sanctions determined by the university (including suspension and expulsion).

    University Policies

    Academic Honesty and Student Code of Conduct: Students are expected to know, understand, and comply with the ethical standards of the university, including rules against plagiarism, cheating, fabrication and falsification, multiple submissions, misuse of academic materials, and complicity in academic dishonesty.

    Copyright © Tam Vu 2017