00. Нулева лекция
25 февруари 2015
Къде попаднах?!
Програмиране с Python
Кои са тия хора тука?
Горе-долу тези
- Борис Петров
- Виктор Бечев
- Виктория Христова
- Дойчин Атанасов
- Евгени Кунев
- Емил Станчев
- Йоан Карадимов
- Кирил Владимиров
- Людмил Митев
- Николай Бачийски
- Стефан Кънев
- Христо Хърсев
- …
Днес какво правим?
- Изясняваме разни админситративни въпроси за курса
- Пооглеждаме python много на бързо и за малко
Обаче първо!
Не ви ли е пренаселено в тая зала?
Този проблем има решение!
ОТПИШЕТЕ КУРСА!
Ще бъде тегаво и страшно!
ОТПИШЕТЕ КУРСА!
Обещаваме
- да сипваме сложни концепции с големия черпак
- да даваме домашни, от които да се будите с писъци и обляни в пот посред нощ
- да ви боли глава, като си тръгвате от лекции
ОТПИШЕТЕ КУРСА!
Напълно в реда на нещата ще бъде
- да пишете домашни в 3 през нощта
- на въпроса „Какво правиш?“ да отговаряте с „Гледам Monty Python, понеже утре имам тест във факултета“
- да загубите минималното време останало ви за сън през сесията, за да си напишете проектите
Опитът ни диктува следното
До края на курса това, което ви казваме в момента, няма да изглежда никак смешно на повечето от вас
60%
Приблизително толкова от вас ще се откажат окончателно от курса още преди края на семестъра
8%
ще разчитат на благосклонността ни да им позволим да опитат пак догодина, понеже ще ги хванем да преписват
не повече от 5%
Ще имат крайна оценка 6
от смелите очакваме
- да не си водите записки
- да участвате в час и във форума
- да си пишете домашните
- да си изключвате телефоните
на смелите обещаваме
- да обясняваме яки неща за програмиране и python (не да четем лекции)
- да питаме какво не е ясно
- да повтаряме и дообясняваме, колкото е нужно
- да поощряваме хората, задаващи добри въпроси
поощряване
за какво ще си говорим
- програмиране
- стил
- автоматизирани тестове
- парадигми
- инструменти
- version control
- среди/редактори
- някои дълбоки философски въпроси за живота, вселената и всичко останало
Python
Python
- скриптов
- обектно-ориентиран
- динамичен (можете ли да кажете duck typing?)
- ООП
- функционален стил на програмиране
- тестване
Python
красив и лесен
def real_knights(*knights):
return ['Sir {}'.format(knight.capitalize()) for knight in knights]
>>> real_knights('robin', 'lancelot', 'galahad')
['Sir Robin', 'Sir Lancelot', 'Sir Galahad']
Real programmers
Някои хора не харесват Python, понеже бил бавен и не ставал за „истинско програмиране“.
А пък на следните места ползват Python много активно:
- Google
- CERN
- reddit
- NASA
- Quora
- Dropbox
- instagram
- …
Не са малко
Python е Свободен
Свобода и диктатура?!
3 > 2
python 3.4
python 2.x
Лекции
понеделник и сряда
19 часа
зала 200
сайт/форум
http://fmi.py-bg.net/
пряка връзка
с кораба майка
fmi@py-bg.net
мейли, пратени на mega_gotin_tip_86@abv.bg, няма да получат отговор, дори някой от екипа да ги прочете
на въпроси, изпратени като лични съобщения във Facebook - също :)
https://www.facebook.com/groups/python.fmi/
активност
- пишете във форума
- предавайте решения на домашни
- предавайте решения на предизвикателства
оценяване
Получавате точки по време на курса
- домашни, тестове, проект
- предизвикателства, добри въпроси в час, полезни постове във форума
домашни
- 6 броя (научихме, че толкова можем да дадем)
- предават се през сайта
- проверката се извършва с автоматизирани тестове
- получавате от 0 до 10 точки
- допустимо е да не предадете до две домашни
- след края на срока за предаване решенията стават публични
тестове
- два
- 30 въпроса
- за 32 минути
- по 30 точки на тест
проект
- през сесията (по-скоро към края)
- един milestone още преди края на семестъра
- сами си избирате какво искате да направите
- получавате максимум 60 точки
- по равно за функционалност, стил и тестове
- проектите ви трябва да работят, но само това не е достатъчно
извънкласни занимания
разходки
github
github
участие в час
- добрите включвания получават сникърс
- на тях има код, който носи 1 точка при регистриране в сайта
- така ви ръчкаме да слушате в час, вместо да спите
- прекаляването може да доведе до захарна болест, а ние не искаме това
принос към материалите
- https://github.com/fmi/python-lectures
- поправяйте грешки смело
- допълвайте казаното на лекции, което не е записано в лекциите
- допълвайте с неща, за които не сме се сетили
предизвикателства
- малки задачи, колкото можем по-често
- решават се бързо и с доста малко код
- имате по два дена за всяка
- получавате по 1 точка, ако покриете тестовете
- в идеалния случай 1-2 пъти в седмицата
хитринки
- дребни любопитни неща, които публикуваме на сайта
- много ще се радваме вие да предлагате такива
- за това, разбира се, се дават точки