Министерство образования Пензенской области
Государственное автономное профессиональное образовательное учреждение Пензенской области
«Пензенский колледж информационных и промышленных технологий
(ИТ - колледж)»
РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ
ОП.04 «Основы алгоритмизации и программирование»
для специальности
09.02.07 «Информационные системы и программирование»
Пенза, 2020
ОДОБРЕНА методической цикловой комиссией профессиональных дисциплин по укрупненной группе специальностей 09000 «Информатика и вычислительная техника» Протокол № ____ от «___» _________2021 г. Председатель методической цикловой комиссии __________Стенькина Н.А. | | УТВЕРЖДАЮ Зам. директора по ОПП: _______________ Е.А. Волобуева « ___ » ___________ 2021 г. |
Программа разработана на основе
Федерального государственного образовательного стандарта по специальности/профессии среднего профессионального образования (далее – СПО) 09.02.07 «Информационные системы и программирование»
Примерной основной образовательной программы специальности/профессии 09.02.07 «Информационные системы и программирование»
Разработчики: Преподаватель | Г.С. Лукьянова | |
© ГАПОУ ПО «Пензенский колледж информационных и промышленных технологий (ИТ-колледж)»
СОДЕРЖАНИЕ
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОЧЕЙ ПРОГРАММЫ УЧЕБНОЙ ДИСЦИПЛИНЫ | |
СТРУКТУРА РАБОЧЕЙ УЧЕБНОЙ ДИСЦИПЛИНЫ | |
УСЛОВИЯ РЕАЛИЗАЦИИ ПРОГРАММЫ УЧЕБНОЙ ДИСЦИПЛИНЫ | |
КОНТРОЛЬ И ОЦЕНКА РЕЗУЛЬТАТОВ ОСВОЕНИЯ УЧЕБНОЙ ДИСЦИПЛИНЫ | |
| |
1. ОБЩАЯ ХАРАКТЕРИСТИКА РАБОЧЕЙ ПРОГРАММЫ УЧЕБНОЙ ДИСЦИПЛИНЫ
1.1. Место дисциплины в структуре основной профессиональной образовательной программы
Рабочая программа учебной дисциплины является частью примерной основной образовательной программы по специальности среднего профессионального обучения 09.02.07 Информационные системы и программирование в соответствии с ФГОС СПО 09.02.07 Информационные системы и программирование, утверждённым приказом Министерства образования и науки Российской Федерации 09 декабря 2016 № 1548, зарегистрированным в Министерстве юстиции Российской Федерации 26 декабря 2016 года, регистрационный № 44978, входящим в укрупнённую группу ТОП-50 09.00.00 Информатика и вычислительная техника.
1.2. Цель и планируемые результаты освоения дисциплины:
В результате освоения дисциплины обучающийся должен уметь:
Разрабатывать алгоритмы для конкретных задач.
Использовать программы для графического отображения алгоритмов.
Определять сложность работы алгоритмов.
Работать в среде программирования.
Реализовывать построенные алгоритмы в виде программ на конкретном языке программирования.
Оформлять код программы в соответствии со стандартом кодирования.
Выполнять проверку, отладку кода программы
В результате освоения учебной дисциплины обучающийся должен знать:
Понятие алгоритмизации, свойства алгоритмов, общие принципы построения алгоритмов, основные алгоритмические конструкции.
Эволюцию языков программирования, их классификацию, понятие системы программирования.
Основные элементы языка, структуру программы, операторы и операции, управляющие структуры, структуры данных, файлы, классы памяти.
Подпрограммы, составление библиотек подпрограмм.
Объектно-ориентированную модель программирования, основные принципы объектно-ориентированного программирования на примере алгоритмического языка: понятие классов и объектов, их свойств и методов, инкапсуляции и полиморфизма, наследования и переопределения.
Код | Наименование общих компетенций |
ОК 1. | Выбирать способы решения задач профессиональной деятельности, применительно к различным контекстам. |
ОК 2. | Осуществлять поиск, анализ и интерпретацию информации, необходимой для выполнения задач профессиональной деятельности. |
ОК 4. | Работать в коллективе и команде, эффективно взаимодействовать с коллегами, руководством, клиентами. |
ОК 5. | Осуществлять устную и письменную коммуникацию на государственном языке с учетом особенностей социального и культурного контекста. |
ОК 9. | Использовать информационные технологии в профессиональной деятельности. |
ОК 10. | Пользоваться профессиональной документацией на государственном и иностранном языке. |
ПК 1.1. | Формировать алгоритмы разработки программных модулей в соответствии с техническим заданием. |
ПК 1.2. | Разрабатывать программные модули в соответствии с техническим заданием. |
ПК 1.3. | Выполнять отладку программных модулей с использованием специализированных программных средств. |
ПК 1.4. | Выполнять тестирование программных модулей. |
ПК 1.5. | Осуществлять рефакторинг и оптимизацию программного кода. |
ПК 1.6. | Разрабатывать модули программного обеспечения для мобильных платформ. |
ПК 2.4. | Осуществлять разработку тестовых наборов и тестовых сценариев для программного обеспечения. |
ПК 2.5. | Производить инспектирование компонент программного обеспечения на предмет соответствия стандартам кодирования. |
ПК 3.1. | Осуществлять ревьюирование программного кода в соответствии с технической документацией. |
ПК 3.3. | Производить исследование созданного программного кода с использованием специализированных программных средств с целью выявления ошибок и отклонения от алгоритма. |
ПК 3.4. | Проводить сравнительный анализ программных продуктов и средств разработки, с целью выявления наилучшего решения согласно критериям, определенным техническим заданием. |
2.СТРУКТУРА И СОДЕРЖАНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ
2.1. Объем учебной дисциплины и виды учебной работы
Вид учебной работы | Объем в часах |
Всего | 152 |
Самостоятельная работа | 4 |
Во взаимодействии с преподавателем | |
В том числе: |
теоретическое обучение | 56 |
практические занятия | 76 |
Курсовая работа (проект) | - |
Консультации | 10 |
Промежуточная аттестация в форме экзамена | 6 |
2.2. Тематический план и содержание учебной дисциплины
Наименование разделов и тем | Содержание учебного материала и формы организации деятельности обучающихся | Объем часов | Осваиваемые элементы компетенций |
1 | 2 | 3 | 4 |
4 4Тема 1. Основы алгоритмизации | Содержание учебного материала | 6 | ОК 1 ОК 2 ОК 4 ОК 5 ОК 9 ОК 10 ПК 1.1- ПК 1.6 ПК 2.4, 2.5 ПК 3.1, 3.3, 3.4 |
Понятие алгоритма, его свойства и виды. Критерии «хорошего» алгоритма. Способы описания алгоритмов: псевдокоды, Схема программы, программа. Базовые алгоритмические конструкции: линейная, разветвляющаяся, циклическая. Схема программы: основные элементы, правила составления. Примеры. | 2 |
Различные комбинации алгоритмических конструкций. Тестовые данные. Математическая модель алгоритма. Классические алгоритмы решения нелинейных и линейных уравнений и т.д. | 4 |
Тема 2. Основы программирования | Содержание учебного материала | 62 | ОК 1 ОК 2 ОК 4 ОК 5 ОК 9 ОК 10 ПК 1.1- ПК 1.6 ПК 2.4, 2.5 ПК 3.1, 3.3, 3.4 |
История языков программирования. Генеалогическое древо C#. Преимущества и недостатки языка C#. Платформа .NET Framework: назначение, составные элементы, тонкости компиляции. Обзор интегрированной среды разработки Visual Studio .NET. Создание, сохранение и закрытие проектов и решений. Структура программы. Точка входа. Базовый синтаксис С#. Пространство имен. | 2 |
Переменные: определение, правила именования. Типы данных: значимые и ссылочные. Преобразование типов: явное и неявное. Объявление переменных и их инициализация. Область действия и время существования переменных. Константы: определение, виды и правила записи в программе. Суффиксы целых и вещественных констант. Escape – последовательности. | 2 |
Понятие выражения. Математические операторы. Старшинство операторов. Математические функции (класс Math). Ввод – вывод данных. Операторы присваивания. | 2 |
Операторы отношения. Оператор if-else: назначение и правила записи. Проверка простых и сложных условий. Вложенные условные операторы. Использование поразрядных (!,&, |, ^) и условных (&&, ||) логических операторов. Отличие в использовании операторов & и &&, | и ||. Тернарный оператор: правила использования. Механизм получения случайного числа. | 2 |
Оператор выбора switch-case: назначение и правила записи. Операторы перехода: break, goto, return. | 2 |
Цикл с предусловием (while), цикл с постусловием (do) и цикл с параметром (for). Правила записи, отличия в применении. Стандартные операции при работе с циклическими алгоритмами: получение таблицы значений, нахождение суммы и произведения элементов ряда. Принудительный выход из цикла: операторы break и continue. Бесконечные циклы. | 2 |
Массивы: определение, виды. Объявление одномерного массива. Варианты инициализации. Ввод и вывод одномерных массивов. Стандартные операции для работы с массивами: заполнение случайными значениями и значениями по формуле, нахождение суммы и произведения, нахождение максимума (минимума), подсчет количества элементов, удовлетворяющих определенному условию. Обработка одномерных массивов: сортировка и поиск элементов. Цикл foreach. Двумерные массивы: объявление, ввод и вывод. Работа с двумерными массивами по строкам и по столбцам | 6 |
Понятие потока. Механизм буферизации. Классы библиотеки .NET для работы с потоками. Виды доступа к файлам. Объект FileStream. Классы StreamWriter и SreamReader. Основные операции при работе с файлами. Способы работы с текстовыми файлами. Обработка текстовых файлов. | 6 |
Тематика практических занятий и лабораторных работ | |
Лабораторная работа №1. Среда разработки Visual Studio.Net. Установка и создание первой программы в среде Visual Studio.Net на языке С#. | 2 |
Лабораторная работа №2. Разработка и тестирование кода программы на языке С#. Линейные алгоритмы. | 2 |
Лабораторная работа №3. Разработка и тестирование кода программы на языке С#. Разветвляющиеся алгоритмы | 4 |
Лабораторная работа №4. Разработка и тестирование программного кода на языке С# с использованием циклов. Циклы с параметром. | 2 |
Лабораторная работа №5. Разработка и тестирование программного кода на языке С# с использованием циклов. Циклы с предусловием | 2 |
Лабораторная работа №6. Разработка и тестирование программного кода на языке С# с использованием циклов. Циклы с постусловием | 2 |
Лабораторная работа №7. Разработка и тестирование программного кода на языке С# с использованием циклов. Вложенные циклы | 2 |
Лабораторная работа №8. Разработка и тестирование программ на языке С# для обработки одномерных массивов | 4 |
Лабораторная работа №9. Разработка и тестирование программ на языке С# для обработки многомерных массивов | 4 |
Лабораторная работа №10. Разработка и тестирование программ на языке С# с использованием методов - функций | 4 |
Лабораторная работа №11. Разработка и тестирование программ на языке С# с методами - функциями с использованием массива в качестве параметров | 4 |
Лабораторная работа №12. Разработка и тестирование программ на языке С# с использованием файлов. | 4 |
Тема 3. Объектно-ориентированная модель программирования | Содержание учебного материала | 66 | ОК 1 ОК 2 ОК 4 ОК 5 ОК 9 ОК 10 ПК 1.1- ПК 1.6 ПК 2.4, 2.5 ПК 3.1, 3.3, 3.4 |
Понятие класса и объекта. Характеристики объекта: поля, свойства, методы, события. Основные принципы объектно-ориентированного программирования: наследование, полиморфизм, инкапсуляция. Общая форма определения класса. Модификаторы доступа к элементам класса: public, private, protected, internal. Примеры создания классов. Переменные ссылочного типа и присваивание. Побочные эффекты множественных ссылок. | 4 |
Метод: понятие, правила записи. Вызов метода. Передача параметров по значению. Правило триединого соответствия параметров и аргументов: по количеству, типам и по порядку следования. Создание методов, возвращающих значения. Способы размещения методов. Конструкторы. | 2 |
Инкапсуляция как управление доступом к данным. Свойства класса: понятие, виды, правила записи. | 4 |
Наследование и полиморфизм. Иерархия классов: понятие, преимущества. Синтаксис наследования. Скрытие и перекрытие методов. Ключевые слова virtual, override. Вызов методов базового класса («родителя»): ключевое слово base. Тонкости использования конструкторов в иерархически связанных между собой классах. | 4 |
Интерфейсы: назначение, правила написания. Способы реализации интерфейсов. Работа с объектами через интерфейсы. Операторы is и as. Восходящее и нисходящее приведение. Наследование в интерфейсах. Сходства и различия интерфейсов, абстрактных классов и обычных классов. Стандартные интерфейсы .NET: IComparable, IClonable, IEnumerable. Примеры реализации. | 4 |
Назначение и синтаксис структуры. Элементы тела структуры. Сходства и различия структур и классов. Плюсы и минусы использования структур. | 2 |
Тип данных enum: объявление и тонкости использования. Операции с перечислениями. | 2 |
Понятие коллекции. Класс List: возможности, правила работы, встроенные методы. Работа с АrrayList. | 2 |
Делегаты: понятие, правила описания. Примеры и тонкости использования делегатов. Обработка события: автоматическое создание обработчиков. | 2 |
Тематика практических занятий и лабораторных работ | |
Лабораторная работа №13. Создание класса на языке С#. | 2 |
Лабораторная работа №14. Разработка и тестирование программ на языке С# с использованием классов. | 6 |
Лабораторная работа №15. Разработка и тестирование программ на языке С# с использованием конструкторов и деструкторов классов. | 4 |
Лабораторная работа №16. Разработка и тестирование программ на языке С# с использованием принципа инкапсуляции. | 4 |
Лабораторная работа №17. Разработка и тестирование программ на языке С# с использованием принципа наследования. | 6 |
Лабораторная работа №18. Разработка программ на языке С# с использованием стандартных интерфейсов. | 4 |
Лабораторная работа №19. Разработка программ на языке С# с использованием структур | 4 |
Лабораторная работа №20. Разработка программ на языке С# с использованием перечислений. | 2 |
Лабораторная работа №21. Разработка программ на языке С# с использованием класса List. | 4 |
Лабораторная работа №22. Разработка программ на языке С# с использованием обработчиков событий. | 4 |
Всего: | 132 | |
Промежуточная аттестация в виде экзамена | 6 | |
3. условия реализации программы УЧЕБНОЙ дисциплины 3.1. Материально-техническое обеспечение
1 Лаборатория «Программирования баз данных»
Автоматизированные рабочие места на 12-15 обучающихся (Процессор не ниже Core i3, оперативная память объемом не менее 8 Гб);
Автоматизированное рабочее место преподавателя (Процессор не ниже Core i3, оперативная память объемом не менее 8 Гб);
Сервер в лаборатории (8-х ядерный процессор с частотой не менее 3 ГГц, оперативная память объемом не менее 16 Гб, жесткие диски общим объемом не менее 1 Тб, программное обеспечение: WindowsServer 2012 или более новая) или выделение аналогичного по характеристикам виртуального сервера из общей фермы серверов
Проектор и экран;
Маркерная доска;
Программное обеспечение общего и профессионального назначения, в том числе включающее в себя следующее ПО:
Eclipse IDE for Java EE Developers, .NET Framework JDK 8, Microsoft SQL Server Express Edition, Microsoft Visio Professional, Microsoft Visual Studio, MySQL Installer for Windows, NetBeans, SQL Server Management Studio, Microsoft SQL Server Java Connector, Android Studio, IntelliJ IDEA.
2 Лаборатория «Организации и принципов построения информационных систем»
Автоматизированные рабочие места на 12-15 обучающихся (Процессор не ниже Core i3, оперативная память объемом не менее 8 Гб);
Автоматизированное рабочее место преподавателя (Процессор не ниже Core i3, оперативная память объемом не менее 8 Гб);
Проектор и экран;
Маркерная доска;
Программное обеспечение общего и профессионального назначения, в том числе включающее в себя следующее ПО:
Eclipse IDE for Java EE Developers, .NET Framework JDK 8, Microsoft SQL Server Express Edition, Microsoft Visio Professional, Microsoft Visual Studio, MySQL Installer for Windows, NetBeans, SQL Server Management Studio, Microsoft SQL Server Java Connector, Android Studio, IntelliJ IDEA.
3.2. Информационное обеспечение обучения Основные печатные источники:
Подбельский В.В. Программирование. С#. Базовый курс. М., Юрайт, 2019.- 384 с.
Ф.едорова Г.Н. Разработка модулей программного обеспечения для компьютерных сетей. М., Академия, 2018. – 384
Пахомов Б. С# для начинающих. Санкт – Петербург, БХВ – Петербург, 2018. – 432
3.1.2 Дополнительные печатные источники:
Perkins B., Vibe Hammer J., Reid J. BEGINNING C# 7. Programming with Visual Studio® 2017
3.1.3 Электронные источники:
http://mycsharp.ru/post Язык С#
https://metanit.com/sharp/tutorial. Язык С#
4. КОНТРОЛЬ И ОЦЕНКА РЕЗУЛЬТАТОВ ОСВОЕНИЯ УЧЕБНОЙ ДИСЦИПЛИНЫ
Результатом освоения учебной дисциплины является овладение обучающимися профессиональными и общими компетенциями (ПК) и (ОК):
Результаты обучения | Формы и методы оценки |
Уметь: Разрабатывать алгоритмы для конкретных задач. Использовать программы для графического отображения алгоритмов. Определять сложность работы алгоритмов. Работать в среде программирования. Реализовывать построенные алгоритмы в виде программ на конкретном языке программирования. Оформлять код программы в соответствии со стандартом кодирования. Выполнять проверку, отладку кода программы. | Результатов выполнения самостоятельной работы |
Знать: Понятие алгоритмизации, свойства алгоритмов, общие принципы построения алгоритмов, основные алгоритмические конструкции. Эволюцию языков программирования, их классификацию, понятие системы программирования. Основные элементы языка, структуру программы, операторы и операции, управляющие структуры, структуры данных, файлы, классы памяти. Подпрограммы, составление библиотек подпрограмм. | Экспертное наблюдение и оценивание выполнения практических работ |
Оценка знаний, умений и навыков по результатам текущего контроля производится в соответствии с универсальной шкалой (таблица).
Процент результативности ( правильных ответов) | Качественная оценка индивидуальных образовательных достижений |
балл (отметка) | вербальный аналог |
90 ÷ 100 | 5 | Отлично |
80 ÷ 89 | 4 | Хорошо |
70 ÷ 79 | 3 | Удовлетворительно |
менее 70 | 2 | Не удовлетворительно |