diff options
| Commit | 0f58f9055d7df0ca82e49d990fca5990a2bba3b4 (patch) | |
|---|---|---|
| Author | 2023-09-15 16:03:41 +0300 | |
| Committer | 2023-10-01 21:26:55 +0300 | |
| Files | a12b48eefa504d9818e461e41aa984e793926a26 | |
| syndamia.com-0f58f9055d7df0ca82e49d990fca5990a2bba3b4.tar syndamia.com-0f58f9055d7df0ca82e49d990fca5990a2bba3b4.tar.gz syndamia.com-0f58f9055d7df0ca82e49d990fca5990a2bba3b4.zip | ||
| Parent | c41f32857d4c99e246e00af6c1639b426479fc36 (diff) | |
(te/upp-2023/w1) Moved index to welcome and index will now contain exercises
3 files changed, 297 insertions, 284 deletions
| -rw-r--r-- | src/teaching/upp-2023/index.md | 2 | ||||
| -rw-r--r-- | src/teaching/upp-2023/week1/index.md | 285 | ||||
| -rw-r--r-- | src/teaching/upp-2023/week1/welcome.md | 294 |
diff --git a/src/teaching/upp-2023/index.md b/src/teaching/upp-2023/index.md index 5b20a01..df36ce9 100644 --- a/src/teaching/upp-2023/index.md +++ b/src/teaching/upp-2023/index.md @@ -10,4 +10,4 @@ |№|Дата|Упражнение| |-------|----|----------| -|1 |?.10.2023|[Добре дошли](/teaching/upp-2023/week1)| +|1 |?.10.2023|[Добре дошли](/teaching/upp-2023/week1/welcome.html) \|\| [Задачи; Visual Studio и първата програма](/teaching/upp-2023/week1?a)| diff --git a/src/teaching/upp-2023/week1/index.md b/src/teaching/upp-2023/week1/index.md index d4db42b..9ca9317 100644 --- a/src/teaching/upp-2023/week1/index.md +++ b/src/teaching/upp-2023/week1/index.md @@ -1,289 +1,8 @@ -# Добре дошли - УПП, Седмица 1, ?.10.2023 +# Visual Studio и първата програма - УПП, Седмица 1, ?.10.2023 &&presentation - -&&slide &¢ered &&font35 - -# Добре дошли - -&&width65 -[](https://en.wikipedia.org/wiki/Infinite_monkey_theorem) -&&/width - -&&/font &&/centered &&/slide - - - -&&slide - -## Кой съм аз - -&&lineb2 - -&&font35 - -Казвам се Камен (моля не ми говорете на Вие), в момента съм третокурсник в КН2. - -&&lineb1 - -Ще водя практикуми - давам ви задачи, вие ги решавате и на живо оправяме проблеми. - -&&lineb1 - -Също може би ще проверявам домашни и/или контролни през семестъра (не знам за сега как ще се организира това). - -&&/font - -&&/slide - - - -&&slide - -## Кои сте вие - -Айде сега, ред по ред: - -&&lineb2 - -&&font35 - -- Име - - Едва ли ще го запомня сега, не ми се сърдете :) -- Коя операционна система ползвате -- Писали ли сте код преди? Aко да: - - на кои езици? - - в какво IDE/текстов редактор? - - как сте се научили (ходили сте на курсове (къде?) или самоуки)? - -&&/font - -&&/slide - - - -&&slide - -## Как можете да се свържете - -- Facebook messenger: <img class="file-type-icon" src="/file/ephemeral/facebook.png"> - -- Discord: <img class="file-type-icon" src="/file/ephemeral/discord.png"> - -- Имейл: - - <a href="mailto:kamen.d.mladenov@protonmail.com">kamen.d.mladenov@protonmail.com</a> <a class="borderless" href="/files/publickey-kamen.d.mladenov@protonmail.com-62ca52e87475c874b9e6ebf3c4c9f716b6ce4c9d.asc"><img class="borderless unzoomable" src="/img/pgpkey.gif" alt="PGP key"></a> - - <a href="mailto:kamen@syndamia.com">kamen@syndamia.com</a> <a class="borderless" href="/files/publickey-kamen@syndamia.com-0x354C5F95.asc"><img class="borderless unzoomable" src="/img/pgpkey.gif" alt="PGP key"></a> **(гледайте си спама!)** - - [kdmladenov@uni-sofia.bg](mailto:kdmladenov@uni-sofia.bg) - -&&lineb1 - -Ако не ви отговоря в рамките на ден-два, пишете ми пак. - -&&/slide - - - -&&slide - -## Как ще протичат практикумите - -Ще се опитам да ги направя малко по-интересни и по-полезни отколкто съм виждал при други асистенти: - -- материали от всякакъв вид в: - - &¢ered &&font35 - [syndamia.com/teaching/upp-2023](/teaching/upp-2023) - &&/font &&/centered - -- ще започнем всяко упражнение с 5 минутки преговор, какво ново трябва да приложим - и ще го завършим с 15-20 минути (ако има желание/смисъл) обяснение на задача -- повечето задачи ще имат поне 1-2 външни препратки към неща, свързани с програмиране, компютри и даже математика. - Не е нужно да ги четете, идеята е да ви покажа какво са правили хората и да ви запозная с неща, които може да са ви интересни. - -&&/slide - - - -&&slide - -## Оплаквайте се! - -- За първи път водя практикум (и никога не съм преподавал формално) -- Задачите сам си ги измислям - -Ако задачите са трудни, зле направени, ако нещо не обяснявам като хората, изобщо ако нещо не е ок, свържете се с мене, ще го обсъдим. - -&&lineb3 - -## Помагайте си! - -- Аз съм един, вие сте >20 - -<br> - -Със сигурност няма да успея да мога да помогна на всеки по всяко време от практикума, не се страхувайте да питате съседите си за помощ. - -&&/slide - - - -&&slide - -## Няколко съвета в позицията ми на третокурсник - -&&lineb2 - -&&font35 - -- **НЕ плагиатствайте!** - **НЕ си качвайте решения на задачи (особено контролни/домашни) онлайн!** - Системата е умна, не си мислете, че като промените имена и форматиране на работи няма да ви хване. - Много хора се прецакаха! -- **Следвайте материала, който ви се преподава!** - За хората с опит, ще дойде време когато ще искате да приложите лични знания и практики. - Ако не е казано някъде, не го правите и не го обмисляте! - -&&/font &&/slide - - - &&clide &¢ered -# ФМИ в контекста на програмирането - -Или защо учим толкова много математика - -&&lineb2 - -&&font22 -Ще си позволя едно отклонение, за да -поясня малко смисъла от ФМИ. -&&/font +# Visual Studio и първата програма &&/centered &&/clide - - - -&&slide - -## В КН2 има много и трудна математика - -&&table - -&&width35 - -&&/width - -&&cont - -- Жълто - математически предмет -- Червено - проблемни предмети - -<br> - -- Всички проблемни предмети също са математики -- Към половината предмети са математики -- Почти всички проблемни са наблъскани в 1ви курс - -&&/cont - -&&/table -&&/slide - - - -&&slide - -## Защо учим толкова много математика? - -Има добра причина, има директни и основни приложения в компютрите, и без тях щяхме още да сме пещерняци. -Нека обясня защо: - -&&lineb2 - -### Дискретни структури - -Смесица на уводите в няколко предмета: - -- **Булева алгебра**: как работим и смятаме с истина/лъжа, с 0/1. - Полезност: - - - Доказана е [еквивалентност между ел. вериги и булевата алгебра](https://en.wikipedia.org/wiki/A_Symbolic_Analysis_of_Relay_and_Switching_Circuits). - - Много типове данни и математически операции могат да се сведат до булева алгебра и работа с памет. - -&&/slide - - - -&&slide - -### Дискретни структури (продължение) - -- **Теория на множествата**: множество е някаква съвкупност от обекти и дефинираме различни операции с тези съвкупности. - Полезност: - - - Позволява ни да третираме колекция от математически обекти като математически обект[^importance-of-sets]. - Използва се в основата на много математики; колкото са полезни те, толкова са и множествата. - -- **Комбинаторика**: като цяло изследва бройки на неща (с/без повторения, в ограничено пространство, ...). - Полезност[^importance-of-combinatorics]: - - - Много често използвана за анализ и дизайн на алгоритми и структори от данни - - Употребява се при оптимизации и теория на кодирането (компресиране на данни, отстраняване на грешки, криптография) - - Есенциална в теория на графите - -&&/slide - - - -&&slide - -### Дискретни структури (продължение) - -&&lineb5 - -- **Теория на графите**: граф е съвкупност от някакви обекти и връзки между тях. - Полезност: - - - Позволява модерлиране на много естествени структури: интернет мрежите, географски карти (места и пътищата между тях), йерархии, биологически мрежи и так. нат. - - Използва се във важни структури от данни като [heap](https://en.wikipedia.org/wiki/Heap_%28data_structure%29) (и интересната [fibonacci heap](https://www.youtube.com/watch?v=6JxvKfSV9Ns)) и [trie](https://en.wikipedia.org/wiki/Trie) - -&&/slide - - - -&&slide - -### Езици, автомати и изчислимост - -Това е част от материала в по-общото "theoretical computer science". -Можем формално да опишем и докажем теоретични компютри и програми. -Тези резултати са директно приложими върху ралните компютри. - -Дефакто работим с компютрите чисто теоретически, с възможността да правим точни доказателства и да определим всички характеристики на един компютър. - - -### Алгебра 1 - -Особено полезен клон на алгебрата, може да моделира много неща от физическия свят. -Повечето компютърна графика се основава на нея и има големи приложения в machine learning, обработка на изображения и алгоритми за препоръки. - -TODO - -&&/slide - - - -&&slide - -### Диференциално и интегрално смятане - -<!-- Математиките извън първи курс също са важни, за вас не са релевантни. --> - -&&/slide - - - - -[^importance-of-sets]: [https://math.stackexchange.com/a/536172](https://math.stackexchange.com/a/536172) -[^importance-of-combinatorics]: [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) diff --git a/src/teaching/upp-2023/week1/welcome.md b/src/teaching/upp-2023/week1/welcome.md new file mode 100644 index 0000000..5da6688 --- /dev/null +++ b/src/teaching/upp-2023/week1/welcome.md @@ -0,0 +1,294 @@ +# Добре дошли - УПП, Седмица 1, ?.10.2023 + +&&presentation + +&&slide &¢ered &&font35 + +# Добре дошли + +&&width65 +[](https://en.wikipedia.org/wiki/Infinite_monkey_theorem) +&&/width + +&&/font &&/centered &&/slide + + + +&&slide + +## Кой съм аз + +&&lineb2 + +&&font35 + +Казвам се Камен (моля не ми говорете на Вие), в момента съм третокурсник в КН2. + +&&lineb1 + +Ще водя практикуми - давам ви задачи, вие ги решавате и на живо оправяме проблеми. + +&&lineb1 + +Също може би ще проверявам домашни и/или контролни през семестъра (не знам за сега как ще се организира това). + +&&/font + +&&/slide + + + +&&slide + +## Кои сте вие + +Айде сега, ред по ред: + +&&lineb2 + +&&font35 + +- Име + - Едва ли ще го запомня сега, не ми се сърдете :) +- Коя операционна система ползвате +- Писали ли сте код преди? Aко да: + - на кои езици? + - в какво IDE/текстов редактор? + - как сте се научили (ходили сте на курсове (къде?) или самоуки)? + +&&/font + +&&/slide + + + +&&slide + +## Как можете да се свържете + +- Facebook messenger: <img class="file-type-icon" src="/file/ephemeral/facebook.png"> + +- Discord: <img class="file-type-icon" src="/file/ephemeral/discord.png"> + +- Имейл: + - <a href="mailto:kamen.d.mladenov@protonmail.com">kamen.d.mladenov@protonmail.com</a> <a class="borderless" href="/files/publickey-kamen.d.mladenov@protonmail.com-62ca52e87475c874b9e6ebf3c4c9f716b6ce4c9d.asc"><img class="borderless unzoomable" src="/img/pgpkey.gif" alt="PGP key"></a> + - <a href="mailto:kamen@syndamia.com">kamen@syndamia.com</a> <a class="borderless" href="/files/publickey-kamen@syndamia.com-0x354C5F95.asc"><img class="borderless unzoomable" src="/img/pgpkey.gif" alt="PGP key"></a> **(гледайте си спама!)** + - [kdmladenov@uni-sofia.bg](mailto:kdmladenov@uni-sofia.bg) + +&&lineb1 + +Ако не ви отговоря в рамките на ден-два, пишете ми пак. + +&&/slide + + + +&&slide + +## Как ще протичат практикумите + +Ще се опитам да ги направя малко по-интересни и по-полезни отколкто съм виждал при други асистенти: + +- материали от всякакъв вид в: + + &¢ered &&font35 + [syndamia.com/teaching/upp-2023](/teaching/upp-2023) + &&/font &&/centered + +- ще започнем всяко упражнение с 5 минутки преговор, какво ново трябва да приложим + и ще го завършим с 15-20 минути (ако има желание/смисъл) обяснение на задача +- повечето задачи ще имат поне 1-2 външни препратки към неща, свързани с програмиране, компютри и даже математика. + Не е нужно да ги четете, идеята е да ви покажа какво са правили хората и да ви запозная с неща, които може да са ви интересни. + +&&/slide + + + +&&slide + +## Оплаквайте се! + +- За първи път водя практикум (и никога не съм преподавал формално) +- Задачите сам си ги измислям + +Ако задачите са трудни, зле направени, ако нещо не обяснявам като хората, изобщо ако нещо не е ок, свържете се с мене, ще го обсъдим. + +&&lineb3 + +## Помагайте си! + +- Аз съм един, вие сте >20 + +<br> + +Със сигурност няма да успея да мога да помогна на всеки по всяко време от практикума, не се страхувайте да питате съседите си за помощ. + +&&/slide + + + +&&slide + +## Няколко съвета в позицията ми на третокурсник + +&&lineb2 + +&&font35 + +- **НЕ плагиатствайте!** + **НЕ си качвайте решения на задачи (особено контролни/домашни) онлайн!** + Системата е умна, не си мислете, че като промените имена и форматиране на работи няма да ви хване. + Много хора се прецакаха! +- **Следвайте материала, който ви се преподава!** + За хората с опит, ще дойде време когато ще искате да приложите лични знания и практики. + Ако не е казано някъде, не го правите и не го обмисляте! + +&&/font &&/slide + + + +&&clide &¢ered + +# ФМИ в контекста на програмирането + +Или защо учим толкова много математика + +&&lineb2 + +&&font22 +Ще си позволя едно отклонение, за да +поясня малко смисъла от ФМИ. +&&/font + +&&/centered &&/clide + + + +&&slide + +## В КН2 има много и трудна математика + +&&table + +&&width35 + +&&/width + +&&cont + +- Жълто - математически предмет +- Червено - проблемни предмети + +<br> + +- Всички проблемни предмети също са математики +- Към половината предмети са математики +- Почти всички проблемни са наблъскани в 1ви курс + +&&/cont + +&&/table +&&/slide + + + +&&slide + +## Защо учим толкова много математика? + +Има добра причина, има директни и основни приложения в компютрите, и без тях щяхме още да сме пещерняци. +Нека обясня защо: + +&&lineb2 + +### Дискретни структури + +Смесица на уводите в няколко предмета: + +- **Булева алгебра**: как работим и смятаме с истина/лъжа, с 0/1. + Полезност: + + - Доказана е [еквивалентност между ел. вериги и булевата алгебра](https://en.wikipedia.org/wiki/A_Symbolic_Analysis_of_Relay_and_Switching_Circuits). + - Много типове данни и математически операции могат да се сведат до булева алгебра и работа с памет. + +&&/slide + + + +&&slide + +### Дискретни структури (продължение) + +- **Теория на множествата**: множество е някаква съвкупност от обекти и дефинираме различни операции с тези съвкупности. + Полезност: + + - Позволява ни да третираме колекция от математически обекти като математически обект[^importance-of-sets]. + Използва се в основата на много математики; колкото са полезни те, толкова са и множествата. + +- **Комбинаторика**: като цяло изследва бройки на неща (с/без повторения, в ограничено пространство, ...). + Полезност[^importance-of-combinatorics]: + + - Много често използвана за анализ и дизайн на алгоритми и структори от данни + - Употребява се при оптимизации и теория на кодирането (компресиране на данни, отстраняване на грешки, криптография) + - Есенциална в теория на графите + +&&/slide + + + +&&slide + +### Дискретни структури (продължение) + +&&lineb5 + +- **Теория на графите**: граф е съвкупност от някакви обекти и връзки между тях. + Полезност: + + - Позволява модерлиране на много естествени структури: интернет мрежите, географски карти (места и пътищата между тях), йерархии, биологически мрежи и так. нат. + - Използва се във важни структури от данни като [heap](https://en.wikipedia.org/wiki/Heap_%28data_structure%29) (и интересната [fibonacci heap](https://www.youtube.com/watch?v=6JxvKfSV9Ns)) и [trie](https://en.wikipedia.org/wiki/Trie) + +&&/slide + + + +&&slide + +### Езици, автомати и изчислимост + +Това е част от материала в по-общото "theoretical computer science". +Можем формално да опишем и докажем теоретични компютри и програми. +Тези резултати са директно приложими върху ралните компютри. + +Дефакто работим с компютрите чисто теоретически, с възможността да правим точни доказателства и да определим всички характеристики на един компютър. + + +### Алгебра 1 + +Особено полезен клон на алгебрата, може да моделира много неща от физическия свят. +Повечето компютърна графика се основава на нея и има големи приложения в machine learning, обработка на изображения и алгоритми за препоръки. + +TODO + +&&/slide + + + +&&slide + +### Диференциално и интегрално смятане + +<!-- Математиките извън първи курс също са важни, за вас не са релевантни. --> + +&&/slide + + +&&clide &&font35 + +# Айде сега сериозно, започваме първото упражнение + +&&/font &&/clide + + +[^importance-of-sets]: [https://math.stackexchange.com/a/536172](https://math.stackexchange.com/a/536172) +[^importance-of-combinatorics]: [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) |