Практический курс разработки под Android проходит в Университете ИТМО в первом семестре 2016/2017 учебного года.
Всем слушателям курса, желающим потом получить за него зачет, просьба пройти опрос: http://bit.ly/ifmo-android-2016-survey
Для этого курса в расписании зарезервированы первые две пары по средам. Точное расписание занятий будет появляться здесь:
- Лекция 7 сентября 2016, среда: вторая пара, начало в 10:00
- Практика 14 сентября 2016, среда: вторая пара, начало в 10:00
- Лекция 21 сентября 2016, среда: вторая пара, начало в 10:00
- ...
- Лекция 5 октября 2016, среда: первая пара, начало в 8:20, аудитория 466
- Практика 5 октября 2016, среда: вторая пара, начало в 10:00, аудитория 332
- Лекция 12 октября, среда: вторая пара, начало в 10:00, аудитория 466
- Лекция 19 октября, среда: первая пара, начало в 8:20, аудитория 466
- Практика 19 октября, среда: вторая пара, начало в 10:00, аудитория 332
- Лекция 26 октября, среда: второая пара, начало в 10:00, аудитория 466
- Лекция 2 ноября, среда: вторая пара, начало в 10:00, аудитория 466 ..
- Лекция 23 ноября, среда: вторая пара, начало в 10:00, аудитория 466
- Алексей Никитин, Android разработчик в Mail.RU Group (Одноклассники), https://github.com/HighFlyer13
- Дмитрий Трунин, Android разработчик в Mail.RU Group (Одноклассники), https://github.com/dtrounine
Для связи с преподавателями можно использовать Slack: https://ifmoandroid2016.slack.com
- Вводная лекция: https://github.com/IFMO-Android-2016/lesson1/
- Первое практическое занятие: https://github.com/IFMO-Android-2016/practice1
- ...
- За выполнение заданий в рамках курса студенты получают баллы
- Максимум можно набрать 100 баллов
- Зачет за курс ставится при получении 60 или более баллов
- Никакие другие работы (задания прошлых годов) в рамках этого курса не засчитываются
- Максимальные 100 баллов складываются из 50 баллов за ДЗ и 50 баллов за проект (это значит, что для зачета нужно делать и ДЗ, и проект)
-
В течение семестра будут даваться домашние задания, всего 4 ДЗ
-
За каждое ДЗ можно получить фиксированное количество баллов
-
В сумме за все выполненные ДЗ можно получить максимум 50 баллов
-
Условия оценки каждого ДЗ будут указываться в задании
-
При оценке отдельного ДЗ за него ставится максимум 10 баллов, потом оценки за все ДЗ складываются, и суммарный балл умножается на 1.25
-
Домашнее задание №1: https://github.com/IFMO-Android-2016/homework1 (калькулятор) - дедлайн уже прошел
-
Домашнее задание №2: https://github.com/IFMO-Android-2016/homework2 (список фильмов) - дедлайн 23 ноября 23:59
-
Домашнее задание №3: https://github.com/IFMO-Android-2016/homework3 (сервис и броадкаст ресивер) - дедлайн 30 ноября 23:59
-
Домашнее задание №4: https://github.com/IFMO-Android-2016/homework4 (кэш на SQLite) - дедлайн 8 декабря 23:59
После дедлайна ДЗ принимаются, но при этом выставляется оценка не больше 6. Глобальный дедлайн для всех ДЗ - 15 декабря 23:59, после него ДЗ не принимаются.
Внимание: все ДЗ принимаются только в виде пул-реквеста на репозиторий с заданием. О том, как делать пул-реквесты, можно почитать здесь:
Цель курсового проекта -- создать с нуля полезное Android приложение, которое можно опубликовать в Google Play и включить в свое портфолио мобильного разработчика. Приложение не должно быть сложным, чтобы его можно было успеть сделать за один семестр -- лучше хорошо и в срок реализовать одну простую идею, чем пытаться сделать что-то крутое и уникальное, но не доделать. В идеале, к концу семестра приложение будет опубликовано в Google Play (или другом магазине приложений), и им уже будут пользоваться настоящие живые пользователи.
- В работе над одним проектом может участвовать от 1 до 3 студентов.
- Один студент может участвовать только в одном проекте.
- Все участники проекта должны сделать равнозначный вклад в разработку проекта
- За выполнение проекта все его участники получают одинаковую оценку
- Дополнительные баллы за командную работу могут получить только проекты с 2 или 3 участниками.
- Оценка за проект учитывается в общей оценке за курс с коэффициентом 0.5
- Основная функция приложения должна быть связана с использованием интернета (то есть без интернета приложение должно быть бесполезным)
- Код приложения должен быть целиком написан участниками проекта
- Нельзя использовать движки и кросс-платформенные средства разработки (Unity, Xamarin, Sencha и т.п.), в том числе самодельные
- Код приложения должен быть написан в-основном на Java (допускаются небольшие фрагменты на других языках типа C++ или Kotlin только в случае необходимости)
- Нельзя использовать код приложений, который уже использовался в других курсах, проектах, домашних заданиях и т.п, за исключением небольших фрагментов, не составляющих сути приложения.
- Участники должны предоставить преподавателям (и иным лицам, участвующим в оценке проектов) доступ к репозиторию с полным кодом приложения и всей историей коммитов
- Приложение должно работать на Android 4.0.3 и выше. Требование к минимальной версии Android можно обоснованно повышать (Часто требование API Level можно легко обойти, используя альтернативные API или при помощи Support библиотек)
Некоторые критерии, которые могут учитываться при оценке приложения, перечислены ниже. Это не исчерпывающий список, просто некоторые моменты, на которые надо обращать внимание:
- Способность приложения адекватно работать при потере и отсутсвии соединения с интернетом и возобновлять нормальную работу при восстановлении соединения
- Кэширование данных с целью ускорения работы или возможности работать при отсутствии соединения
- Адаптация UI для разных типов экранов (портретная/ландшафтная ориентация, смартфоны/планшеты)
- Соответствие дизайна приложения принципам Material Design
- Отсутствие багов, законченность, степень готовности приложения к публикации и т.п.
- До 12 октября должна быть сформирована команда для работы над проектом и сформулирована идея приложения. Каждая команда сдает описание идеи приложения с приблизительным планом работ и макетом.
- До 21 декабря разработка приложения должна быть полностью завершена. Все команды показывают исходный и проводят демонстрацию готового приложения.