|
I. Содержание науки
Целью преподавания естественных наук является изучение основных принципов сбора, хранения, обработки и передачи информации посредством языка программирования C++. Также изучаются методы и технологии создания современных информационных систем и их создание. Он заключается в решении задач, связанных с различными техническими знаниями, с использованием современных языков программирования и изучения их методов.
Задача науки – Суть предмета «программирование», его основные принципы и цели заключаются в формировании алгоритмических знаний учащихся . Это достигается с использованием возможностей современного языка программирования (C++).
II. Основная теоретическая часть (лекции)
Наука включает в себя следующие темы:
1-й семестр
- Введение в программирование. Алгоритм . Алгоритм характеристики и выражение методы . Программа и его/ее код . Программирование языки . Компилятор и интерпретатор Программирование среды. Программа общая структура . Переменные и их типы . Они неизменны . Операторы и выражения . Данные вход и релиз Линейный алгоритмы организация делать и алгебраический выражения математик библиотека функции с использованием расчет
- Сетевой оператор . Ветвление операторы и их работа заказ . Тройной оператор . Безусловный пройти оператор . Выбирать оператор . Выбирать оператора общий структура . Выбирать оператор в содержании переменная и значения , операторы break и default .
- Операторы повторения . Параметризованный оператор итерации ( для ). Операторы повторения. Состояние до и состояние затем заданы итерационные операторы ( while и do пока ).
- Массивы . Одномерные массивы. Статические массивы. Элементы массива с работа , они сортировка и поиск. Массивы на различный добрый действия . K -мерные массивы . Методы сортировки и поиска элементов массива. Массивы на различный добрый действия выполнять методы
- Функции . Описание функции и структура. Функции, возвращающие значение (с типом), и функции, не возвращающие значение (без типа). Функции с параметрами и без параметров. Функция аргумент . Создание пользовательских функций . Создание пользовательской библиотеки. Рекурсивные функции.
- Строки и расширенные символы (В категории «Чар» ) . Нить стандартный функции и они с использованием к линиям обработка дать (В категории «Струны» ) . Нить стандартный функции и они с использованием к линиям обработка дать
- Индикаторы и динамический память с работа Спикер множество и их функция параметр как приложение . Память распределитель функции .
- Файлы . Файлы и их типы . Текстовые файлы, двоичные файлы. Специальные функции для работы с файлами .
- Работа с файлами . Файл токи я . Файлы чтение и запись Файлы на вершине действия .
- Стандарт библиотеки. Стандарт из библиотек использовать . Внешний библиотеки установка и использовать . Пользователь библиотеки создавать
- Пользователь типы . Структура , список и class Создание структуры ( struct ) и из этого использовать . Список ( перечисление ) организаций расти и из этого использовать .
- Основы объектно-ориентированного программирования . Сорт и объект концепции . Конструкторы . Простой на занятия примеры
- Основы объектно-ориентированного программирования . Сложный класса общий структура . В классе конструктор , методы получения и установки , деструкторы создавать объекты множество на действия
- Объектно-ориентированное программирование Принципы : Инкапсуляция и наследование . Управление доступом к членам базового класса.
- Объектно-ориентированное программирование Принципы : Полиморфизм . Операторы и методы снова загрузка
- Перезагрузить функции . Дружественные функции . Шаблоны . Операторы снова загрузка
- Контейнеры ( коллекции ) . Библиотеки STL . Контейнер классы . Футерованные контейнеры . Линейные контейнеры (массив, вектор, дек, список, forward_list). Ассоциативный контейнеры (set, map, multiset, multimap).
- Неорганизованный ассоциативные контейнеры . Неорганизованный ассоциативные контейнеры (unordered_set, unordered_map, unordered_multiset, unordered_multimap).
- Адаптеры для контейнеров . Стек, очередь, приоритетная_очередь. Алгоритмы работы с контейнерами. Применение функторов.
- Стандартные итераторы . Стандартные алгоритмы и итераторы .
- Работа с конечными классами . Числовые классы и работа с ними (комплекс, валларей , слайс, gslice и и т. д. )
- Расширенные алгоритмы сортировки . Практическое программирование. Сложные алгоритмы сортировки. Работа с очень большими числами.
2-й семестр
- Применение больших классов. Применение больших классов.
- Программирование в среде Visual C++ . Программирование в среде Visual C++. Меню и панели инструментов в среде Visual C++.
- Работа с компонентами . Компонент концепция и Функции . Стандартные , Дополнительные, Системные компоненты . Стандартные , Дополнительные, Системные компоненты .
- Работа с диалоговыми окнами . В среде Visual C++ коммуникация окна и они регулировать , управлять элементы .
- Формы Visual C ++ . Формы, компоненты и специальные функции, которые их обрабатывают.
- Графические возможности Visual C++ . Графические возможности Visual C++ (графический режим, построение изображений и графиков функций). Компоненты диаграммы .
- Создание небольших проектов . Методы проектирования (мини) проектов для решения задач в различных областях в среде Visual C++. Методы написания алгоритмов для небольших проектов.
- Отчет в среде Visual C++. Элементы подготовки и печати отчетной формы в среде Visual C++. Методы проектирования и тестирования пользовательского интерфейса. Возможности компиляторов, основанные на веб-технологиях.
III. Для практического обучения рекомендуются следующие темы:
1-й семестр
1. Алгоритмы линейных структур и их применение
2. Алгоритмы ветвления и их применение .
3. Рекурсивные структурные алгоритмы и их программа
4. Функции ввода и вывода
5. Организация массивов. Организация двумерных массивов
6. Стандартные алгоритмы, применяемые к элементам массива
7. Строки и операции над строками. Стандартные строковые функции
8. Организация функций. Рекурсивные функции.
9. Функция перезарядки механизма . Основы работы с файлами
10. Указатели и работа с ними
11. Понятие динамической памяти. Динамические массивы
12. Классы и объекты . Объектно-ориентированное программирование. Инкапсуляция
13. Конструкторы и деструкторы. Дружественные классу функции
14. Массив объектов. Наследование .
15. Конструкторы и деструкторы в унаследованных классах. Полиморфизм .
2-й семестр
- Перегрузка функций в унаследованных классах.
- Перегрузка операторов в унаследованных классах . Управление доступом к членам базового класса
- Шаблонные функции Шаблонные классы . Перезагрузить шаблонные функции
- Графические возможности языков программирования
- Динамическая информационная структура данных
- Полиморфизм. Перезагрузка операторов и функций
- Свойства и события компонентов
- Методы обработки событий
- Стандартные, Дополнительные, Системные описания страниц
- Меню и панель инструментов редактора . Работа с графическими возможностями редактора
- Работа с компонентами базы данных редактора
- Создание диаграмм с использованием графических компонентов
- Изучение требований к разработке мини-проекта
- Способы построения алгоритма мини-проекта
- Этапы тестирования мини-проекта
IV. Самостоятельное обучение и самостоятельная работа
Цель самостоятельной работы — обеспечить студентам под непосредственным руководством и контролем преподавателей непрерывное овладение предметом в течение семестра, закрепление полученных знаний, приобретение необходимых навыков, подготовку к будущим занятиям, формирование культуры интеллектуального труда, умения самостоятельно искать и принимать новые знания.
При организации самостоятельной работы студентов используются следующие формы с учетом особенностей учебного предмета «Программирование», а также уровня академической подготовленности и способностей каждого студента: самостоятельное освоение отдельных теоретических тем с использованием различной учебной литературы, составление программы по заданной теме, подготовка к прохождению производственной и производственной практики, выполнение и оформление курсовых работ, подготовка тезисов докладов для конференций, участие в олимпиадах по предмету, участие в научных обществах и кружках, участие в научной работе кафедр.
Студенты, изучающие дисциплину «Программирование», работают самостоятельно под руководством преподавателей кафедры, на основе независимой системы обучения, закрепляя теоретические знания, полученные на занятиях, и развивая навыки решения практических задач по экономике.
При подготовке самостоятельной работы студенту рекомендуется использовать следующие формы с учетом особенностей данной дисциплины:
- Изучение научных тем по учебникам и учебным пособиям;
- Освоение лекционной части по раздаточным материалам;
- Компьютерные технологии и работа с системами;
- Подготовка рефератов и отчетов по специальной литературе;
- Разрабатывать программы для поставленных задач ;
- Углубленное изучение литературы, монографий и научных сборников по тематике учебной и научно-исследовательской работы студента;
- Активное участие в интерактивном и проблемном обучении;
- Участие в организации дистанционного обучения .
Рекомендуемые темы для самостоятельного изучения:
1-й семестр
- Основные возможности и структуры языка C++.
- Типы данных: int, float, double, char, string.
- Арифметические и логические операторы в C++.
- Условные операторы if-else и их использование в программировании.
- Конструкция корпуса выключателя.
- Циклы for, while и do-while.
- Массивы и их типы (одномерные и многомерные).
- Индикаторы и их применение.
- Методы передачи функций и параметров (по значению и по ссылке).
- Рекурсия в C++ и решение проблем с ней.
- Классы и объекты.
- Конструкторы и деструкторы.
- Перегрузка операторов в C++.
- Наследование и его значение в программировании.
- Полиморфизм и виртуальные функции.
- Абстрактные классы и интерфейсы.
- Работа с файлами (создание, чтение, запись файлов).
- Ключевые слова static и const.
- Динамическое распределение памяти (операторы new и delete).
- Создавайте и управляйте связанным списком.
- Структуры стека и очереди.
- Двоичное дерево и его типы (двоичное дерево поиска, AVL-дерево).
- Хэш-таблицы и их применение.
- Графовые алгоритмы: BFS и DFS.
- Алгоритмы сортировки: пузырьковая сортировка, сортировка выбором, быстрая сортировка.
- Алгоритмы поиска: линейный поиск и бинарный поиск.
- Работа с базами данных (подключение к SQL).
- Сохранение и загрузка данных в файл на языке C++.
- Принципы объектно-ориентированного программирования и проектирования (SOLID).
- Обработка исключений (блоки try-catch).
2-й семестр
- Стандартная библиотека C++ (STL): вектор, список, карта, множество.
- Алгоритмы STL: сортировка, поиск, подсчет и т. д.
- Шаблонные функции и классы.
- Лямбда-выражения в C++.
- Многопоточность и синхронизация.
- Мьютекс, семафор и их применение в программировании.
- Механизм сигналов и слотов (на примере фреймворка Qt).
- Создание графического интерфейса на языке C++ (с использованием Qt или wxWidgets).
- Создайте программу с использованием принципов ООП на языке C++.
- Структура данных: двоичная куча и приоритетная очередь.
- Алгоритмы Дейкстры и A*.
- Управление памятью и арифметика указателей.
- Создание и использование интерфейсов в C++.
- Пространство имен и его использование в программировании.
- Побитовые операторы и их применение.
- Компиляторы и интерпретаторы: анализ на примере C++.
- Шаблоны проектирования: Singleton, Factory, Observer и т. д.
- Профилирование и оптимизация программ на C++.
- Макросы и директивы препроцессора (define, include).
- Программирование TCP/IP и сокетов на языке C++.
|
|
Основная литература
- Nazirov Sh.A., Qobulov R.V., Bobojanov M.R., Raxmanov Q.S. S va C++ tili. “Voris nashriyot” MChJ, Toshkent 2013, 488 b.
- 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.
Интернет -ресурсы
- Мартин Костер «Роботы в Интернете: угроза или опасность?»
- http://info/webcrawler.com/mak/projects/robots/threat-or-treat/html
- neerc.ifmo.ru – Программирование в соответствии с мир чемпионат Север Восточный Европа
- http://www/cplusplus.com/
- http://acm.tuit.uz/forum/
- acm.tuit.uz
- acm.timus.ru – система тестирования программного обеспечения
- www.dastur.uz – сайт, обучающий языкам программирования
- www.dasturchi.uz - сайт, обучающий языкам программирования
|