'def title Добре дошли - УПП, Седмица 1, 06.10.2023 'def desc Въведителни думи за практикума и ФМИ # {title} \n {presentation-controller} :title_slide35 # Добре дошли :width65% {url {img 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 syndamia.com/teaching/upp-2023;/teaching/upp-2023} {br3} :unordered - Не сме в училище, ако трябва да излезете за разговор или до тоалетна, просто си излезте (за предпочитане по-тихичко). - Ако ви се наложи да пропуснете някой практикум, пропускайте. .bulleted - Само ако решите за постоянно да ходите при някой друг, кажете за да се организираме екипа. - Оценяване: ще разберете на първата лекция :slide ## Как можете да се свържете :unordered - Facebook messenger: - Discord: - Имейл: .bulleted - kamen.d.mladenov@protonmail.com PGP key - kamen@syndamia.com PGP key {b (гледайте си спама!)} - {url kdmladenov@uni-sofia.bg;mailto: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 минути (ако има желание/смисъл) обяснение на задача - Ще гледам винаги да има задачи с връзка към реален софтуер. За любителите, където е възможно, ще добавям външни препратки. - Давам ви {i много} повече задачи, отколкото очаквам да решите на живо!\n Хубаво е да имате с какво още да се упражните след практикума, 2 часа писане на код седмично е малко! - Ще качвам решения на задачите, заедно с подробно коментари върху тях, тук: {url github.com/Syndamia/upp-2023-solutions;https://github.com/Syndamia/upp-2023-solutions}. Това ще се случва в началото на следващия практикум, тоест ще имате една седмица, от деня в който ви давам задачите, през която няма да имате решения. :middle_slide :unordered - Ще използваме GitHub classroom, където ще трябва да качите работата си през упражнението. Целта е да видя какво сте правили и да връщам обратна връзка на всеки. Дори нещо да е недовършено, да не работи, так. нат. качвайте! .bulleted - Това ще играе роля върху оценката ви, но колко ще допринесе зависи изцяло от преценката ми - Обратна връзка със сигурност ще правя за нещата, предадени по време на практикума. Окуражавам ви да си решите всички задачи и след упражнението, обаче все пак имам лимитирано време, ако искате можете да се свържете с мен за работата ви по някоя от тях, но не гарантирам кога ще мога да го видя. :slide ## Оплаквайте се! .bulleted - За първи път водя практикум (и никога не съм преподавал формално) - Задачите сам си ги измислям Ако задачите са трудни, зле направени, ако нещо не обяснявам като хората, изобщо ако нещо не е ок, свържете се с мен, ще го обсъдим. {br3} ## Помагайте си! .bulleted - Аз съм един, вие сте >20 \n Със сигурност няма да успея да помогна на всеки по всяко време от практикума, не се страхувайте да питате съседите си за помощ. :slide ## Няколко съвета в позицията ми на третокурсник {br2} :font35 :unordered - {b НЕ плагиатствайте!} {b НЕ си качвайте решенията на контролни или домашни онлайн!} Формално плагиатството е незаконно, ако някой Ви направи доклад, възможно е да бъдете изключени. - {b Следвайте материала, който ви се преподава!} За хората с опит, ще дойде време когато ще искате да приложите лични знания и практики. Ако не е казано някъде, не го правите и не го обмисляте! :title_slide # Въпроси ? :title_slide # ФМИ в контекста на програмирането Или защо учим толкова много математика {br2} :font22 Ще си позволя едно отклонение.\n Искам да обясня как {b аз лично} виждам\n математиката в компютърния свят. :slide ## В КН2 има много и трудна математика :row .width35% {img ./img/u4-mat-hard.gif} :column .bulleted - Жълто - математически предмет\n - Червено - проблемни предмети \n .bulleted - Всички проблемни предмети също са математики - Към половината предмети са математики - Почти всички проблемни са наблъскани в 1ви курс :slide ## Защо учим толкова много математика? .p Има добра причина, има директни и основни приложения в компютрите, и без тях до никъде нямаше да сме стигнали. Нека обясня защо: ### Дискретни структури .p Смесица на уводите в няколко предмета: :row .font35 {img Claude Shannon;https://upload.wikimedia.org/wikipedia/commons/9/99/ClaudeShannon_MFO3807.jpg?20190622223728} :column :unordered - {b Булева алгебра}: как работим с истина/лъжа, с 0/1 .bulleted - Доказана е {url еквивалентност между ел. вериги и булевата алгебра;https://en.wikipedia.org/wiki/A_Symbolic_Analysis_of_Relay_and_Switching_Circuits}. - Много типове данни и математически операции могат да се сведат до булева алгебра и работа с памет. :slide ### Дискретни структури (продължение) {br1} :unordered - {b Теория на множествата}: множество е някаква съвкупност от обекти .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} - {b Комбинаторика} {importance-of-combinatorics}: изследва бройки на неща .bulleted - Често се ползва за анализ и дизайн на алгоритми и структури от данни - Употребява се при оптимизации и теория на кодирането (компресиране на данни, отстраняване на грешки, криптография) - Есенциална в теория на графите :slide ### Дискретни структури (продължение) {br5} :unordered - {b Теория на графите}: граф е съвкупност от някакви обекти и връзки между тях. .bulleted - Позволява моделиране на много естествени структури: интернет мрежите, географски карти (места и пътищата между тях), йерархии, биологически мрежи и так. нат. - Използва се във важни структури от данни като {url heap;https://en.wikipedia.org/wiki/Heap_%28data_structure%29} (и интересната {url fibonacci heap;https://www.youtube.com/watch?v=6JxvKfSV9Ns}) и {url trie;https://en.wikipedia.org/wiki/Trie} :slide ### Езици, автомати и изчислимост {br5} :row :font35 .width85% {img 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 Математиката е {b неразделима} част от софтуера!\n Друг е въпросът дали на вас лично ще ви се налага да я използвате... :slide ## Какво означава да пишеш софтуер? .bulleted - Инженерите и физиците са създали компютрите, едни специални калкулатори с много памет - Математиката представя света с абстрактни модели/шаблони - Компютърната наука свързва теоретичната математика с физичната машина .p .bulleted - Най-великият труд на тази дисциплина е постигнат чрез {b синхрон} между тези три предмета :centered :width60% :row .p {img 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 {img 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 Claude Shannon;https://upload.wikimedia.org/wikipedia/commons/9/99/ClaudeShannon_MFO3807.jpg?20190622223728} и {url Stephen Cole Kleen;https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Kleene.jpg/421px-Kleene.jpg?20230630215747}, предоставени от Konrad Jacobs с авторско право от {url MFO;https://opc.mfo.de/}, лицензирано с {url CC BY-SA 2.0 DE;https://creativecommons.org/licenses/by-sa/2.0/de/deed.en} в Уикипедия. Снимка на черната дупка Messier 87, предоставена от {url ESO;https://www.eso.org/public/} с лиценз {url CC BY 4.0;https://creativecommons.org/licenses/by/4.0/deed.en} в {url Уикипедия;https://en.wikipedia.org/wiki/File:Black_hole_-_Messier_87_crop_max_res.jpg}. Изображение на интернет мрежата направено от {url Matt Britt;https://en.wikipedia.org/wiki/User:Matt_Britt} с данни от {url The Opte Project;https://www.opte.org/}, лицензирано с {url CC BY 2.5;https://creativecommons.org/licenses/by/2.5/deed.en} в {url Уикипедия;https://commons.wikimedia.org/wiki/File:Internet_map_1024.jpg}.