Hi, Habr! Autumn came, the birds stretched to the south, normal people went to the sofa, and we, the “iron-name direction” of the GoTo design research school, angrily smoked and bristling with soldering irons clamped in steel arms and wings, knocking into an armored wedge to fly
on October 28 in Peter for the autumn school at ITMO .
Why iron, why nameless, and what will be on the school - first things first.
About problems of denial
The word “robotics” is convenient: without clarifying the term, they can be called a very, very wide class of devices and activities associated with these devices. In this word there is futurism, progress, retro-futurism, nostalgia, a liberated man, skynet, an enslaved man, nanotechnology and, probably, taking into account current trends, blockchain. In general, the word about everything and nothing is a well-trampled common place.
Bores with definitions are usually not held in high esteem, including when it comes to the so-called "educational robotics". Being on the other side of the barricades, with which it is inconvenient to clarify, we in GoTo, nevertheless, were puzzled by the question of a suitable name for the direction that was historically called the “direction of robotics”.
')
The growth in the number of courses offered from each iron under this name has become so rapid that with the word “robotics” an average, normal person first imagines a piece of paper from Lego that travels along the line. "And you, therefore, above this?" - Asks the average, normal reader. We will answer: “No, we are doing a little bit different (we will tell about it below) and suffer from the fact that there is no equally short name for this set of activities”.
The phrase "Internet of Things" is convenient: without clarifying the term, they can be called a very, very wide class of devices and activities associated with these devices. We will not repeat, the thesis is clear: a common place and contemptuously bulging Bazarovskaya lip.
The problem is complicated by the fact that the simple (without the bells and the cap) the name of our activity in an extremely clear and peeled form will look recognizable, but extremely gloomy and very angular - like an APC in the parking lot in front of the supermarket. “Direction of applied radiophysics and electronics”, “Direction of digital signal processing” - do you feel how they look in the ominous grimace of the muzzle consumerism and marketing? Do you see how fashionable young people on hoverboards and spinners in their hands jumped out the windows?
Between this Scylla-Charybdis, we need to rake in the breaststroke: so that the name is recognizable, trending (forgive, Lord!) And bright, but at the same time lying next to the area to be dealt with.
How we got out: trying to be clever ("ferrum studium") and joke ("digital-analog tent"). The manual says: they will not understand it at all. And in response, we won, “among the understandable bioinformatics and data analyzes, a“ black lambda ”started up, you can’t even make out without footnotes, maybe this is something venereal… Well, okay, the leadership knows better.
GoTo, autumn 2017, St. Petersburg. Robotics and Internet of Things *
* Before deciphering what lies behind this common place, I want to tell you about the ideal spherical school in a vacuum. GoTo was originally a design school. That is, as a result of the work of the participants, a product (software or hardware-software) is obtained that can be used. Often, there is only enough time for a hint, a certain hazy outline of such a product, but the story of how we extend the work on a project beyond the framework of a visiting school will be separate.
First of all, the project needs a task. Ideally, this is someone's real need. Not necessarily a “product for a startup” that should be released in billions of copies, the main thing is the presence of at least one future user with a need. It’s not easy to get a real user, whose problem we can solve, at least in theory: 50% of such tasks will be cut off at the start by time and money restrictions, another 30% for a teenager are boring, they are often not interested in heating greenhouses.
The remaining 20% are ours with examples in the form of pediatric prostheses with Motorics, tracking systems for filling boxes for CharityShop, packaging machines, smart dumbbells for Intel and other projects based on the ideas of participants.
As if the paradox: the key moment of the ideal project is its reality (Plato would howl, yes). If we, the preps or participants, start to play in an imaginary customer with an imaginary project, we have creative requirements, assumptions and indulgences. The ultimate option is “the project, which is based on four metal lines and six wheels”. This is a tragicomic case from recent history, for which we are ashamed; we try to avoid such cases with all our might.
Another significant aspect is the input skill set of the participants. There may be two extremes: we - teachers and curators - are practically not needed by the participant (this happened, you could proudly call yourself mentors, and not plow for both shoulder blades) or vice versa, the participant only heard about programming and tried a little ( the more people come to us, the more often such an option is found, which is natural, and absentee elections, alas, are not sufficiently effective).
The ideal case is a participant who is able to follow a joint work plan, eagerly writes tips on check-points and asks for additional consultations.
Due to the normality of the second mentioned extremity, at some point a stream appeared in our schools parallel to the project flow: the course of the young fighter.
Since we are bored too, we are introducing practices aimed at minimizing downtime: we are devising ways to more accurately determine the level of the participant, trying to make combined KMB + project flows.
This time, in the autumn in St. Petersburg, we will act a little cruelly: no projects with imaginary customers and no KMBs. To learn the basics there are online courses and a course for a young fighter in the direction of application programming, where you can learn about cycles and branching without burdening with pull-up resistors and interruptions.
At the autumn school there will be at least two projects covering the specific needs of specific companies. Of course, we will consider the proposals of the participants, we will take in the work. What will the rest of the time be about?
We decided to identify several (six) heterogeneous tasks that are not projects in themselves (due to the fact that they do not solve any problems), but can provide either subsequently applicable knowledge in a fairly narrow area, or some approach that can be apply to self-mining skills. Looking ahead, we note that most of them suggest combining with another task, so that the flour of choice is less painful, and the activity becomes more diverse.
Before turning to the examples, let us leave a small remark-answer-clarification to the legitimate question "Why?" The fact is that any complex device is, in fact, an abstraction. The interface hiding the complex and mysterious offal. C ++ is an abstraction that allows you not to directly access registers and not worry about the integrity of the stack. An ultrasonic sensor is an abstraction that hides extremely complex details of the propagation and reflection of sound. The car is an abstraction from the surrounding weather, making it easy to conceal the space between two points.
The problem is that there is a "law of leaky abstractions", formulated at the time by programmer Joel Spolsky: any non-trivial abstraction is leaky and sooner or later "leaks".
If you do not know how the sensor works, you can get an absolute porridge instead of distance data. If you do not know how the car works (an abstraction covering the weather), then you can fly into a ditch, forgetting about aquaplaning on a slippery road.
We want to slightly open the veil of abstractions and dig deeper into the guts.
First, a little atmosphere Examples- Meticulous examination of the sensor. Take, for example, an ultrasonic rangefinder. Standard practice: here are four wires, here is "Ultrasonic.h", centimeters down to the obstacle. Well, okay, we usually get boring: we initiate a wave there by a gate, the wave returns here, we measure the pulse duration at the input, divide it by a constant, at the output centimeters and go further.
This time we will reach the limit of boredom: a correctly set experiment, the reflection of a wave in various media from various obstacles located in different ways, the study of a number of obtained values, its filtering.
We believe that not everyone will be lucky only to use black boxes, someone will need to create and maintain them, and this is a step in the indicated direction. In addition, the victims of this task will significantly understand ultrasound distance measurements.
- Another example: in a nearby classroom, where application programmers are involved, the computer that drives the code seems to be a given. We traditionally have to count bytes. The experiment showed that some teenagers want to penetrate the computer’s device, so this time we will apply logic to the transistors, assemble the gates, and then make various multiplexers and adders from the gates. This is equally far from the practically applicable project and the traditional course of the young fighter “about everything in the world”, but it is a rather narrow plot - we will try to find a taste for it or at least pull back the curtain of magic.
- Now it is difficult to find developers who do not use "cubes". From neighbors on application programming they take the web with whole frameworks. We will offer to learn how to learn technology, taking for example BLE. It will not be “this is how bluetooth low energy works”, but “this way we are going to find out how bluetooth low energy works”. At the exit - knowledge of how it works, and how to go to learn another technology.
If our colleagues have “the laptop is closed - the workplace is cleaned,” then we have a third wall that limits the flight of the project fantasy - iron, which costs money, takes up space and is not guessed about in advance if we focus on projects invented by children in the process. brainstorming
in the Matryoshka tavern .
In our new format, we will do the opposite. Take, for example, Particle Photon as the original and consider everything it can give us, let’s ride along and across the manual on the platform.
However, we will not disclose all the blanks.
A meticulous reader will ask: “Well, there is no place for inept participants at the fall school?” We will answer: “Some of our blanks do not imply special input requirements, but you should not expect that we will embrace the immense week in a full introductory course.”
If you have:
- "Iron" needs, which are no time to solve - write to us, if the stars converge, we will need from you several hours of attention at the stage of user torture;
- teenagers who do not yet know what they will be doing in the coming holidays - write them to fill out an application for schools .