The question of what to include in the curriculum when you begin to design a course is completely non-trivial. Especially, if it is a course on the Internet of things. Today we want to share our experiences, how we developed the curriculum for
the Samsung IoT Academy , what goals we pursued and what we did.
Our main goal was to help universities to raise the subject of the Internet of Things, and in areas where universities are difficult to do on their own. In fact, the existing problems in the field of the Internet of Things, starting with the unsettled terminology, the lack of common standards and the “zoo” of equipment, ending with the absence of this topic in the curricula of Russian universities, became the basis for the formulation of requirements:
- The content of the program should correspond to the needs of the modern market: the study of real cases of IoT industry, accepted standards, industrial equipment, design work, etc.
- The program should have a threshold of entry sufficient for a wide range of students of IT specialties of technical universities, i.e. to be an educational program on the Internet of things.
- The program should lead to the creation of laboratories in IoT universities, fulfilling the role of a “funnel” for the selection of students and teachers who will find themselves in a huge stack of IoT technologies.
And that's what we did.
Who is this course for?
We focus on a student who has the following skills at the entrance:
- Basic practices of software engineering: programming style, version control, the experience of self-development of training or personal projects.
- Possession of a high-level programming language (Python, C ++, Java).
- Knowledge of the basics of web programming, javascript language.
- Ability to work in the console Linux.
As you can see, there is nothing super-complicated, and we expect that by the 3-4 course the student quite successfully mastered them.
And, of course, the main thing is that he should have an interest in the subject of the Internet of Things.
Cases
They decided to organize the material in the form of five training cases. Everyone is taken from real life. Many cases were born thanks to Oleg Artamonov (
olartamonov ), who suggested real stories based on his unique professional experience.
An important feature of our Case studies: we offer task formulations that are close to how a real customer could supply them. From tasks there is a transition to tasks, for example:
- Examine the range of existing sensors, choose from them the appropriate price-quality parameter. Pay attention to how cheap is different from expensive, new is from old, and Chinese is from Bosch sensor.
- Examine existing solutions, note successful and unsuccessful moments. We tell you where to look.
- Choose a suitable communication technology: how many routers will have to be installed if we choose WiFi? How many modules do I need to buy if we choose ZigBee? What coverage do we get with LoRa? And so on.
- Calculate the cost-effectiveness of the solution. Estimate how much it will cost in different configurations. Where to buy all this? What is the delivery time?
These questions are suggested to be worked out in preparation for the lesson. During the general discussion in the classroom moderated by the teacher, the student comes to understand the advantages and disadvantages of the various solutions.
Let's go over briefly on Case:
Case 1: Farmclad and LoRa
For the first Case, they took the following story: temperature and humidity monitoring at the pharmaceutical warehouse. This is quite a vital task: insulin can not be frozen, and medicinal herbs - damp.
We decided from the very beginning to give students the opportunity to “touch” something new for themselves. And this new, which is proposed in the first Case, is a wireless technology LoRa. For those who have only heard about BlueTooth and WiFi, this sounds like a fantasy:
- The data transmission distance is several kilometers.
- Work from one battery - several years.
- The size of the transceiver - miniature.
- No subscription fee to the operator: you put your base station, and you can start working.
But miracles do not happen, and in the case of LoRa we get side effects that students feel immediately, as soon as they start working with the equipment:
- Very low data transfer rate: you will have time to get bored while the packet is delivered.
- Very small amounts of data: read bytes.
From the components, students receive a microcontroller module, a LoRa transceiver, and an integrated humidity, temperature and pressure sensor. The existing firmware of the module based on the real-time operating system RIOT OS is sufficiently developed to completely abstract from what happens at the microcontroller level and allow the student to immediately work with data at a high level — the level of writing an application program.
Components for the first Case: microcontroller + transceiver, adapter, sensorCase 2: Electronic Lock and MQTT
As an educational task here is the access control system. Simply put, we make a lock, which, when reading an electronic key, sends data to the server.
As part of the case, a workshop is conducted with the widely used MQTT protocol on the Internet of Things - through it the sensory data, control actions and all information interconnecting the system nodes are passed.
What tasks MQTT helps to solve:
- Properly separate data from applications: so that any programmer can reuse your device with his program
- To establish communication in a common language between dissimilar devices from different manufacturers.
Unfortunately, MQTT at the university is usually not studied. And it is interesting in that it is built according to the Publisher / Subscriber model and introduces an event-driven paradigm that students can only see in GUI programming.
A small bonus: on this task you can pull up those students who are “floating” in the topic of circuit engineering. After all, here they are required to turn on the relay and control the RGB-bulb through the transistor.
A microcontroller with two modules: transistors for controlling an RGB ribbon and a push-button unit.Case 3. Adaptive Lighting and 6LoWPAN
Everyone knows the task to save electricity: in the afternoon, when the sun is high, the light is muffled, and when it gets dark in the evening, to make the light brighter.
As you might have guessed, it all comes down to the task of automatic control. Here is an example of a graph: on the Y axis — illumination in lux, on the X axis — moments of time. The graph shows the moment when the ambient light changed, and the device began to adjust to the new value:
Here is another exercise for those who want to tighten the circuitry. Students will learn what PWM is (pulse width modulation) and how to control the brightness of an LED light bulb.
In the process, who does not know how - mastering the oscilloscopeWe propose to connect each device in such a network of light bulbs and sensors using the 6LoWPAN protocol - this is another new protocol, which, unlike LoRa, works quickly, has a small communication range, but is able to create a cellular (
mesh ) network. This protocol is very suitable for the networks of the “Smart Home”, where the speed of response is critical and the distance is not fundamental.
Finally, in this Case, another concept is introduced - the microcomputer as the central hub of the IoT system. No one will put a desktop computer where it is more compact and cheaper to install a microcomputer with Linux. In our case, this is a Samsung Artik computer. You can connect a LoRa or 6LoWPAN protocol communication module to it and then use it as a server of your system. Of course, students will need skills in the Linux console.
Pumped Samsung Artik 10 computer - supplied it with LoRa-module (in the photo in white)Case 4: Dumpster and Cloud
Case Keys - smart urban economy. Imagine a system that optimizes the routes of garbage trucks, so as not to drive them to waste. Here we make only a part of this system.
The case is reduced to tracking the following parameters:
- Dumpster filling - using an ultrasonic rangefinder
- The presence of fire - using a temperature sensor
- Location - using a GPS sensor.
The motion map of the simulated device. In reality, it is unlikely that anyone can move around Moscow region with such speed.In this Case, we are talking about the Internet of Things and cloud service as one of its components. The IoT platform accelerates testing and implementation of solutions.
Why are cloud technologies important? When the number of devices on the network begins to grow exponentially, the cost of maintaining their servers forces companies to use cloud services. Cloud server power allows you to successfully use data mining techniques. Therefore, our plans are to add to Cases complicated tasks related to the use of machine learning methods.
We offer students to work with the Samsung Artik Cloud platform. This is already
an article, so we will not repeat.
Case 5: Greenhouse and collective development
And, finally, the last Case.
The plot, which is considered in the Case, is a greenhouse, and there are enough subtasks: automatic irrigation, daily lighting cycles for plants, user interface, logging, and plotting.
The screen of the graphical interface of students of the Summer School 2017The basic tools have already been mastered, we are focusing on team development. We arrange a small game in which the teacher plays the role of the customer, and the students play the role of the team of a small developer company. The “customer” tells his wishes to the system, and students must competently draw up the terms of reference, highlight the most important and urgent elements of the functionality to be implemented, distribute the tasks among themselves, select the project manager within the group.
We wanted to demonstrate to students the difficulty in communication between the developer and the customer. Immerse in a situation where the customer can not explain what he wants, and the developer needs to pull out the requirements for the project.
How is the course
In the fall of 2017, we launched our curriculum at two universities - MIPT and MIREA. For the first half of the year, students performed Case studies, and now they have begun individual work on their projects.
All materials are provided in the electronic training system. We even developed paper workbooks to prepare for classes.
Over 100 students enrolled in the course. Statistics on the results of the first semester - in the figure. We regard this result as good: the course was optional, but students attended it, despite the workload in the main curriculum.
Interestingly, among those who left the course, the answers were diametrically opposite: they said that it was too difficult or too easy!
It looks like we guessed the average level of students. We have not yet come up with the right way to lower the level of entry into the program, but for the strong guys we decided to offer this.
Closer to the "gland"
Initially, we did not include in the course the low-level programming of STM32 microcontrollers from the training set, considering that students would not master it in the allotted time. We were wrong! Subject caused keen interest.
As a result, right in the middle of the year, the Institute of IT MIREA organized a supplementary course from Oleg Artamonov “Programming of modern microcontrollers”. Oleg builds his course from top to bottom, that is, he offers to study the topic through programming for the real-time operating system RIOT OS. On our resources you can find
notes and
videos of his lectures.
And at the Moscow Institute of Physics and Technology, teachers and students began to lead their own courses on the same topic. And our young MIPT teachers went much further down the levels of abstraction: to work with registers directly. Here is their
group Vkontakte and
lectures on YouTube.
Summarizing their experience, we will complement our core IoT Academy course for the next academic year. After all, there is nothing more pleasant than solving a problem at a high level, and then at a low level, and feeling free flight in the world of abstractions.
(Null, Lobur - Essentials of Computer Organization and Architecture)What's next?
How will we evaluate the results of the program? Of course, first of all on the final individual projects of graduates. First, there will be a defense of projects at the university level, and then we will arrange an intercollegiate competition.
And in September 2018, we will launch the updated course at already 10 universities throughout Russia:
- MIPT (Moscow)
- MIREA (Moscow)
- HSE (Moscow)
- St. Petersburg State University (St. Petersburg)
- NSTU (Novosibirsk)
- UrFU (Ekaterinburg)
- KFU (Kazan)
- SUSU (Chelyabinsk)
- TUSUR (Tomsk)
- NEFU (Yakutsk)
It is curious that already now our course, reflecting the specifics of a particular institution of higher learning, is becoming distinctive. For example:
- TUSUR (Tomsk) chose information security as the basic direction of the IoT laboratory - we are waiting for interesting scientific and applied work in this most important area of the Internet of Things!
- In Yuru State University (Chelyabinsk) decided that the course will be offered as a base for several faculties at once - in total more than 500 students (!)
- In NEFU (Ekaterinburg) attach great importance to interdisciplinarity. In the team of teachers: a mathematician, a circuit engineer, a programmer, an economist, a radio engineer, a security specialist and a machine vision specialist!
Samsung's IoT Academy has an intense but very interesting academic year ahead.