Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов
Лекция 1. Введение
Что, зачем, кому Целевая аудитория: Студенты, только что распределенные на кафедру. Энтузиасты со второго курса. Цель: Дать слушателям практические знания и навыки для создания программных реализаций с использованием современных языков и средств программирования. Зачем: Для успешного выполнения программных реализаций в курсовых работах.
Реализация для курсовой работы Создание реализации алгоритма. Проверка корректности реализации. Использование алгоритма в рамках некоторой среды подготовки и интерпретации данных. Модификация и развитие алгоритма. Использование алгоритма другими людьми в рамках большой системы.
Основные задачи Реализация алгоритма. Отделение алгоритма от инфраструктуры (подготовки входных данных, интерпретации выходных данных и т.д.). Проверка корректности реализации на разных входных данных. Гарантия корректности при внесении изменений в реализацию. Контроль вносимых изменений. Возможность отката. Наличие документации по реализации алгоритма; Наличие документированного программного интерфейса API для алгоритма; Отчуждаемость реализации от среды разработки.
Программа курса: теоретическая часть 1. Основы языка Java: Java как С, создание приложений. 2. Основы ООП в Java, пакеты, обработка ошибок (~2 лекции). 3. Работа с документацией по API. Библиотеки system, lang, util, io. (~2 лекции). 4. Окружающая среда Java: J2SE, J2EE. Существующие библиотеки программ. Поиск и выбор. Подход open source. 5. Документирование программ. Javadoc. 6. Обеспечение качества создаваемых программ. Модульные тесты JUnit. 7. Средства сборки программ. Ant. 8. Контроль версий. Использование CVS.
Требуемые знания и навыки: Знание языка С. Умение работать с операционной системой UNIX на уровне пользователя. Понимание основ функционирования сети Интернет. Понимание основных понятий объектно- ориентированного программирования ООП.
Форма проведения 1.Лекции, не предусматривающие запись. 2. Самостоятельное изучение студентами рекомендованных учебных материалов. 3. Самостоятельное решение учебных практических задач. Для этого выделен машзал 3 по вторникам с 8.45 до Обсуждения решений задач и консультации в конце лекции. 5. Выполнение коротких (5-10 минут) контрольных работ в начале лекции. После окончания теоретической части консультации по выполнению учебных практических задач заканчиваются!
Программа курса: практическая часть После окончания изложения языка Java всем желающим будут выданы задания практической части. Задание выполняется самостоятельно. Выполнение практического задания является необходимым условием получения оценки. Оценка выставляется и за практикум и за спецкурс. Задание представляет собой описание алгоритма, который надо самостоятельно реализовать на языке Java в соответствии с заданным набором требований.
Требования к реализации Необходимо сделать реализацию алгоритма по его текстовому описанию в статье или книге. Необходимо написать программу, демонстрирующую работу этого алгоритма. Программа должна осуществлять подготовку входных данных и интерпретацию результатов работы алгоритма. Необходимо подготовить входные данные, на которых будет демонстрироваться работа алгоритма. Необходимо сделать реализацию отчуждаемой и пригодной для дальнейшего использования: документировать, написать модульные тесты, написать скрипты сборки. Необходимо оформить алгоритм и программу так, чтобы можно было легко запустить для оценки. Подробнее об этом написано на страничке
Правила приема заданий Задание принимается в момент готовности, но не позднее 15 декабря. Работы, сданные до 1 декабря, м.б. возвращены на доработку с указанием недостатков, но не более одного раза. Работы надо отсылать по электронной почте в аттачменте. В теме указывать фамилию и номер группы. В теле письма ФИО полностью, номер группы, кафедра, название задания. Адрес: С правилами приема заданий и требованиями к выполнению заданий можно ознакомиться на страничке
Рекомендуемый инструментарий IBM Eclipse ( (open source). Sun NetBeans ( (open source). JDK, Ant, Vim и командная строка.
Рекомендуемая литература Курс МФТИ «Программирование на Java» Sun Java Tutorial С. Макконнелл «Совершенный код». С. Канер, Д.Фолк, Е. Нгуен «Тестирование программного обеспечения». Материалы сайта Управление версиями в Subversion Материалы сайта
Анатомия Java