# Добре дошли - УПП, Седмица 1, 06.10.2023
\n
[$presentation-controller]
:title_slide35
# Добре дошли
:width65%
[image_url https://upload.wikimedia.org/wikipedia/commons/3/3c/Chimpanzee_seated_at_typewriter.jpg https://en.wikipedia.org/wiki/Infinite_monkey_theorem]
:slide
## Кой съм аз
[$br2]
:font35
Казвам се Камен (моля не ми говорете на Вие), в момента съм третокурсник в КН2.\n
[$br1]
Ще водя практикуми - давам ви задачи, вие ги решавате и на живо оправяме проблеми.\n
[$br1]
Също ще проверявам част от домашните и контролните през семестъра.
:slide
## Кои сте вие
Айде сега, ред по ред:
[$br3]
:font35
:bulleted
- Име
.bulleted
- Едва ли ще го запомня сега, не ми се сърдете :)
- Коя операционна система ползвате
- Писали ли сте код преди? Ако да:
.bulleted
- на кои езици?
- в какво IDE/текстов редактор?
- как сте се научили (чрез интернет, курсове, ...)? Ходили ли сте на курсове? Къде?
:slide
## Чисто организационно
[$br3]
:centered35
Задачи, презентации, ...\n
[url /teaching/upp-2023 syndamia.com/teaching/upp-2023]
[$br3]
:unordered
- Не сме в училище, ако трябва да излезете за разговор или до тоалетна, просто си излезте (за предпочитане по-тихичко).
- Ако ви се наложи да пропуснете някой практикум, пропускайте.
.bulleted
- Само ако решите за постоянно да ходите при някой друг, кажете за да се организираме екипа.
- Оценяване: ще разберете на първата лекция
:slide
## Как можете да се свържете
:unordered
- Facebook messenger:
- Discord:
- Имейл:
.bulleted
- kamen.d.mladenov@protonmail.com
- kamen@syndamia.com
=[(гледайте си спама!)]=
- [url mailto:kdmladenov@uni-sofia.bg kdmladenov@uni-sofia.bg]
Директни линкове към Facebook и Discord има на [url https://learn.fmi.uni-sofia.bg/user/profile.php?id=23229 профила ми в мудъл].\n
:slide
## Как ще протичат практикумите
:unordered
- Ще започнем всяко упражнение с 5 минутки преговор, какво ново трябва да приложим\n
и ще го завършим с 15-20 минути (ако има желание/смисъл) обяснение на задача
- Ще гледам винаги да има задачи с връзка към реален софтуер.
За любителите, където е възможно, ще добавям външни препратки.
- Давам ви *[много]* повече задачи, отколкото очаквам да решите на живо!\n
Хубаво е да имате с какво още да се упражните след практикума, 2 часа писане на код седмично е малко!
- Ще качвам решения на задачите, заедно с подробно коментари върху тях, тук: [url https://github.com/Syndamia/upp-2023-solutions github.com/Syndamia/upp-2023-solutions].
Това ще се случва в началото на следващия практикум, тоест ще имате една седмица, от деня в който ви давам задачите, през която няма да имате решения.
:middle_slide
:unordered
- Ще използваме GitHub classroom, където ще трябва да качите работата си през упражнението.
Целта е да видя какво сте правили и да връщам обратна връзка на всеки.
Дори нещо да е недовършено, да не работи, так. нат. качвайте!
.bulleted
- Това ще играе роля върху оценката ви, но колко ще допринесе зависи изцяло от преценката ми
- Обратна връзка със сигурност ще правя за нещата, предадени по време на практикума.
Окуражавам ви да си решите всички задачи и след упражнението, обаче все пак имам лимитирано време, ако искате можете да се свържете с мен за работата ви по някоя от тях, но не гарантирам кога ще мога да го видя.
:slide
## Оплаквайте се!
.bulleted
- За първи път водя практикум (и никога не съм преподавал формално)
- Задачите сам си ги измислям
Ако задачите са трудни, зле направени, ако нещо не обяснявам като хората, изобщо ако нещо не е ок, свържете се с мен, ще го обсъдим.
[$br3]
## Помагайте си!
.bulleted
- Аз съм един, вие сте >20
\n
Със сигурност няма да успея да помогна на всеки по всяко време от практикума, не се страхувайте да питате съседите си за помощ.
:slide
## Няколко съвета в позицията ми на третокурсник
[$br2]
:font35
:unordered
- =[НЕ плагиатствайте!]=
=[НЕ си качвайте решенията на контролни или домашни онлайн!]=
Формално плагиатството е незаконно, ако някой Ви направи доклад, възможно е да бъдете изключени.
- =[Следвайте материала, който ви се преподава!]=
За хората с опит, ще дойде време когато ще искате да приложите лични знания и практики.
Ако не е казано някъде, не го правите и не го обмисляте!
:title_slide
# Въпроси ?
:title_slide
# ФМИ в контекста на програмирането
Или защо учим толкова много математика
[$br2]
:font22
Ще си позволя едно отклонение.\n
Искам да обясня как =[аз лично]= виждам\n
математиката в компютърния свят.
:slide
## В КН2 има много и трудна математика
:row
.width35% [image ./img/u4-mat-hard.gif]
:column
.bulleted
- Жълто - математически предмет\n
- Червено - проблемни предмети
\n
.bulleted
- Всички проблемни предмети също са математики
- Към половината предмети са математики
- Почти всички проблемни са наблъскани в 1ви курс
:slide
## Защо учим толкова много математика?
.p
Има добра причина, има директни и основни приложения в компютрите, и без тях до никъде нямаше да сме стигнали.
Нека обясня защо:
### Дискретни структури
.p
Смесица на уводите в няколко предмета:
:row
.font35
[image https://upload.wikimedia.org/wikipedia/commons/9/99/ClaudeShannon_MFO3807.jpg?20190622223728 Claude Shannon]
:column
:unordered
- =[Булева алгебра]=: как работим с истина/лъжа, с 0/1
.bulleted
- Доказана е [url https://en.wikipedia.org/wiki/A_Symbolic_Analysis_of_Relay_and_Switching_Circuits еквивалентност между ел. вериги и булевата алгебра].
- Много типове данни и математически операции могат да се сведат до булева алгебра и работа с памет.
:slide
### Дискретни структури (продължение)
[$br1]
:unordered
- =[Теория на множествата]=: множество е някаква съвкупност от обекти
.bulleted
'footnote importance-of-sets [url https://math.stackexchange.com/a/536172 https://math.stackexchange.com/a/536172]
- Позволява ни да третираме колекция от математически обекти като математически обект[$importance-of-sets].
Използва се в основата на много математики; колкото са полезни те, толкова са и множествата.
[$br2]
'footnote importance-of-combinatorics [url https://math.stackexchange.com/questions/2146051/where-do-combinatorics-play-a-role-in-computer-science https://math.stackexchange.com/questions/2146051/where-do-combinatorics-play-a-role-in-computer-science]
- =[Комбинаторика]= [$importance-of-combinatorics]: изследва бройки на неща
.bulleted
- Често се ползва за анализ и дизайн на алгоритми и структури от данни
- Употребява се при оптимизации и теория на кодирането (компресиране на данни, отстраняване на грешки, криптография)
- Есенциална в теория на графите
:slide
### Дискретни структури (продължение)
[$br5]
:unordered
- =[Теория на графите]=: граф е съвкупност от някакви обекти и връзки между тях.
.bulleted
- Позволява моделиране на много естествени структури: интернет мрежите, географски карти (места и пътищата между тях), йерархии, биологически мрежи и так. нат.
- Използва се във важни структури от данни като [url https://en.wikipedia.org/wiki/Heap_%28data_structure%29 heap] (и интересната [url https://www.youtube.com/watch?v=6JxvKfSV9Ns fibonacci heap]) и [url https://en.wikipedia.org/wiki/Trie trie]
:slide
### Езици, автомати и изчислимост
[$br5]
:row
:font35
.width85% [image https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Kleene.jpg/421px-Kleene.jpg?20230630215747]
.p Stephen Kleene
:column
.p
Това е част от материала в по-общото "theoretical computer science".\n
Можем формално да опишем и работим с теоретични компютри и програми.
.bulleted
- Позволява ни да използваме математика за създаване, обработка и доказване на програми
:slide
[$br1]
### Алгебра 1
Линейни уравнения и операции върху тях.
.bulleted
- Линейни уравнения и матрици се срещат сравнително често в софтуер
- Основоположна в компютърната графика
- Много използвана в machine learning
[$br3]
### Диференциално и интегрално смятане
Разглежда функции и по-общо, непрекъснатата промяна на стойности.
.bulleted
- Част от компютърната графика (особено обработка на изображения)
- Напреднал machine learning, главно заради употребата на статистиката (която на свой ред се основава на линейната алгебра)
- Анализ на алгоритми
:slide35
## В по-общ план
Какво не би било възможно без математика в софтуер:
.bulleted
- компютрите
- компютърната графика (особено 3D)
- интернет
- GPS
- сателити и ракети
- самолетни системи и инженерство
- ...
.p
Математиката е =[неразделима]= част от софтуера!\n
Друг е въпросът дали на вас лично ще ви се налага да я използвате...
:slide
## Какво означава да пишеш софтуер?
.bulleted
- Инженерите и физиците са създали компютрите, едни специални калкулатори с много памет
- Математиката представя света с абстрактни модели/шаблони
- Компютърната наука свързва теоретичната математика с физичната машина
.p
.bulleted
- Най-великият труд на тази дисциплина е постигнат чрез =[синхрон]= между тези три предмета
:centered
:width60%
:row
.p [image https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Black_hole_-_Messier_87_crop_max_res.jpg/600px-Black_hole_-_Messier_87_crop_max_res.jpg]
.p [image https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Internet_map_1024.jpg/600px-Internet_map_1024.jpg?20121030160606]
:title_slide35
# Означава да създадеш\ndeus ex machina
С други думи, позволява ни да разрешим неразрешими проблеми
:title_slide35
# [url ./setup.html Достатъчно философия, сега ще конфигурираме всичко нужно за първото ни упражнение]
### Употреба на изображения
Снимки на [url https://upload.wikimedia.org/wikipedia/commons/9/99/ClaudeShannon_MFO3807.jpg?20190622223728 Claude Shannon] и [url https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Kleene.jpg/421px-Kleene.jpg?20230630215747 Stephen Cole Kleen], предоставени от Konrad Jacobs с авторско право от [url https://opc.mfo.de/ MFO], лицензирано с [url https://creativecommons.org/licenses/by-sa/2.0/de/deed.en CC BY-SA 2.0 DE] в Уикипедия.
Снимка на черната дупка Messier 87, предоставена от [url https://www.eso.org/public/ ESO] с лиценз [url https://creativecommons.org/licenses/by/4.0/deed.en CC BY 4.0] в [url https://en.wikipedia.org/wiki/File:Black_hole_-_Messier_87_crop_max_res.jpg Уикипедия].
Изображение на интернет мрежата направено от [url https://en.wikipedia.org/wiki/User:Matt_Britt Matt Britt] с данни от [url https://www.opte.org/ The Opte Project], лицензирано с [url https://creativecommons.org/licenses/by/2.5/deed.en CC BY 2.5] в [url https://commons.wikimedia.org/wiki/File:Internet_map_1024.jpg Уикипедия].