Programming controllers PC IBM
Description: The discipline refers to the basic disciplines of the elective course. The discipline studies the basics of structured programming in C ++, integrated development environments for software products Microsoft Visual Studio.Net and CodeBlocks, Arduino IDE for programming and debugging Arduino microcontrollers.
Amount of credits: 5
Course Workload:
| Types of classes | hours |
|---|---|
| Lectures | 15 |
| Practical works | 30 |
| Laboratory works | |
| SAWTG (Student Autonomous Work under Teacher Guidance) | 30 |
| SAW (Student autonomous work) | 75 |
| Form of final control | Exam |
| Final assessment method | written exam |
Component: Component by selection
Cycle: Base disciplines
Goal
- formation of theoretical knowledge and practical skills in the field of programming and development of electronic devices based on microprocessor controllers.
Objective
- to acquaint with software design technologies, programming languages, modern development environments
- to learn the basics of structured programming in C++
- acquisition of software development skills for IBM PC compatible controllers in a modern programming environment
- to develop in students the skills of program control of electronic devices made on the basis of microcontroller boards
- develop the ability to independently acquire and deepen the knowledge gained during the course
Learning outcome: knowledge and understanding
- programming technologies in the development of software for microprocessor controllers
- structural programming in C++
- modern development and simulation tools for creating software for microprocessor controllers of control systems
Learning outcome: applying knowledge and understanding
- use of modern tooling and debugging tools for developing software products for microprocessor controllers
- designing software for devices with microcontroller control
Learning outcome: formation of judgments
- programming technologies and methods for designing electronic devices and devices based on microprocessor controllers
- organization of work on the development and implementation of software systems for automated control systems for various production facilities
Learning outcome: communicative abilities
- have the skill of formulating a problem and presenting a proposed design solution in the field of organizing work on the development and operation of microprocessor complexes in automatic control systems for technological processes and installations, both to specialists and non-specialists
Learning outcome: learning skills or learning abilities
- understand the logic of microcontroller control systems and microcontroller control devices
- creation of software prototypes for solving applied problems based on microprocessor controllers
- use of special tools for programming microprocessor controllers
Teaching methods
When conducting training sessions, it is planned to use the following educational technologies: - interactive lecture (application of the following active forms of learning: guided discussion or conversation; moderation; demonstration of slides or educational films; brainstorming; motivational speech);
- construction of scenarios for the development of various situations based on the specified conditions;
- information and communication (for example, classes in a computer classroom using professional application software packages);
- search and research (independent research activity of students in the learning process);
- solving educational tasks.
Assessment of the student's knowledge
Teacher oversees various tasks related to ongoing assessment and determines students' current performance twice during each academic period. Ratings 1 and 2 are formulated based on the outcomes of this ongoing assessment. The student's learning achievements are assessed using a 100-point scale, and the final grades P1 and P2 are calculated as the average of their ongoing performance evaluations. The teacher evaluates the student's work throughout the academic period in alignment with the assignment submission schedule for the discipline. The assessment system may incorporate a mix of written and oral, group and individual formats.
| Period | Type of task | Total |
|---|---|---|
| 1 rating | implementation and defense of task 1 | 0-100 |
| implementation and defense of task 2 | ||
| implementation and defense of task 3 | ||
| implementation and defense of task 4 | ||
| implementation and defense of task 5 | ||
| implementation and defense of task 6 | ||
| Boundary control 1 | ||
| 2 rating | implementation and defense of task 7 | 0-100 |
| implementation and defense of task 8 | ||
| implementation and defense of task 9 | ||
| Boundary control 2 | ||
| Total control | Exam | 0-100 |
The evaluating policy of learning outcomes by work type
| Type of task | 90-100 | 70-89 | 50-69 | 0-49 |
|---|---|---|---|---|
| Excellent | Good | Satisfactory | Unsatisfactory |
Evaluation form
The student's final grade in the course is calculated on a 100 point grading scale, it includes:
- 40% of the examination result;
- 60% of current control result.
The final grade is calculated by the formula:
| FG = 0,6 | MT1+MT2 | +0,4E |
| 2 |
Where Midterm 1, Midterm 2are digital equivalents of the grades of Midterm 1 and 2;
E is a digital equivalent of the exam grade.
Final alphabetical grade and its equivalent in points:
The letter grading system for students' academic achievements, corresponding to the numerical equivalent on a four-point scale:
| Alphabetical grade | Numerical value | Points (%) | Traditional grade |
|---|---|---|---|
| A | 4.0 | 95-100 | Excellent |
| A- | 3.67 | 90-94 | |
| B+ | 3.33 | 85-89 | Good |
| B | 3.0 | 80-84 | |
| B- | 2.67 | 75-79 | |
| C+ | 2.33 | 70-74 | |
| C | 2.0 | 65-69 | Satisfactory |
| C- | 1.67 | 60-64 | |
| D+ | 1.33 | 55-59 | |
| D | 1.0 | 50-54 | |
| FX | 0.5 | 25-49 | Unsatisfactory |
| F | 0 | 0-24 |
Topics of lectures
- Introduction to programming in C++
- Fundamentals of programming in C++
- Elements of the C++ language
- Conditional structures
- Repetition structures
- Streams and files
- One-dimensional arrays
- Sorting algorithms
- Two-dimensional arrays
- Functions
- Addresses and pointers
- Modern microcontrollers
- Basic functions of the microcontroller based on Arduino
- Integrated Development Environments
- Programming and debugging applications for microcontrollers
Key reading
- Belov A.B. Programmirovanie ARDUINO. Sozdaem prakticheskie ustroistva.- SPb.: Nauka i Tehnika, 2018. - 272 s.
- Orlenko P.A., Evdokimov P.V. C++ na primerah. Praktika, praktika i tolko praktika. – SPb.: Nauka i Tehnika, 2019 god. – 288s.
- Monk S. Programmiruem Arduino: Osnovy raboty so sketchami. 2-e izd. – SPb.: Piter, 2017. – 208s.
- Petin V. A. Arduino i Raspberry Pi v proektah Internet of Things. 2-e izd., pererab. i dop. – SPb.: BHV-Peterburg, 2019. - 432 s.
- Şild G. S++. Bazovyi kurs. – M.: Vilıams, 2010. – 624s.
Further reading
- Deitel H. M., Deitel P.Dj. Kak programmirovat na C++.: per. s angl. – M.: Binom-Press, 2010. – 1454s.
- Pavlovskaıa T. A. C/C++. Programmirovanie na ıazyke vysokogo urovnıa : dlıa magistrov i bakalavrov. - Sankt-Peterburg, 2017. - 460 s.
- Osnovy programmirovaniıa na ıazykah Si i C++ dlıa nachinaiyşih. Rejim dostupa: http://cppstudio.com/
- Programmirovanie na S i S++. Rejim dostupa: http://www.c-cpp.ru/