Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и программирование.doc
Скачиваний:
6
Добавлен:
09.09.2019
Размер:
401.41 Кб
Скачать
  1. Оценочные средства контроля успеваемости по итогам освоения учебной дисциплины

6.1. Тематика курсовых проектов

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

  1. закрепление, углубление, обобщение знаний, полученных в теоретическом курсе, и применение этих знаний к комплексному решению конкретной задачи программирования;

  2. привитие навыков работы с литературой, в том числе со справочной литературой и ГОСТами;

  3. закрепление навыков программирования и оформлению результатов проектирования.

Задачей курсового проектирования является закрепление теоретических знаний и практических навыков по программированию на одном из изученных в рамках курса языков программирования.

6.1.1. Содержание (состав) курсового проекта

Курсовой проект должен включать в себя следующие разделы:

  1. Постановка задачи.

  2. Теоретическая часть:

    1. Краткая история развития языков программирования.

    2. Изложение принципов структурного, процедурного и объектно-ориентированных подходов в программировании.

  1. Практическая часть:

    1. Описание структуры, классов и задач, решаемых программой.

    2. Блок-схема программы.

    3. Распечатка программы и экрана с результатами.

4. Заключение.

5. Список использованной литературы.

6.1.2. Предметные области для курсового проекта:

  1. Банковские кредиты;

  2. Банковские вклады;

  3. Ведение банковского счёта;

  4. Отдел кадров организации;

  5. Учёт выпускаемой продукции;

  6. Складской учёт;

  7. Отдел начисления зарплаты;

  8. Автотранспортные средства;

  9. Здания;

  10. Гостиницы;

  11. Водный транспорт;

  12. Воздушный транспорт;

  13. Этапы развития человека;

  14. Животный мир;

  15. Печатная продукция;

  16. Эволюция ЭВМ.

6.2. Вопросы для подготовки к зачету (по итогам 3 семестра).

  1. JDK, JRE, JVM — назначение и структура (javac -classpath, -sourcepath, -d, , java -classpath, javaw, jar, rt.jar). Типы Java приложений (applet, servlet, etc.). Описание структуры и способа компиляции, запуска и распространения «обычного» Java приложения.

  2. JSE, JME, JEE, Java Card – описание, назначения, отличия. Что понимается под термином — стандарт Java SE, - что наличие стандарта даёт на практике.

  3. ООП в Java. Всё является объектом. Что не является объектом в Java. Что представляет собой Java приложение с точки зрения ООП. Основные характеристики объектов в Java. Контрастный пример для какого либо другого языка программирования приветствуется.

  4. Основные отличия Java от C++ (8-10). Почему Java считается более безопасным языком программирования, чем C++.

  5. Система типов в Java. Статическая проверка типов. Строгая типизация. В чём разница между этими понятиями. Безопасная работа с памятью. Достоинства: безопасность/надёжность, документированность, абстрактный/высокоуровневый подход к разработке ПО.

  6. Архитектура памяти Java приложения — от регистров процессора до хранения данных вне оперативной памяти. Способы работы с различными типами памяти. Особенности работы с памятью на многопроцессорном компьютере.

  7. Класс Object, его методы, их назначение. Иерархия классов в Java. Наследование классов в Java. Структурирование Java приложения, пакеты. Уровни доступа и видимости. Перегрузка методов в Java, виртуальные методы. Преобразование типов в Java, instanceof.

  8. Примитивные и обёрточные (для них) типы данных, тип String в Java. Их особенности, способ хранения в памяти, autoboxing. Основные методы обёрточных типов данных (для преобразования значений из одного представления в другое). Что не так в выражении: float val=1.0; Типы данных для хранения численных значений с высокой точностью.

  9. Конструкции языка — определение классов. «Обычный» класс, класс с областью видимости пакета (в чём особенность кроме области видимости), вложенный класс (inner class), абстрактный класс, статический вложенный класс (inner static class, отичие), анономный класс, инлайн класс (inline class). В чём отличие анонимного класса от inline класса, какие имена присваивает компилятор таким классам.

  10. Конструкции языка — массивы, арифметические, логические, битовые операции - не обязательной перечислять весь список, достаточно описать назачение каждой из групп операций, операторы if и switch. Ключевое слово final.

  11. Конструкции языка — циклы for, for (Iterator, Iterable), while, do while. continue, continue с меткой, break, break с меткой, goto.

  12. Конструкции языка — определение классов (в пакете), полей и методов. Перегрузка методов, вызов метода родительского класса. static поля класса, их особенность и назначение. final поля класса. Соглашение по именованию пакетов, классов, полей, методов, локальных переменных и констант.

  13. Конструкции языка — инициализация полей класса и локальных переменных (отличие), инициализатор и статический инициализатор (когда вызывается), конструктор, конструктор с параметром, конструктор по умолчанию, вызов конструктора родительского класса, неявный вызов конструктора родительского класса, порядок инициализации экземпляра Java класса. Управление памятью в Java, процесс освобождения памяти занимаемой объектом.

  14. Javadoc комментарии, назначение основные теги @param, @link, @throws, @return, @author. Использование утилиты javadoc для генерации HTML Документации. «Обычные» комментарии.

  15. Исключения, назначение, использование, изменение в ходе работы приложения при возникновении исключения. Checked, Runtime и Error исключения, соответствующие базовые классы, иерархия классов исключений. Различия в обработке исключений различных типов, что означает возникновение в программе исключения того или иного типа. В каком месте программы обязательно обрабатывать все исключения вне зависимости от его типа. В каком случае можно допустить «вылет» исключения за пределы метода main.

  16. Конструкции языка, наследование классов и интерфейсов, что такое интерфейс. Множественное наследование интерфейсов, абстрактные классы и интерфейсы, инстанциирование абстрактных классов и интерфейсов. Перечислимые типы.

  17. Аннотации, рефлексия, интроспекция. Получение списка полей, вызов метода класса по имени, получение информации о типе экземпляра. Использование аннотаций — декларативное программирование.

  18. Коллекции в Java. Иерархия классов входящих в Collections Framework. Основные методы классов коллекций. Итерация по элементам коллекции.

  19. Основные алгоритмы и вспомогательные методы входящие в Collections Framework.

  20. Различные реализации коллекций в Java, их отличия. «Устаревшие» типы коллекций.

  21. Потоковый ввод вывод в Java, символьные и байтовые потоки. Иерархия классов ввода вывода. Кодировки символов, работа с различными кодировками.

  22. Правильная обработка исключений при работе с потоками ввода вывода.