- •Информатика и программирование рабочая программа учебной дисциплины
- •230700 Прикладная информатика
- •230700 «Прикладная информатика»
- •Цели и задачи учебной дисциплины
- •Место учебной дисциплины в структуре ооп впо
- •Результаты освоения программы учебной дисциплины
- •Структура и содержание учебной дисциплины
- •4.1. Учебный план дисциплины
- •4.2. Краткое содержание тем дисциплины и практических занятий по ним
- •4.2.1. Содержание тем
- •Тема 1. Основы информатики
- •Тема 2. История развития информатики и вычислительной техники
- •Тема 3. Обработка информации. Алгоритм и его свойства
- •Тема 4. Основы языка php и его основополагающие особенности
- •Тема 5. Синтаксис и семантика операторов php
- •Тема 6. Основы работы с массивами.
- •Тема 7. Функции в php. Создание и использование пользовательских функций в php
- •Тема 8. Работа с файлами
- •Тема 9. Основы работы с html-формами в php
- •Тема 10. Расширенные возможности создания web-документа с использованием php
- •Тема 11. Введение в использование современных технологий программирования (java и net – платформы)
- •Тема 12. Интегрированные среды разработки программного обеспечения
- •Тема 13. История создания и базовые основы языка java. Настройка среды разработки и создание первого приложения на java
- •Тема 14. Основные понятия языка java: лексика и структура программы. Организация ввода-вывода данных
- •Тема 19. Работа с важнейшими объектными типами java
- •Тема 20. Наследование и переопределение методов (полиморфизм). Пакеты, интерфейсы и композиции.
- •Тема 21. Создание программ с графическим интерфейсом.
- •Тема 26. Работы с формами в c#
- •Тема 27. Создание и развертывание windows- приложения
- •4.2.2. Содержание практических занятий
- •Образовательные технологии
- •5.1. Общая характеристика
- •5.2. Распределение образовательных технологий по разделам и занятиям
- •Оценочные средства контроля успеваемости по итогам освоения учебной дисциплины
- •6.1. Тематика курсовых проектов
- •6.1.1. Содержание (состав) курсового проекта
- •6.1.2. Предметные области для курсового проекта:
- •6.2. Вопросы для подготовки к зачету (по итогам 3 семестра).
- •6.3.Вопросы для подготовки к экзамену.
- •6.3.1. Вопросы к экзамену по итогам 2 семестра
- •6.3.2. Вопросы к экзамену по итогам 4 семестра
- •Материально-техническое обеспечение учебной дисциплины
- •Учебно-методическое обеспечение самостоятельной работы студентов (методические указания)
- •Учебно-методическое и информационное обеспечение учебной дисциплины
- •Шилдт г., Java. Руководство для начинающих. - м.: ид Вильямс, 2009. - 720с.
Оценочные средства контроля успеваемости по итогам освоения учебной дисциплины
6.1. Тематика курсовых проектов
Курсовое проектирование является одним из основных методов обучения студентов и имеет своей целью:
закрепление, углубление, обобщение знаний, полученных в теоретическом курсе, и применение этих знаний к комплексному решению конкретной задачи программирования;
привитие навыков работы с литературой, в том числе со справочной литературой и ГОСТами;
закрепление навыков программирования и оформлению результатов проектирования.
Задачей курсового проектирования является закрепление теоретических знаний и практических навыков по программированию на одном из изученных в рамках курса языков программирования.
6.1.1. Содержание (состав) курсового проекта
Курсовой проект должен включать в себя следующие разделы:
Постановка задачи.
Теоретическая часть:
Краткая история развития языков программирования.
Изложение принципов структурного, процедурного и объектно-ориентированных подходов в программировании.
Практическая часть:
Описание структуры, классов и задач, решаемых программой.
Блок-схема программы.
Распечатка программы и экрана с результатами.
4. Заключение.
5. Список использованной литературы.
6.1.2. Предметные области для курсового проекта:
Банковские кредиты;
Банковские вклады;
Ведение банковского счёта;
Отдел кадров организации;
Учёт выпускаемой продукции;
Складской учёт;
Отдел начисления зарплаты;
Автотранспортные средства;
Здания;
Гостиницы;
Водный транспорт;
Воздушный транспорт;
Этапы развития человека;
Животный мир;
Печатная продукция;
Эволюция ЭВМ.
6.2. Вопросы для подготовки к зачету (по итогам 3 семестра).
JDK, JRE, JVM — назначение и структура (javac -classpath, -sourcepath, -d, , java -classpath, javaw, jar, rt.jar). Типы Java приложений (applet, servlet, etc.). Описание структуры и способа компиляции, запуска и распространения «обычного» Java приложения.
JSE, JME, JEE, Java Card – описание, назначения, отличия. Что понимается под термином — стандарт Java SE, - что наличие стандарта даёт на практике.
ООП в Java. Всё является объектом. Что не является объектом в Java. Что представляет собой Java приложение с точки зрения ООП. Основные характеристики объектов в Java. Контрастный пример для какого либо другого языка программирования приветствуется.
Основные отличия Java от C++ (8-10). Почему Java считается более безопасным языком программирования, чем C++.
Система типов в Java. Статическая проверка типов. Строгая типизация. В чём разница между этими понятиями. Безопасная работа с памятью. Достоинства: безопасность/надёжность, документированность, абстрактный/высокоуровневый подход к разработке ПО.
Архитектура памяти Java приложения — от регистров процессора до хранения данных вне оперативной памяти. Способы работы с различными типами памяти. Особенности работы с памятью на многопроцессорном компьютере.
Класс Object, его методы, их назначение. Иерархия классов в Java. Наследование классов в Java. Структурирование Java приложения, пакеты. Уровни доступа и видимости. Перегрузка методов в Java, виртуальные методы. Преобразование типов в Java, instanceof.
Примитивные и обёрточные (для них) типы данных, тип String в Java. Их особенности, способ хранения в памяти, autoboxing. Основные методы обёрточных типов данных (для преобразования значений из одного представления в другое). Что не так в выражении: float val=1.0; Типы данных для хранения численных значений с высокой точностью.
Конструкции языка — определение классов. «Обычный» класс, класс с областью видимости пакета (в чём особенность кроме области видимости), вложенный класс (inner class), абстрактный класс, статический вложенный класс (inner static class, отичие), анономный класс, инлайн класс (inline class). В чём отличие анонимного класса от inline класса, какие имена присваивает компилятор таким классам.
Конструкции языка — массивы, арифметические, логические, битовые операции - не обязательной перечислять весь список, достаточно описать назачение каждой из групп операций, операторы if и switch. Ключевое слово final.
Конструкции языка — циклы for, for (Iterator, Iterable), while, do while. continue, continue с меткой, break, break с меткой, goto.
Конструкции языка — определение классов (в пакете), полей и методов. Перегрузка методов, вызов метода родительского класса. static поля класса, их особенность и назначение. final поля класса. Соглашение по именованию пакетов, классов, полей, методов, локальных переменных и констант.
Конструкции языка — инициализация полей класса и локальных переменных (отличие), инициализатор и статический инициализатор (когда вызывается), конструктор, конструктор с параметром, конструктор по умолчанию, вызов конструктора родительского класса, неявный вызов конструктора родительского класса, порядок инициализации экземпляра Java класса. Управление памятью в Java, процесс освобождения памяти занимаемой объектом.
Javadoc комментарии, назначение основные теги @param, @link, @throws, @return, @author. Использование утилиты javadoc для генерации HTML Документации. «Обычные» комментарии.
Исключения, назначение, использование, изменение в ходе работы приложения при возникновении исключения. Checked, Runtime и Error исключения, соответствующие базовые классы, иерархия классов исключений. Различия в обработке исключений различных типов, что означает возникновение в программе исключения того или иного типа. В каком месте программы обязательно обрабатывать все исключения вне зависимости от его типа. В каком случае можно допустить «вылет» исключения за пределы метода main.
Конструкции языка, наследование классов и интерфейсов, что такое интерфейс. Множественное наследование интерфейсов, абстрактные классы и интерфейсы, инстанциирование абстрактных классов и интерфейсов. Перечислимые типы.
Аннотации, рефлексия, интроспекция. Получение списка полей, вызов метода класса по имени, получение информации о типе экземпляра. Использование аннотаций — декларативное программирование.
Коллекции в Java. Иерархия классов входящих в Collections Framework. Основные методы классов коллекций. Итерация по элементам коллекции.
Основные алгоритмы и вспомогательные методы входящие в Collections Framework.
Различные реализации коллекций в Java, их отличия. «Устаревшие» типы коллекций.
Потоковый ввод вывод в Java, символьные и байтовые потоки. Иерархия классов ввода вывода. Кодировки символов, работа с различными кодировками.
Правильная обработка исключений при работе с потоками ввода вывода.