timeit

Програмиране с Python

Курс във Факултета по Математика и Информатика към СУ

Milestone 1

Предадени решения

Краен срок:
26.05.2016 21:00
Точки:
10

Срокът за предаване на решения е отминал

На 25.05.2016 по време на лекцията от 19 часа в зала 101, ще проверим прогреса на вашите проекти.

Очакваме от вас тогава да представите една съвсем малка част от крайния си проект, за да видим, че имате сериозното намерение да го доведете до завършен вид и да ви стимулираме да мислите по въпроса от по-рано.

Какво очакваме от вас

Хранилище

Всеки проект трябва да има публично достъпно хранилище. Препоръчваме да използвате git и github, навити сме на mercurial вместо git и сме съвсем ОК с bitbucket, gitorious, че даже и собствено хостнато хранилище.

Задачата ви се състои в това да създадете публично хранилище за вашия проект, като имаме няколко малки условия:

  • Хранилището трябва да има адекватно име. Примери за неадекватни имена: "my-python-project", "python-2016", "proekt-po-piton"

  • В хранилището трябва да има файл README.md, в който да опишете какво ще представлява проекта когато достигне завършен вид, какви функционалности очаквате да има и как си представяте да бъде използван.

  • Освен това трябва да има и файл LICENSE, в който да е лиценза, под който искате да се разпространява приложението.

  • requirements.txt и setup.py файл за създаване на пакет от вашия проект

  • Дефиниции на модули, класове и функции, които смятате да използвате във вашия проект.

Пояснения

README

Не трябва да бъде технически, а чисто описателен. Например:

  • Ако проектът е игра опишете идеята на играта, какви са целите в нея и какви допълнителни функционалности ще има(запазване/зареждане на игра, multiplayer през мрежа или на една машина, scoreboard, дали ще има графичен интерфейс и/или конзолен и прочее).

  • Ако правите web application опишете ориентировъчно каква функционалност ще предоставя, каква информация ще дава и получава потребителя и как това ще бъде полезно.

  • Ако правите библиотека опишете какъв проблем ще решава тя и дайте пример за това как си представяте че ще бъде използвана.

LICENSE

Има много възможности, на този етап изборът не е изключително важен. Ако нямате претенции/представа какъв лиценз да изберете, ние бихме препоръчали GNU GPL v2. Условието е кодът да бъде публично достъпен и всеки който желае да има право да го използва за собствени цели. GitHub и Gitorious дават възможност да изберете лиценз от dropdown меню при създаване на ново хранилище. Като цяло избирането на лиценз не е тривиална задача, за това няма да поставяме кой знае каква тежест върху това, а ако имате интерес вижте Choosing a license.

Промени

В един идеален свят всичко, което опишете ще бъде реализирано в крайния проект. Ние гледаме малко по-реалистично на нещата и нямаме проблем с това крайния вид на проекта да е малко по-различен от това, което опишете първоначално, в някакви разумни граници разбира се.

Код

Очевидно очакваме и поне малко код. Няколко дефинирани класа, от които да си личи как си представяте архитектурата на приложението/библиотеката, която пишете е напълно достатъчна отправна точка, за да можем да ви дадем съвети ако сметнем, че сте избрали неправилен подход.

Решение

Като решение на тази задача изпратете URL към хранилището на вашия проект. В реда на нещата е да го изпратите още при създаване на хранилището, без то все още да отговаря на изискванията по-горе. Те ще бъдат преглеждани по време на сбирката ни.

Ама моята идея не е одобрена!?

Ако поради някаква причина вашата идея за проект не е била одобрена и не сте получили отговор, пишете ни веднага на fmi@py-bg.net