Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич [email protected] Кафедра АСВК, Лаборатория Вычислительных комплексов
Лекция 1. Введение
Что, зачем, кому Целевая аудитория: Студенты, только что распределенные на кафедру. Энтузиасты со второго курса. Цель: Дать слушателям практические знания и навыки для создания программных реализаций с использованием современных языков и средств программирования. Зачем: Для успешного выполнения программных реализаций в курсовых работах.
Реализация для курсовой работы Создание реализации алгоритма. Проверка корректности реализации. Использование алгоритма в рамках некоторой среды подготовки и интерпретации данных. Модификация и развитие алгоритма. Использование алгоритма другими людьми в рамках большой системы.
Основные задачи Реализация алгоритма. Отделение алгоритма от инфрастуктуры (подготовки входных данных, интерпретации выходных данных и т.д.). Проверка корректности реализации на разных входных данных. Гарантия корректности при внесении изменений в реализацию. Контроль вносимых изменений. Возможность отката. Наличие документации по реализации алгоритма; Наличие документированного программного интерфейса API для алгоритма; Отчуждаемость реализации от среды разработки.
Программа курса: теоретическая часть Основы языка Java: Java как С, создание приложений. Основы ООП в Java, пакеты, обработка ошибок (~2 лекции). Работа с документацией по API. Библиотеки system, lang, util, io. (~2 лекции). Окружающая среда Java: J2SE, J2EE. Существующие библиотеки программ. Поиск и выбор. Подход open source. Документирование программ. Javadoc. Обеспечение качества создаваемых программ. Модульные тесты JUnit. Средства сборки программ. Ant. Контроль версий. Использование CVS.
Требуемые знания и навыки: Знание языка С. Умение работать с операционной системой UNIX на уровне пользователя. Понимание основ функционирования сети Интернет. Понимание основных понятий объектно-ориентированного программирования ООП.
Форма проведения Лекции, не предусматривающие запись. Самостоятельное изучение студентами рекомендованных учебных материалов. Самостоятельное решение учебных практических задач. Для этого выделен машзал 3 по вторникам с 8.45 до 12.05. Обсуждения решений задач и консультации в конце лекции. Выполнение коротких (5-10 минут) контрольных работ в начале лекции. После окончания теоретической части консультации по выполнению учебных практических задач заканчиваются!
Программа курса: практическая часть После окончания изложения языка Java всем желающим будут выданы задания практической части. Задание выполняется самостоятельно. Выполнение практического задания является необходимым условием получения оценки. Оценка выставляется и за практикум и за спецкурс. Задание представляет собой описание алгоритма, который надо самостоятельно реализовать на языке Java в соответствии с заданным набором требований.
Требования к реализации Необходимо сделать реализацию алгоритма по его текстовому описанию в статье или книге. Необходимо написать программу, демонстрирующую работу этого алгоритма. Программа должна осуществлять подготовку входных данных и интерпретацию результатов работы алгоритма. Необходимо подготовить входные данные, на которых будет демонстрироваться работа алгоритма. Необходимо сделать реализацию отчуждаемой и пригодной для дальнейшего использования: документировать, написать модульные тесты, написать скрипты сборки. Необходимо оформить алгоритм и программу так, чтобы можно было легко запустить для оценки. Подробнее об этом написано на страничке http://zigzag.lvk.cs.msu.su/~ddk/java/
Правила приема заданий Задание принимается в момент готовности, но не позднее 15 декабря. Работы, сданные до 1 декабря, м.б. возвращены на доработку с указанием недостатков, но не более одного раза. Работы надо отсылать по электронной почте в аттачменте. В теме указывать фамилию и номер группы. В теле письма ФИО полностью, номер группы, кафедра, название задания. Адрес: [email protected]. С правилами приема заданий и требованиями к выполнению заданий можно ознакомиться на страничке http://zigzag.lvk.cs.msu.su/~ddk/java
Рекомендуемый инструментарий IBM Eclipse (www.eclipse.org) (open source). Sun NetBeans (www.netbeans.org) (open source). JDK, Ant, Vim и командная строка.
Рекомендуемая литература Курс МФТИ «Программирование на Java» http://www.javagu.ru. Sun Java Tutorial http://java.sun.com. С. Макконнелл «Совершенный код». С. Канер, Д.Фолк, Е. Нгуен «Тестирование программного обеспечения». Материалы сайта http://www.junit.org. Управление версиями в Subversion http://svnbook.red-bean.com/. Материалы сайта http://ant.apache.org.
Анатомия Java
Анатомия Java
Анатомия Java
Анатомия Java