Students

COMP8291 – IoT Embedded Operating Systems and Application Programming

2024 – Session 1, In person-scheduled-weekday, North Ryde

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Unit Convenor and Lecturer
Endrowednes Kuantama
Contact via endrowednes.kuantama@mq.edu.au
4RPD, 313
Thursday, 10 - 12 AM
Lecturer
Yimeng Feng
Contact via yimeng.feng@mq.edu.au
4RPD, 217
Thursday, 10 - 12 AM
Yimeng Feng
Credit points Credit points
10
Prerequisites Prerequisites
COMP6105
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

This unit is intended to provide a practical understanding of embedded/real-time operating systems (OS). The unit investigates the Embedded OS internals by examining key concepts such as kernel architecture and threads, device models, interfaces and drivers, system calls, kernel, filesystem, and system utilities. It also provides students with the knowledge and skills to begin developing and implementing IoT applications.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: Demonstrate knowledge of Real Time Embedded OS architecture and build, maintain, and Install and troubleshoot simple software for real time IoT based embedded systems.
  • ULO2: Program, performance test, and debug embedded software and IoT application programs.
  • ULO3: Demonstrate an ability to process data fed from sensors and be able to program using that data.
  • ULO4: Incorporate security protections into the embedded OS and/or Application.
  • ULO5: Apply methodologies and tools to design and develop software modules using a wide range of IoT application platforms.
  • ULO6: Analyse and assess different IoT application platforms.

General Assessment Information

General Notes

In this unit, you should do the following:

  1. Actively participate in lectures by attending, taking comprehensive notes, and engaging in discussions.
  2. Attend your workshop or practical sessions, and actively seek feedback from your lecturer regarding your assignments.
  3. Thoroughly prepare for and aim to excel in quizzes, demonstrating a strong understanding of the content.
  4. Engage with the assigned readings, supplementing your notes and formulating questions for further clarification during discussions with your lecturer or tutor.
  5. Thoughtfully craft responses to tutorial questions, demonstrating a deep understanding of the material.
  6. Dedicate time to complete any assigned tasks or projects within the given timeframe.

Attendance and Participation Recommendations

  1. It is strongly advised to attend the majority of classes, actively participate in discussions, ask and answer questions, and contribute perspectives from personal backgrounds and workplaces.
  2. Supplementary resources, such as lecture material and digital recordings of lectures accessible through Echo360 via iLearn login, are available for review purposes and in the event of missed lectures. However, it is important to note that these recordings should not be solely relied upon, and copyrighted material may be excluded.
  3. For effective out-of-class communication and engaging in discussions on various topics, iLearn is the primary platform. Accessible at http://learn.mq.edu.au, iLearn provides forums for active participation and is a valuable resource for information dissemination. Regularly reviewing iLearn and conducting background reading before each class is highly encouraged to enhance your overall learning experience.

Assignment and Quizzes Submission

Your assignment is to be submitted online using iLearn.

Late Assessment Submission Penalty

Unless a Special Consideration request has been submitted and approved, a 5% penalty (of the total possible mark of the task) will be applied for each day a written report or presentation assessment is not submitted, up until the 7th day (including weekends). After the 7th day, a grade of ‘0’ will be awarded even if the assessment is submitted. The submission time for all uploaded assessments is 11:55 pm. A 1-hour grace period will be provided to students who experience a technical concern.  For any late submission of time-sensitive tasks, such as scheduled tests/exams, performance assessments/presentations, and/or scheduled practical assessments/labs, please apply for Special Consideration

Assessments where Late Submissions will be accepted

  • Assignment 1 - YES, Standard Late Penalty applies
  • Assignment 2 - YES, Standard Late Penalty applies
  • Quizzes - YES, Standard Late Penalty applies
  • Exam - NO, unless Special Consideration is Granted

Supplementary Exam

If you receive Special Consideration for the final exam, a supplementary exam will be scheduled after the normal exam period, following the release of marks. By making a special consideration application for the final exam you are declaring yourself available for a resit during the supplementary examination period and will not be eligible for a second special consideration approval based on pre-existing commitments. Please ensure you are familiar with the policy prior to submitting an application. Approved applicants will receive an individual notification one week prior to the exam with the exact date and time of their supplementary examination.

Requirements to Pass this Unit

To pass this unit, you must achieve a total mark equal or greater than 50%. This unit does not have hurdle assessments.

Special Consideration

The Special Consideration Policy aims to support students who have been impacted by short-term circumstances or events that are serious, unavoidable and significantly disruptive, and which may affect their performance in assessment. If you experience circumstances or events that affect your ability to complete the assessments in this unit on time, please inform the convenor and submit a Special Consideration request through ask.mq.edu.au.  

Assessment Tasks

Name Weighting Hurdle Due
Assignment 1 20% No Week 7
Assignment 2 20% No Week 11
Quizzes 10% No Week 4-6 and Week 11-12
Workshops 20% No Weekly
Final Exam 30% No Examination Periods

Assignment 1

Assessment Type 1: Practice-based task
Indicative Time on Task 2: 20 hours
Due: Week 7
Weighting: 20%

 

This assessment task involves solving problems in real-time operating system (RTOS). Students will leverage their knowledge of OS and application programming.

 


On successful completion you will be able to:
  • Demonstrate knowledge of Real Time Embedded OS architecture and build, maintain, and Install and troubleshoot simple software for real time IoT based embedded systems.
  • Program, performance test, and debug embedded software and IoT application programs.
  • Demonstrate an ability to process data fed from sensors and be able to program using that data.
  • Apply methodologies and tools to design and develop software modules using a wide range of IoT application platforms.
  • Analyse and assess different IoT application platforms.

Assignment 2

Assessment Type 1: Practice-based task
Indicative Time on Task 2: 20 hours
Due: Week 11
Weighting: 20%

 

Development and Testing: Students will build a prototype internet of things (IoT) application.

 


On successful completion you will be able to:
  • Demonstrate knowledge of Real Time Embedded OS architecture and build, maintain, and Install and troubleshoot simple software for real time IoT based embedded systems.
  • Program, performance test, and debug embedded software and IoT application programs.
  • Demonstrate an ability to process data fed from sensors and be able to program using that data.
  • Incorporate security protections into the embedded OS and/or Application.

Quizzes

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 12 hours
Due: Week 4-6 and Week 11-12
Weighting: 10%

 

Quizzes assess students’ knowledge and understanding on real-time operating system (RTOS) fundamentals and application programming in the context of internet of things.

 


On successful completion you will be able to:
  • Demonstrate knowledge of Real Time Embedded OS architecture and build, maintain, and Install and troubleshoot simple software for real time IoT based embedded systems.
  • Demonstrate an ability to process data fed from sensors and be able to program using that data.
  • Incorporate security protections into the embedded OS and/or Application.
  • Apply methodologies and tools to design and develop software modules using a wide range of IoT application platforms.
  • Analyse and assess different IoT application platforms.

Workshops

Assessment Type 1: Practice-based task
Indicative Time on Task 2: 26 hours
Due: Weekly
Weighting: 20%

 

Practical tasks help guide students to learn practical skills on embedded and real-time operating systems and application programming.

 


On successful completion you will be able to:
  • Demonstrate knowledge of Real Time Embedded OS architecture and build, maintain, and Install and troubleshoot simple software for real time IoT based embedded systems.
  • Program, performance test, and debug embedded software and IoT application programs.
  • Demonstrate an ability to process data fed from sensors and be able to program using that data.
  • Apply methodologies and tools to design and develop software modules using a wide range of IoT application platforms.
  • Analyse and assess different IoT application platforms.

Final Exam

Assessment Type 1: Examination
Indicative Time on Task 2: 20 hours
Due: Examination Periods
Weighting: 30%

 

An examination allows us to individually and securely assess student's mastery of the coursework material.

 


On successful completion you will be able to:
  • Demonstrate knowledge of Real Time Embedded OS architecture and build, maintain, and Install and troubleshoot simple software for real time IoT based embedded systems.
  • Demonstrate an ability to process data fed from sensors and be able to program using that data.
  • Incorporate security protections into the embedded OS and/or Application.
  • Apply methodologies and tools to design and develop software modules using a wide range of IoT application platforms.
  • Analyse and assess different IoT application platforms.

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

COMP8291 is taught via lectures and tutorial/workshop sessions. Lecture classes are held onsite on Mondays from 10 AM to 12 PM, and the workshop classes are held onsite on Wednesdays from 2 PM to 4 PM

Lectures

The lecture sessions for COMP8291 are dedicated to exploring real-time operating systems (RTOS) through a blend of theoretical concepts and hands-on applications, particularly utilizing the STM32 microcontroller. This approach aims to provide students with a comprehensive understanding of the internal workings and design principles of RTOS, with a focus on their practical implementation in building embedded systems for the Internet of Things (IoT).

To support the learning process, various RTOS simulation software tools, including STM32 Cube, FreeRTOS, and WokWi, will be employed throughout the unit. Lecture sessions will lay the foundation for grasping RTOS intricacies, and this knowledge will be put into practice during workshops. The workshops will involve running and porting the FreeRTOS Real-Time Operating System on STM32-based Microcontrollers.

While lecture notes will be provided weekly, viewing them as a guide rather than a substitute for personal notes or the recommended reading list is essential. Students are encouraged to engage with the material actively, supplementing their understanding through the provided lecture notes, personal notes, and the suggested reading list for each week. This proactive approach will contribute to a robust comprehension of the syllabus topics and enhance the overall learning experience in real-time operating systems.

Quizzes

Quizzes are pivotal in assessing student understanding, accounting for 10% of the total course grade. The quiz schedule is structured into two phases: quizzes 1 to 3 occur during weeks 4 to 6, while quizzes 4 and 5 are slated for weeks 11 and 12. Each quiz comprises short questions directly tied to the material covered on the same day, fostering the immediate application of acquired knowledge. To ensure timely submission, students must submit their quizzes within a 2-day window. All submissions should be made through the designated iLearn system, streamlining the evaluation process and maintaining organizational consistency.

Assignments

Students are allotted a four-week timeframe to complete each assignment, emphasizing a structured and thorough approach to their work. Assignments 1 and 2 contribute 20% of each assignment to the overall course grade. Evaluation criteria for assignments encompass three key components: Firstly, 10% of the assessment is dedicated to gauging the complexity of the designed programming application. Secondly, 5% is allocated for evaluating students' understanding of the assignment, as reflected in their presentation. Lastly, as conveyed through the project report (a template will be provided to guide you through this process), an additional 5% is assigned for demonstrating comprehension of the Real-Time Operating System (RTOS) concept. The completed report is then to be submitted through the designated system. Additionally, one week after the submission deadline, you will have the opportunity to present your work. This presentation is a platform to showcase your understanding of the material and the practical applications of RTOS programming concepts.

Assignment 1 is expected by Week 7, while Assignment 2 is to be submitted by Week 11. Both assignments involve tackling real-world problems through the lens of Real-Time Operating System (RTOS) programming. Throughout these assignments, you will delve into problem-solving cases around RTOS programming. The objective is to enable you to apply the theoretical concepts you've learned using one of the widely recognized commercial open-source RTOS platforms.

Workshop

The workshop sessions will be onsite across 12 meetings from Week 2 to Week 13. During weeks 2 to 11, students will concentrate on practical modules, while Week 12 and Week 13 are designated for make-up sessions. Make-up classes are exclusively for students unable to attend previous workshops, and each student is limited to taking only two make-up courses. This workshop component contributes 20% to the overall score, with each meeting assigned a value of 2 marks, making a maximum of 20 marks for the entire workshop.

Attendance at all sessions is highly recommended for students to comprehensively understand implementing Real-Time Operating Systems (RTOS) with the STM32 microcontroller. Full participation ensures a thorough grasp of the practical aspects of RTOS application in real-world scenarios.

Note: practical classes will start in week 2.

Final Exam

The final exam is a comprehensive onsite assessment encompassing practical coding exercises and theoretical concepts related to Real-Time Operating Systems (RTOS). This examination holds significant weight, constituting 30% of the course evaluation. Each question in the final exam is assigned a specific percentage value, reflecting its relative importance in the overall assessment. The primary objective of the final exam is to evaluate students' proficiency per the course's specified learning outcomes. Combining both practical and theoretical components, the exam provides a holistic measure of students' grasp of RTOS concepts and their ability to apply them in real-world scenarios.

TEXT

Course Reading Material Information - COMP8291

Please be aware that there isn't a single textbook covering all the content for this unit. However, your lecturer will provide comprehensive reading materials and detailed notes corresponding to each week's lecture topics. These resources will be provided every week for your convenience. It's essential to note that purchasing these books is not obligatory; their inclusion is based on individual preferences and needs. Students are encouraged to evaluate their requirements and determine whether acquiring these supplementary resources aligns with their learning preferences and objectives.

  1. Jim Cooling, "Real-time Operating Systems Book 1," ISBN: 1795340657
  2. Jim Cooling, "Real-time Operating Systems Book 2 - The Practice: Using STM Cube, FreeRTOS and the STM32 Discovery Board: 1," ISBN: 1973409933

Methods of Communication: Our primary means of communication will be through your university email and announcements on iLearn. It is crucial to consistently check your university email for important updates and information related to the course. Additionally, significant announcements will be posted on iLearn, a centralized platform for accessing vital details about the course. Should you have any queries or require assistance from the teaching staff, including the unit convenor, you have two communication channels. Firstly, you can post your questions on the iLearn discussion board, providing an interactive space for instructors and peers to engage in discussions. Alternatively, you may send emails to the corresponding addresses of the teaching staff using your university email address for official communication. Through these communication methods, we aim to ensure effective and timely dissemination of information and provide the necessary support throughout the course.

Unit Schedule

Week Topic Outcome
1

Unit Introduction

Basic features of RTOS and Embedded SW dynamic architecture (Executives, Switching, Kernels, and OS). Introduction to STM32 development board.

UL01, UL02
2 Scheduling - Free RTOS Scheduler (Task Priorities, queues, and Thread management) UL01, UL02
3 FreeRTOS Semaphores (Mutex and Counting Semaphores) UL02, UL03
4 Concurrency (Priority, task blocking, and protocol) UL02, UL03
5 Intertask communication  UL03, UL04
6 Memory Usage and Management UL02, UL03, UL04
7 Assignment and Unit Review UL02, UL03, UL04
  Break  
8 Multiprocessor systems (Partitioning and allocation) part 1 UL01-UL04
9 Multiprocessor systems (Partitioning and allocation) part 2 UL01, UL02
10 Distributed Systems UL03, UL04
11 Analysis and review of scheduling policies UL03, UL04
12 Performance and benchmarking of RTOSs UL03, UL04, UL05
13 IoT applications + Unit review UL05, UL06

 

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit Student Policies (https://students.mq.edu.au/support/study/policies). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/student-conduct

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Academic Integrity

At Macquarie, we believe academic integrity – honesty, respect, trust, responsibility, fairness and courage – is at the core of learning, teaching and research. We recognise that meeting the expectations required to complete your assessments can be challenging. So, we offer you a range of resources and services to help you reach your potential, including free online writing and maths support, academic skills development and wellbeing consultations.

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

The Writing Centre

The Writing Centre provides resources to develop your English language proficiency, academic writing, and communication skills.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Macquarie University offers a range of Student Support Services including:

Student Enquiries

Got a question? Ask us via AskMQ, or contact Service Connect.

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Standards and Grading

Grades

At the end of the semester, you will receive a grade that reflects your achievement in the unit

  • Fail (F): does not provide evidence of attainment of all learning outcomes. There is missing or partial or superficial or faulty understanding and application of the fundamental concepts in the field of study; and incomplete, confusing or lacking communication of ideas in ways that give little attention to the conventions of the discipline.
  • Pass (P): provides sufficient evidence of the achievement of learning outcomes. There is demonstration of understanding and application of fundamental concepts of the field of study; and communication of information and ideas adequately in terms of the conventions of the discipline. The learning attainment is considered satisfactory or adequate or competent or capable in relation to the specified outcomes.
  • Credit (Cr): provides evidence of learning that goes beyond replication of content knowledge or skills relevant to the learning outcomes. There is demonstration of substantial understanding of fundamental concepts in the field of study and the ability to apply these concepts in a variety of contexts; plus communication of ideas fluently and clearly in terms of the conventions of the discipline.
  • Distinction (D): provides evidence of integration and evaluation of critical ideas, principles and theories, distinctive insight and ability in applying relevant skills and concepts in relation to learning outcomes. There is demonstration of frequent originality in defining and analysing issues or problems and providing solutions; and the use of means of communication appropriate to the discipline and the audience.
  • High Distinction (HD): provides consistent evidence of deep and critical understanding in relation to the learning outcomes. There is substantial originality and insight in identifying, generating and communicating competing arguments, perspectives or problem solving approaches; critical evaluation of problems, their solutions and their implications; creativity in application.

In this unit, the final mark will be calculated by combining the marks for all assessment tasks according to the percentage weightings shown in the assessment summary.

There are no hurdles in the unit.

Concretely, in order to pass the unit, you must obtain an overall total mark of 50% or higher.

Students obtaining a higher grade than a pass in this unit will (in addition to the above)         

    • have a total mark of 85% or higher to obtain High Distinction;
    • have a total mark of 75% or higher to obtain Distinction;
    • have a total mark of 65% or higher  to obtain Credit.

Note:

You are encouraged to:

  • set your personal deadline earlier than the actual one;
  • keep backups of all important assessed tasks;.
  • make sure no one else picks up your printouts.

All work submitted should be readable and well presented.

You should never commit plagiarism in any of your submitted work, including tutorial and practical answers.

Changes since First Published

Date Description
05/02/2024 There's a duplicated sentence in the policies and procedures.

Unit information based on version 2024.03 of the Handbook