Главная
Популярная публикация
Научная публикация
Случайная публикация
Обратная связь
ТОР 5 статей:
Методические подходы к анализу финансового состояния предприятия
Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века
Ценовые и неценовые факторы
Характеристика шлифовальных кругов и ее маркировка
Служебные части речи. Предлог. Союз. Частицы
КАТЕГОРИИ:
|
Требования к компетентности (согласно образовательного стандарта специальности)
В результате изучения учебной дисциплины студент должен:
– знать: концепции, положенные в основу современных языков программирования высокого уровня на примере платформы Java; синтаксис, семантику, базовые типы данных языка высокого уровня; фундаментальные алгоритмы обработки данных; основные принципы технологии объектно-ориентированного программирования и способы их реализации средствами языка программирования (например, Java).
– уметь: проектирование, тестрование и отладка консольных и windows-приложений в среде разработке Eclipse средствами языка программирования Java, проектирование и реализации классов (иерархий класссов), задействуя механизмы инкапсуляции, наследования и полиморфизма, организация файлового ввода/вывода, реализации динамических структур данных, работа с коллекциями;
– владеть навыками: проектирования и разработки приложений в соответствии с принципами ООП на базе платформы Java.
Распределение общих и аудиторных часов по семестрам
Данная дисциплина изучается в течение одного семестра. Распределение часов по семестрам приведено в таблице.
№ семестра
| Лекции (часы)
| Лабораторные занятия (часы)
| Управляемая самостоятельная работа студента (часы)
|
|
|
| 4 лекц.+4 лаб.=8
|
СОДЕРЖАНИЕ УЧЕБНОГО МАТЕРИАЛА
№
п/п
| Наименование
раздела, темы дисциплины
| Содержание в соответствии с
типовой учебной программой (учебной программой)
| 1.
| Программирование на языке Java
|
| 1.1.
| Основы объектно-ориентированного программирования
| Излагается основная концепция объектно-ориентированного подхода (ООП) к проектированию программного обеспечения. Поскольку в Java почти все типы (за исключением восьми простейших) являются объектными, владение ООП становится необходимым условием для успешного применения языка.
| 1.2.
| Лексика языка
| Описание лексики языка Java. Лексика описывает, из чего состоит текст программы, каким образом он записывается и на какие простейшие слова (лексемы) компилятор разбивает программу при анализе. Лексемы (или tokens в английском варианте) – это основные "кирпичики", из которых строится любая программа на языке Java. Раскрываются многие детали внутреннего устройства языка, и невозможно написать ни одной строчки кода, не затронув ее.
| 1.3.
| Типы данных
| Типы данных определяют основные возможности любого языка. Кроме того, Java является строго типизированным языком, а потому четкое понимание модели типов данных очень помогает в написании качественных программ. Вводится понятие переменной, на примере которой иллюстрируются особенности применения типов в Java. Описывается разделение всех типов на простейшие и ссылочные, операции над значениями различных типов, а также особый класс Class, который играет роль метакласса в Java.
| 1.4.
| Имена. Пакеты
| Рассматриваются две темы – система именования элементов языка в Java и пакеты (packages), которые являются аналогами библиотек из других языков. Почти все конструкции в Java имеют имя для обращения к ним из других частей программы. По ходу изложения вводятся важные понятия, в частности – область видимости имени. При перекрытии таких областей возникает конфликт имен. Для того чтобы минимизировать риск возникновения подобных ситуаций, описываются соглашения по именованию, предложенные компанией Sun. Пакеты осуществляют физическую и логическую группировку классов и становятся необходимыми при создании больших систем. Вводится важное понятие модуля компиляции и описывается его структура.
| 1.5.
| Объявление классов
| Любое Java-приложение является набором классов. Рассматривается вопрос о системе разграничения доступа в Java. Описывается, зачем вообще нужно управление доступом в ОО-языке программирования и как оно осуществляется в Java. Подробно рассматривается структура объявления заголовка класса и его тела, которое состоит из элементов (полей и методов), конструкторов и инициализаторов. Рассматривается сигнатура метода main(), с которого начинается работа Java-приложения, правила передачи параметров различных типов в методы, перегруженные методы.
| 1.6.
| Преобразование типов
| Java является языком строго типизированным, поэтому компилятор и виртуальная машина всегда следят за работой с типами, гарантируя надежность выполнения программы. Однако во многих случаях то или иное преобразование необходимо осуществить для реализации логики программы. С другой стороны, некоторые безопасные переходы между типами Java позволяет осуществлять неявным для разработчика образом, что может привести к неверному пониманию работы программы. Рассматриваются все виды преобразований, а затем все ситуации в программе, где они могут применяться. Приводится начало классификации типов переменных и типов значений, которые они могут хранить.
| 1.7.
| Объектная модель в Java
| Проводится изучение ключевых свойств объектной модели Java, таких как статические элементы, абстрактные методы и классы, интерфейсы, являющиеся альтернативой множественного наследования. Без этих мощных конструкций язык Java был бы неспособен решать серьезные задачи. Рассматриваются принципы работы полиморфизма для полей и методов, статических и динамических. Уточняется классификация типов переменных и типов значений, которые они могут хранить.
| 1.8.
| Массивы
| Лекция посвящена описанию массивов в Java. Массивы издавна присутствуют в языках программирования, поскольку при выполнении многих задач приходится оперировать целым рядом однотипных значений. Массивы в Java – один из ссылочных типов, который, однако, имеет особенности при инициализации, создании и оперировании со своими значениями. Наибольшие различия проявляются при преобразовании таких типов. Объясняется, почему многомерные массивы в Java можно (и зачастую более правильно) рассматривать как одномерные. Завершается классификация типов переменных и типов значений, которые они могут хранить. Рассматривается механизм клонирования Java, позволяющий в любом классе описать возможность создания точных копий объектов, порожденных от него.
| 1.9.
| Операторы и структура кода. Исключения
| После ознакомления с типами данных в Java, правилами объявления классов и интерфейсов, а также с массивами, из базовых свойств языка остается рассмотреть лишь управление ходом выполнения программы. Вводятся важные понятия, связанные с данной темой, описываются метки, операторы условного перехода, циклы, операторы break и continue и другие. Далее рассматриваются более концептуальные механизмы Java, а именно работа с ошибками или исключительными ситуациями. Рассматриваются причины возникновения сбоев, способы их обработки, объявление собственных типов исключительных ситуаций. Описывается разделение всех ошибок на проверяемые и непроверяемые компилятором, а также ошибки времени исполнения.
| 1.10.
| Пакет java.awt
| Рассматриваются базовые библиотеки Java, которые являются неотъемлемой частью языка и входят в его спецификацию, а именно описывается пакет java.awt, предоставляющий технологию AWT для создания графического (оконного) интерфейса пользователя – GUI. Ни одна современная программа, предназначенная для пользователя, не обходится без удобного, понятного, в идеале – красивого пользовательского интерфейса. С самой первой версии в Java существует специальная технология для создания GUI. Она называется AWT, Abstract Window Toolkit. Пакет java.awt претерпел, больше всего изменений с развитием версий Java. Рассматривается дерево компонентов, доступных программисту, специальную модель сообщений, позволяющую гибко обрабатывать пользовательские действия, и другие особенности AWT – работа с цветами, шрифтами, отрисовка графических примитивов, менеджеры компоновки и т.д. Хотя технология AWT включает в себя гораздо больше, чем можно изложить в рамках одной лекции, здесь собраны все необходимые сведения для создания полноценного оконного интерфейса.
| 1.11.
| Потоки выполнения. Синхронизация
| Завершается описание ключевых особенностей Java. Последняя тема раскрывает особенности создания многопоточных приложений – такая возможность присутствует в языке, начиная с самых первых версий. Первый вопрос – как на много и, самое интересное, однопроцессорных машинах выполняется несколько потоков одновременно и для чего они нужны в программе. Описываются классы, необходимые для создания, запуска и управления потоками в Java. При одновременной работе с данными из нескольких мест возникает проблема синхронного доступа, блокировок и, как следствие, взаимных блокировок. Изучаются все механизмы, предусмотренные в языке для корректной организации такой логики работы.
| 1.12.
| Пакет java.lang
| Рассматривается основная библиотека Java - java.lang. В ней содержатся классы Object и Class, классы-обертки для примитивных типов, класс Math, классы для работы со строками String и StringBuffer, системные классы System, Runtime и другие. В этом же пакете находятся типы, уже рассматривавшиеся ранее,- для работы с исключительными ситуациями и потоками исполнения.
| 1.13.
| Пакет java.util
| Изучается пакет java.util, в котором содержится множество вспомогательных классов и интерфейсов. Практически любая программа использует эту библиотеку. Центральную часть в изложении занимает тема контейнеров, или коллекций, – классов, хранящих упорядоченные ссылки на ряд объектов. Они были существенно переработаны в ходе создания версии Java2. Рассматриваются классы для работы с датой, для генерации случайных чисел, обеспечения поддержки многих национальных языков в приложении и др.
| 1.14.
| Пакет java.io
| Описываются реализованные в Java возможности передачи информации, что является важной функцией для большинства программных систем. Сюда входит работа с файлами, сетью, долговременное сохранение объектов, обмен данными между потоками исполнения и т.п. Все эти действия базируются на потоках байт (представлены классами InputStream и OutputStream) и потоках символов (Reader и Writer). В библиотеке java.io содержатся все эти классы и их многочисленные наследники, предоставляющие полезные возможности. Рассматривается механизм сериализации объектов и работа с файлами.
| 1.15.
| Введение в сетевые протоколы
| Рассматриваются возможности построения сетевых приложений. Дается краткое введение в сетевые протоколы, семиуровневую модель OSI, стек протоколов TCP/IP и описываются основные утилиты, предоставляемые операционной системой для мониторинга сети. Эти значения необходимы, поскольку библиотека java.net, по сути, является интерфейсом для работы с этими протоколами. Рассматриваются классы для соединений через высокоуровневые протоколы, протоколы TCP и UDP.
|
Не нашли, что искали? Воспользуйтесь поиском:
|