Рубрика:
Карьера/Образование /
Образование в сети
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ИГОРЬ ШТОМПЕЛЬ, инженер, системный администратор. Сфера профессиональных интересов – свободное программное обеспечение, keepercoder@gmail.com
Программирование на Java
Программирование – интереснейшая и захватывающая область ИТ. Но, чтобы войти в эту область, нужно выбрать и изучить язык программирования. Согласно TIOBE Index второй по популярности язык – Java. Для тех, кто желает познакомиться или углубить свои знания, мы предлагаем перечень интересных курсов
Программирование на Java
Предлагаемый курс носит вводный характер, является введением в язык программирования Java и основы объектно-ориентированного программирования (ООП).
Материалы курса начинаются с истории и развития языка, особенностей платформы Java.
Продолжают курс лекции по основам ООП:
- методология процедурно-ориентированного программирования;
- методология ООП;
- объекты;
- классы;
- типы отношений между классами;
- достоинства и недостатки ООП.
Лекции по лексике Java:
- кодировка;
- анализ программы;
- виды лексем:
- идентификаторы,
- ключевые слова,
- литералы;
- операторы;
- операции
Лекции по типам данных:
- переменные;
- примитивные и ссылочные типы данных;
- и др.
Дальнейшие лекции расширяют кругозор и посвящены изучению:
- имен и пакетов,
- объявлений классов,
- преобразованию типов,
- объектной модели в Java,
- массивов,
- операторов и структуры кода,
- исключений,
- потоков выполнения,
- синхронизации,
- введения в сетевые протоколы.
Кроме того, отдельные лекции курса посвящены пакетам:
- java.awt (дерево компонентов; обработка пользовательских событий; апплеты; менеджеры компоновки),
- java.lang (Object; Class; классы-обертки; Math; строки; системные классы; потоки исполнения; исключения),
- java.util (работа с датами и временем; интерфейс Observer и класс Observable; коллекции; класс Properties; интерфейс Comparator; класс Arrays; класс StringTokenizer; класс BitSet; класс Random; локализация),
- java.io (система ввода/вывода; потоки данных (stream); сертификация объектов (serialization); классы Reader и Writer и их наследники; класс StreamTokinizer; работа с файловой системой).
Курс позволяет получить базовые знания о языке программирования Java, которые станут прочным фундаментом для дальнейшего его освоения. В свою очередь, дополнение курса в виде двух практикумов, посвященных разработке приложений, в том числе веб-приложений, в среде Eclipse, дают первоначальное понятие об использовании среды разработки.
Java
Еще одним хорошим введением в программирование на языке Java может служить данный курс, который стал достаточно популярным на портале проекта Лекториум. Он позволит закрепить базовые знания, полученные при изучении курса, рассмотренного выше.
Лекции начинаются с рассмотрения истории и эволюции языка Java, его особенностей и экосистемы, стандартных инструментов JDK.
После этого автор предлагает ознакомиться с типами данных (примитивными, ссылочными, boolean, целочисленными, вещественными), а также явным и неявным преобразованием типов, классами-обертками, классами Math, BigInteget и BigDecimal.
Третья лекция посвящена массивам (объявление, создание, инициализация, индексация, одномерные и многомерные, представление в памяти, java.util.Arrays) и строкам (строковые литералы, операции со строками, java.lang.StringBuilder, поддержка различных кодировок, регулярные выражения).
Последующие лекции дают представление об основах ООП (объявление класса; использование класса; наследование и др.), об управляющих конструкциях и исключениях (условные операторы if и switch; циклы for, while и do; операторы break и continue; метки; типы исключений и др.), о стандартной библиотеке Java (java.io; java.nio.file; доступе к файловой системе; java.util; java.lang.reflect и др.), о разработке многопоточных приложений (общие сведения о параллелизме; управление потоками; синхронизация; модель памяти и др.).
В заключение предлагается познакомиться с модульным тестированием (Junit, Mockito, Java Logging API) и разработкой сетевых приложений (сокеты, URI и URL, библиотека Netty).
Углубленное программирование на Java
Предлагаемый курс поможет расширить представление о языке программирования Java, предлагаемый в рамках проекта Технопарк (совместное детище Mail.Ru Group и МГТУ им. Н.Э. Баумана).
Для успешного прохождения курса необходима предварительная подготовка: знание языка программирования Java на базовом уровне и опыт работы с ним.
Первая лекция является введением и дает представление об истории и особенностях Java, платформе Java и ее редакциях, сборщике мусора, запуске Java-приложений, наследовании в Java. Здесь же сравниваются Java и C++.
Следующая лекция посвящена многопоточности (Reflection, Class Object и Class Class, классы-обертки простых типов, типизация, обзор коллекций Java, Class Thread, sleep(), interrupt(), join(), потоки с точки зрения процессора, прерывания, Java memory model, синхронизация, мьютексы, семафоры, проблемы многопоточного доступа к данным, пример неатомарности операции ++, примеры многопоточных приложений и др.).
Уделяется внимание:
- взаимодействию потоков (описание проблемы взаимодействия потоков, взаимодействие потоков Frontend и AccountService, плюсы решения задачи через два потока, способы взаимодействия потоков через сообщения, примеры кода и алгоритм работы и др.);
- игровой механике (проблема циклических зависимостей и ее решение через интерфейсы, архитектура сервера, разбор модулей сервера и их взаимодействие, игровая механика, диаграмма взаимодействия модулей игровой механики и фронтенда, репликация и др.);
- тестированию и нагрузке (виды тестирования: Unit-тестирование, функциональное, нагрузочное; практики тестирования, инструменты: Junit, Selenium; сборщик мусора: виды, параметры, принципиальное устройство и др.);
- вводу/выводу (события, анонимные классы, работа со временем и датой, подписка на время, I/O Streams, потоки байт и потоки символов, дерево наследования потоков, файловые потоки, безопасность закрытия потоков, VFS, примеры кода и др.);
- ресурсной системе (сериализация и десериализация, SAX и DOM парсеры, восстановление объекта по XML-файлу, ресурсы, использование ReflectionHelper для десериализации ресурсов и др.);
- работе с базами данных (шаблон работы с базой, JDBC API, модуль для работы с базой данных и др.);
- ORM (Object Relational Mapping, объектно-реляционное отображение; Hibernate и др.).
Таким образом, данный курс позволяет разработчикам углубить знание о языке программирования Java и подняться выше базового уровня в своей профессиональной компетенции.
Язык программирования Java и среда NetBeans
В этом курсе подробно рассматривается среда NetBeans.
Автор начинает изложение материала с общих вопросов:
- Java и другие языки программирования,
- виртуальная Java-машина,
- байт-код,
- JIT-компиляция,
- алфавит языка Java,
- специальные символы и т.п.
Затем переходит к проблемам объектно-ориентированного проектирования и среде NetBeans:
- процедурное и ООП,
- проекты NetBeans,
- создание в NetBeans простейшего приложения Java,
- компиляция файлов проекта и запуск приложения,
- структура проекта NetBeans,
- создание в NetBeans приложения Java с графическим интерфейсом,
- документирование исходного кода в Java,
- технологии Java и .Net.
Последующие лекции посвящены непосредственно языку Java:
- примитивным типам данных,
- операторам для работы с примитивными типами данных,
- работе с числами,
- управляющим конструкциям,
- объектному программированию,
- важнейшим объектным типам,
- наследованию,
- интерфейсам,
- композиции,
- дополнительным элементам объектного программирования,
- сетевому программированию,
- встроенным классам.
Последняя лекция возвращает к работе в среде NetBeans в рамках рассмотрения компонентного программирования (компонентная архитектура NetBeans, мастер создания компонента в NetBeans, пример создания компонента, добавление в компонент новых свойств и событий и др.).
Таким образом, особенностью курса является не только предоставление базовых знаний о работе в среде NetBeans, но и о языке программирования Java.
Использование и расширение Eclipse
Еще одна очень популярная среда среди Java-программистов – Eclipse, которой и посвящен рассматриваемый курс.
Автор знакомит с самой средой Eclipse (что она собой представляет как IDE и как сообщество).
Следующая лекция посвящена основам разработки (запуск и настройка Eclipse, создание и открытие проекта программы, сборка и запуск программы и др.).
Продолжают материал сведения об отладчике среды Eclipse (запуск отладчика, интерфейс и т.п.).
Заключительные лекции посвящены подключению и использованию Subversion (системы контроля версий) и Atlassian Jira (системы учета задач).
Курс полностью соответствует заявленным задачам и позволяет в указанных рамках освоить использование среды Eclipse.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|