Coder Social home page Coder Social logo

1-java-intro's Introduction

Базовый курс Java

Данный проект содержит руководство по выполнению заданий, а также тестовое задание для опробования каждого из этапов.

Инструменты

Для выполнения задач необходимо установить следующий набор инструментов:

  • jdk 8 - виртуальная машина Java (JVM) с набором инструментов для разработчика.
  • git - система контроля версий
  • IntelliJ Idea - IDE для разработки на Java

Общая информация

Для каждого из разделов курса создан репозиторий в GitHub. Для сдачи заданий потребуется зарегистрироваться на этом сервисе, а также базовые знания работы с инструментом контроля версий git.

Каждое задание сдается через Pull Request, т.е. через запрос на принятие изменений в репозиторий. В реальности преподаватель не будет принимать эти изменения (т.е. изменять базовый репозиторий), такой способ нужен для отслеживания прогресса студента и базовой задания на соответствия тестам (если они написаны для задачи)

Критерий оценивания

За каждый раздел, сдав все задачи, максимально можно получить 20 баллов. Также после всех разделов будут приведены дополнительные задачи, которые в среднем оцениваются большим баллом, чем задачи в разделах, но требуют гораздо больше времени на их выполнение. Каждая из таких задач будет оцениваться каким-то количеством баллов (около 10).

Для получения зачета студенту необходимо набрать 200 баллов, минимум 20 из которых должны быть набраны за решение дополнительных задач. Таким образом, студент должен выполнить минимум две задачи из дополнительного раздела.

Все задачи будут выбираться самим студентом, причем нельзя выбирать задачи, которые уже были выбраны другим студентом. Студенты, набравшие большее число баллов за основную программу курса имеют больший приоритет в очереди за заданиями. При совпадении количества баллов, приоритет имеет тот, кто раньше сдал последнюю задачу.

Подготовка в сдаче раздела

В информации по курсу будут приведены ссылки на группу в GitHub'е, в которой созданы все репозитории с заданиями. Для подготовки сдачи задания необходимо сделать fork нужного репозитория. Fork - это копия репозитория, сделанная с целью внесения в проект изменений.

Каждый репозиторий содержит набор задач для самостоятельного выполнения студентом.

Проект можно напрямую добавить в IntelliJ Idea (File -> New -> Project from Version Control -> Git), указав ссылку на репозиторий в GitHub. Добавив таким образом проект, в окне проекта можно будет увидеть все задачи данного раздела (task01, task02, ...)

Сдача задач

Каждая задача должна сдаваться в отдельном Pull Request'е. Например, если в разделе 5 задач, то студент должен создать 5 Pull Request - по одному на каждую задачу.

Решение каждой задачи условно разобъем на следующие этапы:

  1. Создание новой ветки
  2. Решение задачи
  3. Тестирование решения (если предусмотрено)
  4. Создание коммита и отправка его в репозиторий
  5. Создание Pull Request.

1. Создание новой ветки

Перед созданием новой ветки необходимо убедиться, что текущая ветка - master. В IntelliJ Idea текущая ветка по-умолчанию отображается в правом нижнем углу напротив Git:

Если вы пользуетесь консолью при работе с Git, то наберите:

git branch

Эта команда отобразит текущую ветку

Для создания новой ветки в IntelliJ Idea достаточно кликнуть на Git: master -> New Branch и затем ввести имя новой ветки (для удобства веткам лучше давать имена, созвучные с задачей, например, task01)

В консоли:

git checkout -b task01

2. Решение задачи

В каждой задаче присутствует Readme файл с детальным описанием задачи. Иногда задачи могут содержать уже какой-то код, а иногда все придётся выполнить "с нуля".

Не забывайте форматировать ваш код. Можно воспользоваться правилами, описанными в IntelliJ Idea по-умолчанию либо воспользоваться какой-либо из существующих конвенций. IntelliJ Idea содержит инструмент по автоматическому форматированию кода. Воспользоваться им можно, нажав Code -> Reformat Code, либо сочетанием клавиш Ctrl+Alt+L.

Код с отсутствием форматирования может не приниматься преподавателем.

3. Тестирование решения

В некоторых задачах предусмотрены тесты, которые проверяют различные аспекты решения задачи. Эти тесты нужно запустить локально для первоначальной проверки решения. Эти же тесты запускаются при создании Pull Request.

Все тесты, если предусмотрены для задачи, описаны в классе Tests. Для запуска тестов нужно щелкнуть правой кнопкой мыши на классе и нажать Run 'Tests'

!!! Pull Request, в котором не проходят тесты, не будет рассматриваться преподавателем.

4. Создание коммита и отправка его в репозиторий

Коммит - это фиксирование изменений в локальном репозитории для последующего обновления удаленного репозитория (в GitHub).

Для фиксирования изменения и подготовке созданию Pull Request в IntelliJ Idea щёлкните правой кнопкой мыши на директорию с заданием и нажмите Git -> Commit Directory.... Откроется диалог создание коммита. Проверьте, что отмечены только те файлы, которые относятся к выполняемой задаче (Система автоматизированной проверки тестов запрещает изменение в нескольких задачах одновременно. После отправки тесты не пройдут и задача не будет принята преподавателем). Дополнительно необходимо заполнить комментарий (можно указать номер задачи и фамилию студента).

Для отправки подготовленного коммита в GitHub репозиторий нажмите правой кнопкой мыши на проект и далее Git -> Repository -> Push... или воспользуйтесь сочетанием клавиш Ctrl+Shift+K и нажмите кнопку Push.

5. Создание Pull Request

При переходе на страницу репозитория нужно нажать кнопку New Pull Request, вы увидите страницу создания Pull Request. Вы должны выбрать "от куда" и "куда" вы хотите внести изменения. Слева должен быть репозиторий, из которого вы делали fork (ветка master), а справа должен быть ваш репозиторий (ветка, в которой вы выполнили задачу). При первом нажатии на кнопку Create Pull Request откроется окно, в котором нужно ввести название и при желании оставить комментарий. Название должно быть "Фамилия Имя. Задание 01", где нужно указать свои имя и фамилию и корректный номер задания.

Через какое-то время после создания Pull Request автоматически должны запуститься тесты. Если тесты прошли и появилась зеленая иконка, символизирующая это, то можно приступить к выполнению следующих задач. Преподаватель получит уведомление, о попытке сдачи задания и проверит её, как только у него появится время.

1-java-intro's People

Contributors

batarelkin avatar alexandr-dolgov avatar drxaos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.