# Добре дошли - УПП, Седмица 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 PGP key - kamen@syndamia.com PGP key =[(гледайте си спама!)]= - [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 Уикипедия].