
Hello! One of the visions of
our company is:
We create knowledge and share it.We share knowledge not only in our articles on a wonderful Habré, but also teaching students programming.
And I am happy to hurry to inform you that starting November 1, we will start courses in the following areas:
')
- FPGA development
- Microcontroller Programming
- Linux System Programming
- Measuring the quality of telecommunication channels
- Software Engineering Basics
The number of places is limited, therefore input testing is naturally present.
Read more and register for courses
here .
And under the cat history of the emergence of courses and more detailed information about the directions, curricula and entrance testing. Welcome!
History of courses
We at the
STC Metrotek have long concluded that the current education, which students, programmers and engineers get at institutes and universities, is not enough.
This education is good, it is excellent, it is fundamental, but it is very often far from reality, from modern commercial development.
That's why four years ago we decided to open programming courses and share our experience with students. No sooner said than done. This is the fourth year in which we conduct courses.
For the first two years, we invited only students from
SPbSUT , so to speak, “according to the old friendship” - me and many of my colleagues are themselves Bonch graduates. In the third year, we expanded the audience with students from
ITMO University . But this year it was decided not to be limited to two universities, but to invite everyone.
The number of referrals has also increased over the years. The first two years we read only three directions:
- FPGA development
- Microcontroller Programming
- Linux System Programming
Last year we decided to add “Measurement of the quality of telecommunication channels”. And this year, the experimental course "Basics of software engineering"
Quotas and input testing
For each direction there will be one group. The maximum number of people in a group is 15. The number of applicants is usually much larger, so a screening test is conducted.
As I wrote in the introduction, we share knowledge. But, of course, this is not the only goal that we pursue.
Another goal is to get smart, rummaging and interested interns, from which excellent developers and engineers will later grow. Therefore, the best of the groups we offer practice in our company.
But periodically specialists who want to get into our courses want to get into the courses.
Those who have completed university studies have a job, but want to expand their technical outlook.
And since we, on the one hand, are more interested in teaching students, and on the other hand, in every way we encourage any desire for learning, we decided to take everyone to the courses. But with a quota - out of 15 places for students 11-12 places are allocated, and for those who have already completed their studies at the university - 3-4.
The type of activity (student or not) will need to be indicated in the questionnaire for testing. We trust people, therefore no confirmation of this information will be required.
Course Content
Naturally, the basis of each course is a set of lectures. List of lectures you can look under the spoilers below.
FPGA development- Introduction
- Logic elements with memory
- State machines
- Memory
- Instrument Description Language: Combination Logic
- Hardware Description Language: synchronous logic
- Hardware Description Language: synchronous logic (events, process control)
- Testbench and simulation
- Introduction to Modelsim
- Fpga
- HDL synthesis
- Various synthesized circuits
- Important aspects of the FPGA-matrix (clock, timing)
- We start the project on the debug board
- Debugging tips
- Verification constructs (subroutines)
- Interfaces
- OOP in verification
- More data types and parameterization
- Assertions and verification coverage
Microcontroller Programming- Introductory lecture
- GPIO
- Rcc
- I2C
- SPI
- Interrupt controller interrupt.
- Timers
- DMA
- ADC
- DAC
- Usart
- Usb General overview of the interface.
- Usb Descriptors, modes of operation, types of transfers.
- Usb Low-level transaction parsing.
Linux System Programming- Introduction
- File I / O
- Processes. Streams
- File systems
- Memory management
- Interrupts, signals
- System Scheduler and Process Dispatch
- Streams. Flow control
- Timers and time management
- Interprocess communication
- POSIX IPC
- Work with network
- Diagnostics, debugging and profiling
- Network traffic frameworks
- Input Output
- Job management
- Compiler libraries
Measuring the quality of telecommunication channels- Introduction
- E1 channel overview
- Measurements in E1: teriya
- Measurements in E1: practice
- Ethernet Overview
- Ethernet measurements
- Ethernet measurements: practice
- Signaling in communication networks
- Common channel alarm systems
- Signaling converged communication networks
- Optical Network Overview
- Reflectometry: theory
- Reflectometry: practice
Software Engineering Basics- Introduction to software engineering
- Requirements Management and Software Design
- Software Development and Testing
- Configuration Management and Software Maintenance
- Basics of project activities
- Software quality
Almost in every course, except for lectures, there are laboratory works. The exception is the course "Basics of software engineering."
The course "Development for FPGA" and "System Programming in Linux" also contains term papers.
At the end of each course exams are held. Following the results of examination tasks, certificates will be issued, and the most talented we will offer practice in our company.
schedule
Courses begin on November 1 and continue until April-May (the exact number of classes can be viewed
on the website ). There will be a break during the session - the second half of December and January.
Classes are held weekly in the evening and lasts 2 hours. Acceptance of applications until October 23, the results will be announced on October 28.


Course location is our office.
The address is St. Petersburg, Kolomyazsky pr., D.27, 4th floor.
PS We once went into the development and forgot to extend the subscription to the corporate blog. Therefore, this month we live without it and it is not in the list of hubs :)