WORLD GATEWAY EDUCATION AGENCY WORLD GATEWAY EDUCATION AGENCY
Университет информационных технологий и менеджмента

Инженерия кибербезопасности

Бакалавр Очная 4 год

О программе

I. Содержание науки

Целью преподавания естественных наук является изучение основных принципов сбора, хранения, обработки и передачи информации посредством языка программирования C++. Также изучаются методы и технологии создания современных информационных систем и их создание. Он заключается в решении задач, связанных с различными техническими знаниями, с использованием современных языков программирования и изучения их методов.

Задача науки Суть предмета «программирование», его основные принципы и цели заключаются в формировании алгоритмических знаний учащихся . Это достигается с использованием возможностей современного языка программирования (C++).

II. Основная теоретическая часть (лекции)

Наука включает в себя следующие темы:

1-й семестр

  1. Введение в программирование. Алгоритм . Алгоритм характеристики и выражение методы . Программа и его/ее код . Программирование языки . Компилятор и интерпретатор ​Программирование среды. Программа​ общая структура . Переменные и их типы . Они неизменны . Операторы и выражения . Данные вход и релиз Линейный алгоритмы организация делать и алгебраический выражения математик библиотека функции с использованием расчет
  2. Сетевой оператор . Ветвление операторы и их работа заказ . Тройной оператор . Безусловный пройти​ оператор . Выбирать оператор . Выбирать оператора общий структура . Выбирать оператор в содержании переменная и значения , операторы break и default .
  3. Операторы повторения . Параметризованный оператор итерации ( для ). Операторы повторения. Состояние до и состояние  затем заданы итерационные операторы ( while и do пока ).
  4. Массивы . Одномерные массивы. Статические массивы. Элементы массива с работа , они сортировка и поиск. Массивы на различный добрый действия . K -мерные массивы . Методы сортировки и поиска элементов массива. Массивы на различный добрый действия выполнять методы
  5. Функции . Описание функции и структура. Функции, возвращающие значение (с типом), и функции, не возвращающие значение (без типа). Функции с параметрами и без параметров. Функция аргумент . Создание пользовательских функций . Создание пользовательской библиотеки. Рекурсивные функции.
  6. Строки и расширенные символы (В категории «Чар» ) . Нить стандартный функции и они с использованием к линиям обработка дать​категории «Струны» ) . Нить стандартный функции и они с использованием к линиям обработка дать​
  7.  Индикаторы и динамический память с работа Спикер множество и их функция параметр как приложение . ​Память распределитель функции .
  8.  Файлы . ​Файлы и их типы . Текстовые файлы, двоичные файлы. Специальные функции для работы с файлами .
  9.  Работа с файлами . Файл токи я . Файлы чтение и запись ​Файлы на вершине действия .
  10.  Стандарт библиотеки. Стандарт из библиотек использовать . Внешний библиотеки установка и использовать . Пользователь библиотеки создавать
  11.   Пользователь типы . Структура , список и class ​Создание структуры ( struct ) и из этого использовать . Список ( перечисление ) организаций расти и из этого использовать .
  12. Основы объектно-ориентированного программирования . Сорт и объект концепции . Конструкторы . Простой на занятия примеры
  13. Основы объектно-ориентированного программирования . Сложный класса общий структура . В классе конструктор , методы получения и установки , деструкторы создавать объекты множество на действия
  14. Объектно-ориентированное программирование Принципы : Инкапсуляция и наследование . Управление доступом к членам базового класса.
  15. Объектно-ориентированное программирование Принципы : Полиморфизм . Операторы и методы снова загрузка
  16. Перезагрузить функции . Дружественные функции . Шаблоны . Операторы снова загрузка
  17. Контейнеры ( коллекции ) . Библиотеки STL . Контейнер классы . Футерованные контейнеры . Линейные контейнеры (массив, вектор, дек, список, forward_list). Ассоциативный контейнеры (set, map, multiset, multimap).
  18. Неорганизованный ассоциативные контейнеры . Неорганизованный ассоциативные контейнеры (unordered_set, unordered_map, unordered_multiset, unordered_multimap).
  19. Адаптеры для контейнеров . Стек, очередь, приоритетная_очередь. Алгоритмы работы с контейнерами. Применение функторов.
  20. Стандартные итераторы . Стандартные алгоритмы и итераторы .
  21. Работа с конечными классами . Числовые классы и работа с ними (комплекс, валларей , слайс, gslice и и т. д. )
  22. Расширенные алгоритмы сортировки . Практическое программирование. Сложные алгоритмы сортировки. Работа с очень большими числами.

2-й семестр

  1. Применение больших классов. Применение больших классов.
  2. Программирование в среде Visual C++ . Программирование в среде Visual C++. Меню и панели инструментов в среде Visual C++.
  3. Работа с компонентами . Компонент концепция и Функции . Стандартные , Дополнительные, Системные компоненты . Стандартные , Дополнительные, Системные компоненты .
  4. Работа с диалоговыми окнами . В среде Visual C++ коммуникация окна и они регулировать , управлять элементы .
  5. Формы Visual C ++ . Формы, компоненты и специальные функции, которые их обрабатывают.
  6. Графические возможности Visual C++ . Графические возможности Visual C++ (графический режим, построение изображений и графиков функций). Компоненты диаграммы .
  7. Создание небольших проектов . Методы проектирования (мини) проектов для решения задач в различных областях в среде Visual C++. Методы написания алгоритмов для небольших проектов.
  8. Отчет в среде Visual C++. Элементы подготовки и печати отчетной формы в среде Visual C++. Методы проектирования и тестирования пользовательского интерфейса. Возможности компиляторов, основанные на веб-технологиях.

III. Для практического обучения рекомендуются следующие темы:

1-й семестр

1. Алгоритмы линейных структур и их применение

2. Алгоритмы ветвления и их применение .

3. Рекурсивные структурные алгоритмы и их программа

4. Функции ввода и вывода

5. Организация массивов. Организация двумерных массивов

6. Стандартные алгоритмы, применяемые к элементам массива

7. Строки и операции над строками. Стандартные строковые функции

8. Организация функций. Рекурсивные функции.

9. Функция перезарядки механизма . Основы работы с файлами

10. Указатели и работа с ними

11. Понятие динамической памяти. Динамические массивы

12. Классы и объекты . Объектно-ориентированное программирование. Инкапсуляция

13. Конструкторы и деструкторы. Дружественные классу функции

14. Массив объектов. Наследование .

15. Конструкторы и деструкторы в унаследованных классах. Полиморфизм .

2-й семестр

  1. Перегрузка функций в унаследованных классах.
  2. Перегрузка операторов в унаследованных классах . Управление доступом к членам базового класса
  3. Шаблонные функции Шаблонные классы . Перезагрузить шаблонные функции
  4. Графические возможности языков программирования
  5. Динамическая информационная структура данных
  6. Полиморфизм. Перезагрузка операторов и функций
  7. Свойства и события компонентов
  8. Методы обработки событий
  9. Стандартные, Дополнительные, Системные описания страниц
  10. Меню и панель инструментов редактора . Работа с графическими возможностями редактора
  11. Работа с компонентами базы данных редактора
  12. Создание диаграмм с использованием графических компонентов
  13. Изучение требований к разработке мини-проекта
  14. Способы построения алгоритма мини-проекта
  15. Этапы тестирования мини-проекта

IV. Самостоятельное обучение и самостоятельная работа

Цель самостоятельной работы — обеспечить студентам под непосредственным руководством и контролем преподавателей непрерывное овладение предметом в течение семестра, закрепление полученных знаний, приобретение необходимых навыков, подготовку к будущим занятиям, формирование культуры интеллектуального труда, умения самостоятельно искать и принимать новые знания.

При организации самостоятельной работы студентов используются следующие формы с учетом особенностей учебного предмета «Программирование», а также уровня академической подготовленности и способностей каждого студента: самостоятельное освоение отдельных теоретических тем с использованием различной учебной литературы, составление программы по заданной теме, подготовка к прохождению производственной и производственной практики, выполнение и оформление курсовых работ, подготовка тезисов докладов для конференций, участие в олимпиадах по предмету, участие в научных обществах и кружках, участие в научной работе кафедр.

Студенты, изучающие дисциплину «Программирование», работают самостоятельно под руководством преподавателей кафедры, на основе независимой системы обучения, закрепляя теоретические знания, полученные на занятиях, и развивая навыки решения практических задач по экономике.

При подготовке самостоятельной работы студенту рекомендуется использовать следующие формы с учетом особенностей данной дисциплины:

  • Изучение научных тем по учебникам и учебным пособиям;
  • Освоение лекционной части по раздаточным материалам;
  • Компьютерные технологии и работа с системами;
  • Подготовка рефератов и отчетов по специальной литературе;
  • Разрабатывать программы для поставленных задач ;
  • Углубленное изучение литературы, монографий и научных сборников по тематике учебной и научно-исследовательской работы студента;
  • Активное участие в интерактивном и проблемном обучении;
  • Участие в организации дистанционного обучения .

Рекомендуемые темы для самостоятельного изучения:

1-й семестр

  1. Основные возможности и структуры языка C++.
  2. Типы данных: int, float, double, char, string.
  3. Арифметические и логические операторы в C++.
  4. Условные операторы if-else и их использование в программировании.
  5. Конструкция корпуса выключателя.
  6. Циклы for, while и do-while.
  7. Массивы и их типы (одномерные и многомерные).
  8. Индикаторы и их применение.
  9. Методы передачи функций и параметров (по значению и по ссылке).
  10. Рекурсия в C++ и решение проблем с ней.
  11.   Классы и объекты.
  12. Конструкторы и деструкторы.
  13. Перегрузка операторов в C++.
  14. Наследование и его значение в программировании.
  15. Полиморфизм и виртуальные функции.
  16. Абстрактные классы и интерфейсы.
  17. Работа с файлами (создание, чтение, запись файлов).
  18. Ключевые слова static и const.
  19. Динамическое распределение памяти (операторы new и delete).
  20. Создавайте и управляйте связанным списком.
  21. Структуры стека и очереди.
  22. Двоичное дерево и его типы (двоичное дерево поиска, AVL-дерево).
  23. Хэш-таблицы и их применение.
  24. Графовые алгоритмы: BFS и DFS.
  25. Алгоритмы сортировки: пузырьковая сортировка, сортировка выбором, быстрая сортировка.
  26. Алгоритмы поиска: линейный поиск и бинарный поиск.
  27. Работа с базами данных (подключение к SQL).
  28.   Сохранение и загрузка данных в файл на языке C++.
  29. Принципы объектно-ориентированного программирования и проектирования (SOLID).
  30. Обработка исключений (блоки try-catch).

2-й семестр

  1. Стандартная библиотека C++ (STL): вектор, список, карта, множество.
  2. Алгоритмы STL: сортировка, поиск, подсчет и т. д.
  3. Шаблонные функции и классы.
  4. Лямбда-выражения в C++.
  5. Многопоточность и синхронизация.
  6. Мьютекс, семафор и их применение в программировании.
  7. Механизм сигналов и слотов (на примере фреймворка Qt).
  8. Создание графического интерфейса на языке C++ (с использованием Qt или wxWidgets).
  9. Создайте программу с использованием принципов ООП на языке C++.
  10. Структура данных: двоичная куча и приоритетная очередь.
  11. Алгоритмы Дейкстры и A*.
  12.   Управление памятью и арифметика указателей.
  13. Создание и использование интерфейсов в C++.
  14. Пространство имен и его использование в программировании.
  15. Побитовые операторы и их применение.
  16. Компиляторы и интерпретаторы: анализ на примере C++.
  17. Шаблоны проектирования: Singleton, Factory, Observer и т. д.
  18. Профилирование и оптимизация программ на C++.
  19. Макросы и директивы препроцессора (define, include).
  20. Программирование TCP/IP и сокетов на языке C++.

V. Результаты обучения естественным наукам (формируемые компетенции)

Студенты должны иметь:

  • области применения языков программирования;
  • структура и алфавит программы;
  • неизменяемые и переменные типы данных, способы их использования;
  • методы применения математических и логических операций;
  • методы использования операторов ввода-вывода;
  • создавать алгоритмы и программы для линейных, разветвленных и итеративных процессов;
  • создавать и использовать функции и библиотеки;
  • работа с массивами, символами и строками;
  • работа со статическими и динамическими структурами данных;
  • работа с файлами;
  • Цель курса — научить применять возможности объектно-ориентированного программирования в различных областях.

Кроме того, будущие специалисты будут обучаться практическим вопросам и навыкам информационного моделирования.

VI. Образовательные технологии и методы:

• лекции;

интерактивные тематические исследования ;

практический ( логический) думающий , быстрый вопрос ответы );

маленький в группах работа ;

• презентации делать ;

индивидуальные проекты ;

• команда быть​ работа и защита делать для проекты подготовка ;

умственный атака и другие .

VII. Кредиты взять для требования :

  К науке связанный теоретический и практичный концепции полный мастерство , анализ результаты правильный отражение приносить получать , изучать процессы о независимый под наблюдением проводить , рекомендовать сделанный независимый образование темы собственный в течение срока хорошее качество подготовка защита делать ), текущий , промежуточный контроль в виде данный задача и задания завершение , финал контроль в соответствии с письмо работа подчинение .

Основная литература

  1. Nazirov Sh.A., Qobulov R.V., Bobojanov M.R., Raxmanov Q.S. S va C++ tili. “Voris nashriyot” MChJ, Toshkent 2013, 488 b.
  2. Horton I.-Beginning Visual C++ 2012/ I. Horton. Published imultaneously in Canada.-2012.-P.988.

Дополнительная литература

1. Bjarne Stroustrup. Programming: Princeples and Practice Using C++ 2nd Edition). Person Education, Inc.2014. second printing, January 2015.

2. Bjarne Stroustrup. The C++ Programming Language, 4nd Edition. Person Education, Inc.2013. Third printing, April 2014.

3. Ж.Ахмадалиев, Р Холдорбоев С++ дастурлаш тилини ўрганиш бўйича услубий қўлланма (2015).

4. Макурин Ю.Д., Сивохин А.В. проектирование и реализация баз данных и клиентских приложений в среде MS Visual Studio.NET(2010)

5. Прохоренок Н.А. Программирование на С++ в Visual Studio 2010 Express(2010).

6. Fedorov A.A. Microsoft Visual Studio 2008. Краткие обзор ключевых новинок(2008).

7. Васильев А.Н. Java. Объектно-ориентированное программирование для магистров и бакалавров. –СПб.: Питер, 2012.-395 с.

8. Хорстманн К.С., Корнелл Г. Java-2. Библиотека профессионала. Т.1. Основы. –М.: Вильямс, 2012. 816 с.

9. Herbert Schildt. Java. Методики программирования Шилдта, -М.: И.Д. Вильямс 2018, - 512 с.

10. Кормен Т., Лайзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. – М.: МЦНМО, 2014.

11. Стивен С. Скиена, Мигель А. Ревилла. Олимпиадные задачи по программированию.

12. Кнут Д. Искусство программирования. Том 1- 4., СПб. Вильямс 2007.

13. Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ, 2-е издание. : Пер. с англ. — М. : Издательский дом "Вильяме", 2005. 1296 c.

Интернет -ресурсы

  1. Мартин Костер «Роботы в Интернете: угроза или опасность?»
  2. http://info/webcrawler.com/mak/projects/robots/threat-or-treat/html
  3. neerc.ifmo.ru – Программирование в соответствии с мир чемпионат Север Восточный Европа
  4. http://www/cplusplus.com/
  5. http://acm.tuit.uz/forum/
  6. acm.tuit.uz
  7. acm.timus.ru – система тестирования программного обеспечения
  8. www.dastur.uzсайт, обучающий языкам программирования
  9. www.dasturchi.uz - сайт, обучающий языкам программирования

Похожие программы