COMP6733  Internet of Things Design Studio 


  COURSE OUTLINE


Course staff 


Note: Consultation hours are subject to change. Any changes will be announced on course website.


Lecturer-in-charge

Lab demonstrator

Name

Dr. Wen Hu

Guohao Lan

Email

wen.hu@unsw.edu.au

glan@cse.unsw.edu.au

Office

Room 609, Building K17

Room 401, Building K17

Consultation hours

Monday 13:00-14:00 (Weeks:1-9,11-13)


Note: Consultation hours are subject to change. Any changes will be announced on course website.



 

General course information 


Units of Credit

6


Note: This signifies 25% of a full-time study load for one semester and at least 12 hours of work per week. 

Pre-requisites / Co-requisites

65 WAM and COMP9331 or COMP3331

Assumed knowledge 

  • Computer Networks: Layering, Medium Access Control, Routing and Transport layer 
  • Good familiarity with Linux
  • Math knowledge from core courses:
    • Probability and statistics
    • Graph Theory and algorithms 
    • Calculus
    • Linear algebra
  • Familiarity with a high level programming language such as Java and Python AND a low level programming language such as C.


Learning and teaching philosophy

The course consists of the following learning components:

  • Lecture of 3 hours per week
  • Guided laboratory work for 3 hours per week in Weeks 1-6.
  • Internet of Things project

The aim of the lectures is to facilitate learning and understanding of the important concepts within the course syllabus. Lecture notes will be available at the course web site for downloading before the lecture. In addition to attending the lectures (compulsary), students are also asked to study the recommended reading materials before and after the lecture. A number of study problems will be issued each week. These problems give the students a chance to test whether they have understood concepts that are introduced in the lecture. Time in the lecture, if available, may be used to discuss some of these study problems. Solutions to these problems will be available on the course web site. 


This course will also provide practical training on programming Intenet of Things (IoT) devices. Each student will be loaned at least one IoT device during the duration of this course for them to work on the laboratory exercises and project. 


Guided laboratory on IoT programming will take place from Weeks 1-6 for 3 hours per week. Laboratory worksheet in self-study style will be issued on the course web site. A laboratory demonstrator will be available to help students with their work. Each laboratory exercise comes with an assessment exercise. Students are expected to demonstrate the assessment to their laboratory demonstrators in the next lab session that they have completed their exercise satisfactorily. 


The aim of project is to give students an opportunity to work on an extended development IoT project. The project work will be done in teams of up to 3 students. 


Course aims: 

Students will learn the principles behind designing IoT. 


Topics include a selection from: IoT technology and services, IoT system architecture, Low Power communications (Bluetooth Low Energy and 6LoWPAN) and security issues, time synchronisation and localisation, sensor data smoothing and filtering, light-weight machine learning and data fusion, inertial sensing, activity recognition and fitness morning, biometric authentication and cloud services for IoT. 


Learning outcomes


Students successfully completing this course will have a working knowledge of the topics on IoT covered, and will be able to demonstrate their knowledge both by describing aspects of the topics and by solving problems related to the topics. They will have practical experience with the topics covered in the laboratory exercises and project undertaken. 



Assessment


There are altogether 3 assessment components as listed in the table below. 


Assessment components

Details

Weighting 

Laboratory

5 Laboratory assessment exercises  

See Laboratory section for details. 

15%

Problem Sets


Problem set 1: Issue in Week 5 and submit by Week 10

15%

Project (Research, presentation, practical work, reports and demo)

Project plan and preliminary foundings class presentation (Week 6/7)

Report by Friday (Week 7)

10%

Project milestone 1 class presentation (Week 8/9)

Report by Friday (Week 9)

10%

Project milestone 2 class presentation (Week 11/12)

Report by Friday (Week 12)

10%

Project final report (15%) and demo (25%)


Report and code due 11:59pm Sunday 20 Nov 2016.

Demo dates: Monday 21 Nov 2016 or Tuesday 22 Nov 2016, to be negotiated with the LiC. (Note that these days are after the end of the examination so that they won't clash with your examination timetable.) 

40%


The following assessment rules apply:

  1. You must attempt all assessment components.
  2. Your raw score is computed as the weighted sum (with the weightings listed above) of the score for each assessment component.
  3. Your final score will be computed according to the following rules:
    1. If you obtain 40% or more for all three assessment components, your final score equals to your raw score.
    2. If you obtain less than 40% for any one of the three assessment components, your final score is the smaller of your raw score and 64. For example,
      1. If at least one of your assessment components is less than 40% and your raw score is 70, your final score will be 64.
      2. If at least one of your assessment components is less than 40% and your raw score is 50, your final score will be 50. 

Late submission of any form of assessments: Assessments submitted late are subject to the following penalty: the maximum mark obtainable reduces by 10% per day late. Thus if the assessment is marked out of 10, and students A and B hand in assessments worth 9 and 7, both two days late, then the maximum mark obtainable is 8, so A gets min(9, 8) = 8 and B gets min(7,8) = 7. Assessments handed in over 5 days late will receive no marks.


Assessment submission: Assessment submission procedure is described in the assessment specification document, which will be linked to this page when the assessment specification becomes available. Generally assessments are submitted electronically using the give program running on the School's computer systems (in labs, and on servers). Details will be given in the assignment specifications. You may sometimes be asked to submit a hard copy of your assignment. Again, details will be in the assignment specification.


Supplementary Assessment: see the supplementary assessment policy part of the "yellow form" that you were shown when you obtained your CSE computer account. Since there is no final exam for this subject, no supplementary exam will be available. 


Note on Parallel Teaching: The course will be attended by both undergraduate and postgraduate students. Note that the expectations on the postgraduate students will be higher. The Class Test for postgraduate students will contain questions of a higher standard. They are also expected to present more difficult papers in the seminar and their reports will also be expected to be of a higher standard. 


You should also read the course policy on Academic Honesty and Plagiarism. 



Course and laboratory schedule


The course will meet Monday 14:00 - 17:00 (Weeks:1-9,11-12) in Chemical Sciences Bulding M10 (K-F10-M10) for lectures. 


You should have already signed up one of these laboratory groups. Guided laboratory will take place in Weeks 1-6.


Lecture and laboratory schedule: (the order and content shown below may vary - this is an indication only. Any changes will be announced in the course website.). 


Week

Date

Lecturer

Lecture topic 

Laboratory

Remarks.

1

25 July

Wen

Course organisation. 

Introduction to Internet of Things (IoT) and

Foundation topics on IoT

Getting started and Contiki fundamentals

(Assessment to be demonstrated in the next lab) 

You will be loaned a SensorTag and Raspberry Pi Kit in your laboratory sessions.


2

1 Aug

Wen

Low Power Communications: IEEE 802.15.4, Bluetooth Low Energy, RPL, 6LoWPAN

Networking

(Assessment to be demonstrated in the next lab) 

List of project posted. 

3

8 Aug

Wen

CoAP, Web Services for Internet of Things  

CoAP, Web services, and sensors

(Assessment to be demonstrated in the next lab) 

4

15 Aug 

Wen

Time synchronisation and Localisation 

RF Ranging/Localisation

(Assessment to be demonstrated in the next lab) 

Project team finalised. 

5

22 Aug

Wen

Basic Signal Processing, Light-weight machine learning, Data fusion


Signal Processing, Data fusion, and machine learning

(Assessment to be demonstrated in the next lab) 

6

29 Aug

Guest Lecturer/Wen

Android fundamentals, tips and tricks (1 hour)

Project presentation (I) odd number groups

Embedded Signal Processing with Android

(Assessment to be demonstrated in the next lab) 



7

5 Sept

Guest lecturer/Wen

Intro to User Experience (UX) (tentative)(1 hour)

Project presentation (I) even number group


Note: No laboratory exercise this week.  

Marking of laboratory assessment given in Week 6.

Submit preliminary project report. 

8

12 Sept

Guest lecturer/Wen

Intro to Quality Assurance (QA) (tentative) (1 hour)

Project presentation (II) odd number groups




9

19 Sept

Guest lecturer/Wen

Guest lecture, advanced topics (1 hour)

Project presentation (II) even number groups 


Project milestone 1 report.




Session break - no lecture



10

Labour day public holiday  

no lecture



11

10 Oct

Wen

Project presentation (III) even number groups


12

17 Oct

Wen

Project presentation (III) odd number groups


Project milestone 2 report.

13






(17)

21-22 Nov


Project demo and interview (time and date to be 

negotiated with the Lecturers)


Return your SensorTag and Raspberry Pi kits at the end of project demo and interview.



Student resources:


IoT are young, emerging and fast developing topics. The course materials will draw from books, professional journals and conference papers. 


You will find the following books in the library:


We will be using a number of journal or conference papers in this course. These will be provided on the course web site and you can access them using your CSE password. 



Guided laboratory and laboratory assessment:


Students are required to attend a guided laboratory from Weeks 1-6 where they will learn programming IoT devices. Laboratory worksheets will be available on the course website. There will be a lab demonstrator assisting in the laboratory. 


The equipment to be used is the Raspberry Pi Model B+ and SensorTag. Each student will be loaned one Raspberry Pi Model B+ kit and one SensorTag for doing the laboratory and the project. The students will need to sign a loan form and undertake to return these motes in good condition. The motes will be handed out in the laboratory session in Week 1. You must return them at the end of your project demo and interview. 


The lab in Week 1 will provide a basic overview of Contiki, SensorTag and Raspberry Pi. Each lab in Weeks 2-6 has an assessment exercise that comes with it. You are given a week to complete these exercises and you will need to demonstrate this to the lab demonstrator in the next laboratory session. Although there is no laboratory exercise for Week 6, you will still need to attend the laboratory to do the demonstration. The exercises for Weeks 2-6 are worth 5 marks each. 



Projects:


The aim of the project is to give the students an opportunity to do a small research and development project in IoT. The project work is to be performed in teams of 3 students. 


The modus operandi is:

Note that the dates 21-22 Nov 2016 are after the last day of the final examination, so the demonstration will not clash with your exam. 


Note that there is no formal examination for COMP6733. The project takes the role of the final examination, so the expectations are that you work on the project during the examination period. 



Communications via e-mail

  1. You should check your school e-mail frequently in case of announcements relating to this course. We assume that you read e-mail sent to your CSE account by the next working day during teaching sessions.
  2. Students must follow the proper communication channels:-
    1. The official course mailing address (cs6733@cse.unsw.edu.au) should only be used for students who have personal problems and wish to seek help from LIC or Administrator on confidential basis. Please allow up to a week to receive a reply but we will attempt to reply sooner. If it's urgent, use the consultation hours.
    2. We prefer you to email us using your CSE or UNSW email account. If you are e-mailing us from either a non-cse or a non-UNSW e-mail account (such as hotmail, yahoo, etc), you must include your full name and student number in the e-mail to enable us to identify you, otherwise we will not reply to your email.
    3. Do not send direct emails to LIC, Administrator, etc. via their personal email addresses. Emails received at private accounts will not be read and automatically deleted without reply.


Academic honesty and plagiarism


Copying assignments is unacceptable. Assignments will be checked. The penalties for copying range from receiving no marks for the assignment, through receiving a mark of 00 FL for the course, to expulsion from UNSW (for repeat offenders). Allowing someone to copy your work counts as plagiarism, even if you can prove that it is your work.


Further details of the School plagiarism policy can be found  here. (You acknowledged receipt of these rules when you obtained your CSE computer account, and the link above is for your convenience so that you can review the rules now.)


We are aware that a lot of learning takes place in student conversations, and don't wish to discourage those. However, it is important, for both those helping others and those being helped, not to provide/accept any programming language code in writing, as this is apt to be used exactly as is, and lead to plagiarism penalties for both the supplier and the copier of the codes. Write something on a piece of paper, by all means, but tear it up/take it away when the discussion is over.


If you are new to studying in Australia, be aware that attitudes to plagiarism, and/or definitions of plagiarism, at UNSW may be different from those in your home country. Make sure you are clear about the rules here at UNSW. In brief, plagiarism includes copying or obtaining all, or a substantial part, of the material for your assignment, whether programming language code, or written or graphical report material, without written acknowledgement in your assignment from:

    1      a location on the internet;

    2      a book, article or other written document (whether published or unpublished)  whether electronic or on paper or other medium;

    3      another student, whether in your class or another class;

    4      a non-student (e.g. from someone who writes assignments for money)


Note that if you copy code or other material from another student or non-student with acknowledgement, you will not be penalised for plagiarism, but you are unlikely to get any marks for the copied material. If you use code found in a publication (on the internet or otherwise) then the marks you get for this will be at the marker's discretion, and will reflect the marker's perception of the amount of work you put into finding and/or adapting the code, and the degree to which you understand the code.


Note also that there is a big difference between being able to understand someone else's code, and writing that code yourself from scratch. A computer programmer has to be able to write code from scratch. 


Continual course improvement


Student feedback on this course, and on the lecturing in this course, will be gathered via questionnaires held at or after the end of the course. Student feedback is taken seriously, and continual improvements are made to the course based in part on this feedback. The course questionnaire results go to the Head of the School of Computer Science and Engineering, who reads the results and follows up in cases where action is clearly needed. 


The project has been turned into a research and development project to give the students an opportunity to define their own project. We have also updated the sensor hardware to Raspberry Pi kits and SensorTag as they have wide applicability in the emerging Internet of Things.



Further information