System Programming
Description: The discipline deals with the organization of multi-threaded computing, the organization and synchronization of various threads in one process on one computer, and in various processes on computers in a local network. Considered in detail the work of various means of synchronization such as semaphores, mutexes.
Amount of credits: 6
Пререквизиты:
- Algorithms, Data Structures and Programming
Course Workload:
Types of classes | hours |
---|---|
Lectures | 30 |
Practical works | |
Laboratory works | 30 |
SAWTG (Student Autonomous Work under Teacher Guidance) | 30 |
SAW (Student autonomous work) | 90 |
Form of final control | Exam |
Final assessment method | A written exam |
Component: University component
Cycle: Base disciplines
Goal
- Familiarity with the basic theoretical and practical aspects of system programming at the level of program development, which allows obtaining modern programs with a complex logical structure at the lowest cost.
Objective
- Obtaining systematized knowledge about the composition and principles of computer management, systems and networks
- Systematization of knowledge about the purpose of the components of operating systems, the principles of functioning of various elements of operating systems and their interaction, generation and development of processes in the system
Learning outcome: knowledge and understanding
- To know the basic concepts of system programming, the theoretical foundations of the instrumental software of the console application of the C# language, to have knowledge about the hardware and the operating system in which they work.
Learning outcome: applying knowledge and understanding
- Be able to develop programs covering system software issues
Learning outcome: formation of judgments
- Be able to form judgments on the improvement and development of application programs
Learning outcome: communicative abilities
- Develop interpersonal and group communication skills within the framework of business and professional cooperation within IT.
Learning outcome: learning skills or learning abilities
- Develop skills in developing, debugging and documenting distributed applications and systems, application programming in modern operating environments
Teaching methods
Информационно-коммуникационные технологии: 1) конструирование занятия с использованием активных и интерактивных методов: – формулировка цели; – составление алгоритмов действий, необходимых для достижения цели; – методическое обеспечение занятия; – анализ итогов путём сравнения поставленной цели с достигнутыми результатами; 2) интерактивное обучение в ходе фронтальной работы: – активное воспроизведение ранее полученных теоретических знаний в новых условиях; – применение обратной связи; 3) проблемное обучение; 4) инновационные методы обучения: – имитационные – игровые (тренинги). – неимитационные (дискуссии; поисковые практические работы; самостоятельная работа). Обучение на основе опыта.
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 | Лабораторная работа 1 | 0-100 |
Лабораторная работа 2 | ||
Лабораторная работа 3 | ||
СРО 1 | ||
СРО 2 | ||
СРО 3 | ||
СРО 4 | ||
СРО 5 | ||
Рубежный контроль | ||
2 rating | Лабораторная работа 4 | 0-100 |
Лабораторная работа 5 | ||
Лабораторная работа 6 | ||
СРО 6 | ||
СРО 7 | ||
СРО 8 | ||
СРО 9 | ||
СРО 10 | ||
Рубежный контроль | ||
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 | |
Ответы на контрольные вопросы | демонстрирует системные теоретические знания, владеет терминологией, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение материалом и способность быстро реагировать на уточняющие вопросы | демонстрирует прочные теоретические знания, владеет терминологией, делает аргументированные выводы и обобщения, приводит примеры, оказывает свободное владение материалом, но при этом делает несущественные ошибки, которые исправляет самостоятельно или при незначительной коррекции преподавателем | демонстрирует неглубокие теоретические знания, недостаточное умение делать аргументированные выводы и приводить примеры, показывает недостаточно свободное владение материалом, логичностью и последовательностью изложения, делает ошибки которые может исправить только при коррекции преподавателем. | демонстрирует незнание теоретических основ предмета, не умеет делать аргументированные выводы и приводить примеры, показывает слабое владение материалом, не владеет терминологией, проявляет отсутствие логичности и последовательности изложения, делает ошибки, которые не может исправить даже при коррекции преподавателем, отказывается отвечать на занятии |
Работа на лабораторных занятиях | выполнил лабораторную работу в полном объеме с соблюдением необходимой последовательности действий; в отчете правильно и аккуратно выполняет все записи, таблицы, рисунки, чертежи, графики, вычисления; правильно выполняет анализ ошибок. При ответе на вопросы правильно понимает сущность вопроса, дает точное определение и истолкование основных понятий; сопровождает ответ новыми примерами, умеет применить знания в новой ситуации; может установить связь между изучаемым и ранее изученным материалом, а также с материалом, усвоенным при изучении других дисциплин. | выполнил требования к оценке «отлично», но допущены 2-3 недочета. Ответ обучающегося на вопросы удовлетворяет основным требованиям к ответу на «отлично», но дан без применения знаний в новой ситуации, без использования связей с ранее изученным материалом и материалом, усвоенным при изучении других дисциплин; допущены одна не критичная ошибка или не более двух недочетов, при этом обучающийся может их исправить самостоятельно без помощи преподавателя. | выполнил работу не полностью, но не менее 50% объема лабораторной работы, что позволяет получить правильные результаты и выводы; в ходе проведения работы были допущены ошибки. При ответе на вопросы обучающийся правильно понимает сущность вопроса, но в ответе имеются отдельные проблемы в усвоении вопросов курса, не препятствующие дальнейшему усвоению программного материала; допущена одна грубая ошибка и не более двух-трех недочетов, при этом обучающийся может их исправить с небольшой помощью преподавателя. | выполнил работу не более 50% от объема, что не позволяет сделать правильных выводов. При ответе на вопросы демонстрирует отсутствие владения основными знаниями и умениями в соответствии с требованиями программы; допущены больше ошибок и недочетов, чем необходимо для оценки «удовлетворительно», не может ответить на большую часть из поставленных вопросов. |
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
- Основные понятия системного программирования
- Побитовые операции в языке C#
- Небезопасное программирование в языке C#
- Использование указателей при работе с массивами
- Регулярные выражения
- Понятие нитей в системном программировании
- Использование данных разными нитями одного процесса
- Режимы работы нитей
- Процессы в Windows
- Синхронизация нитей
- Специальные блокирующие конструкции
- Автоматическая синхронизация нитей
- Обмен данных между процессами
- Работа с каналами в языке C#
- Потоковые адаптеры и анонимные каналы
Key reading
- В.В. Фаронов «Создание приложений с помощью C#» Руководство программиста. - М.: “Эксмо”, 2008г.
- Т.А. Павловская C#, Программирование на языке высокого уровня. Учебник для вузов, СПб,: Питер, 2009г.
- Д. Албахари, Б. Албахари «C# 3.0 справочник» СПб,: «БХВ - Петербург» 2009г
- В.М. Рябенький и др. Компьютерное управление внешними устройствами через стандартные интерфейсы, Учебное пособие, Олди-плюс, Херсон, 2008г.
- Презентации лекций по дисциплине «Системное программирование» для студентов специальности 5В070400 – смотри портал кафедры ИС http: \\ www.do.ektu.kz
- Методические указания к лабораторным работам, СРС и СРСП дисциплины «Системное программирование» специальности 5В070400 Портал кафедры ИС http: \\ www.do.ektu.kz
Further reading
- Э. Йодан Структурное программирование и конструирование программ. М.: ”Мир”, 2014г.
- Д. Кнут. Искусство программирования для ЭВМ. Т.1./ Основные алгоритмы / - М.:Мир, 2007.