Jakub Šimko jakub.simko@stuba.sk Metódy inžinierskej práce Prednáška 4: Ako správne písať + Mystérium dokumentácie Jakub Šimko jakub.simko@stuba.sk
Zo spätnej väzby bit.ly/mip-dotaznik
Organizačné poznámky Tento týždeň v čase cvičení: konzultačná pohotovosť V nedeľu je termín na LaTeX !!! bit.ly/mip-dotaznik
V profesionálnom živote budete písať. Veľa. bit.ly/mip-dotaznik
Čo vlastne potrebujeme písať? (ako informatici) „Dokumentácia“ (za týmto pojmom sa skrýva veľa rôznych vecí) Vedecké a odborné texty (vrátane záverečných prác) Žiadosti o... (granty, ľudí, hardvér, ...) Zmluvy Reporty Komunikácia s ostatnými (a.k.a. napísať mail nie je len tak) ... (mohla byť otázka do pléna, ale zrejme by nebola tak dobre uchopiteľná) bit.ly/mip-dotaznik
Písať o veciach vás núti nad nimi viac premýšľať bit.ly/mip-dotaznik
Okrem toho, vedieť písať sa na predstaviteľov technickej inteligencie jednoducho sluší. bit.ly/mip-dotaznik
Dobrá správa: na písanie sa dá ísť metodicky Aj niekto kto „nevie písať“ si vie pomocou vhodných barličiek pomôcť bit.ly/mip-dotaznik
Prejdime k vášmu zadaniu: Odborná esej Možno sa pýtate, načo také zadanie... Bude to tréning: Argumentácie Kritického uvažovania Vyhľadávania informácií Akademického písania bit.ly/mip-dotaznik
Prečítajte si k eseji pokyny na webe !!! bit.ly/mip-dotaznik
Krátky výťah z pokynov k eseji Práca vo dvojiciach Vypracovanie v LaTeXu (sig-alternate) SK alebo EN Rozsah 2-4 strany (bez ilustrácií) Esej je úvaha Esej nie je referát, rešerš, opis… Veľké riziko! Téma by mala zostať v rámci informatiky bit.ly/mip-dotaznik
Hodnotenie eseje 10 % - Výber témy a smer jej rozpracovania 40 % - Úroveň argumentácie a úvahového charakteru práce 20 % - Práca so zdrojmi 10 % - Vhodnosť zvolenej štruktúry práce 10 % - Jazyková a štylistická úroveň práce 10 % - Formálna úroveň práce (dodržanie šablóny, primeranosť využitia funkcií LaTeXu) bit.ly/mip-dotaznik
Aké sú znaky dobre napísaného textu? (dobrá esej) (diskusia) bit.ly/mip-dotaznik
Aké postupy písania sa na esej hodia? (diskusia) bit.ly/mip-dotaznik
Čo si o dobrom písaní myslím ja Čo si o dobrom písaní myslím ja... (píšem ja, lebo to nie je nutne jediná cesta) bit.ly/mip-dotaznik
The Craft of Scientific Writing bit.ly/mip-dotaznik
2. Aká bude štruktúra, myšlienkový tok Neviem ako začať... Ak sa vám toto stáva, znamená to, že sa pokúšate robiť naraz aspoň 4 veci: 1. O čom to celé bude 2. Aká bude štruktúra, myšlienkový tok 3. Ako pekne napísať jednotlivé vety 4. Ako bude dokument vyzerať bit.ly/mip-dotaznik
Rada #1: Keď neviete ako začať, uvedomte si cieľ prečo píšete Kto to má čítať? (publikum) Aké sú jeho znalosti? Aký má postoj k danej téme? Treba problematiku obšírne uviesť? Čo textom chcete dosiahnuť? Presvedčiť? Informovať? Zabaviť? ... Čo chcem aby malo publikum na konci v hlave? Viem myšlienky textu zoradiť podľa dôležitosti? bit.ly/mip-dotaznik
Rada #2: postavte výrokovú osnovu (príklad: článok o automatickej detekcií potrieb študentov) Motivácia Opis metódy Experimenty Výsledky Záver bit.ly/mip-dotaznik
Rada #2: postavte výrokovú osnovu (príklad: článok o automatickej detekcií potrieb študentov) Nelinearita obsahu Kontext správania A/B test Zlepšenie výučby Využívať kontext Študentov mätie, keď narazia na nelineárny obsah vo výučbových systémoch Naša metóda odporúčania rieši tento problém zisťovaním potrieb študentov z kontextu ich správania Uskutočnili sme A/B test v kontrolovanom prostredí triedy Skupina s odporúčaním dosiahla lepšie výsledky ako kontrolná skupina vo výstupnom teste Zahrnutie kontextu správania by malo byť vo výučbových systémoch využívané bit.ly/mip-dotaznik
Jasné, dá sa začať aj niečím ľahším Kľúčové slová Mind map ... ale na výrokovú osnovu sa dostať musíte bit.ly/mip-dotaznik
Každý jeden odstavec by mal mať svoj „výrok“ Každý jeden odstavec by mal mať svoj „výrok“. Zvyšok odstavca ho má podporiť/rozvinúť. „Neurónový sieťam s hlbokým učením sa dnes venuje veľká pozornosť. Sú predmetom veľkého množstva svetových vedeckých fór [1,2,5]. Pozornosť im venujú aj veľké technologické firmy ako IBM či Facebook [6,7]. Viac než tretina projektov vlaňajšieho ročníka veľkej technologickej súťaže Imagine Cup, zahŕňala neurónové siete a ...“ bit.ly/mip-dotaznik
Prečítanie odstavca musí mozog zvládnuť na jeden „mentálny nádych“. Odstavce nemajú byť dlhé Všimnite si, že odstavec sa drží jednej myšlienky bit.ly/mip-dotaznik
Hlavné benefity výrokovej osnovy: Donúti vás naozaj premyslieť myšlienkový tok Nie je tak prácne ju vytvoriť Ľahko sa dá meniť (nie je to ešte kompletný článok) (viete nad ňou posedieť s kolegom) Keď už ju máte, finálny text sa píše sa vám oveľa ľahšie bit.ly/mip-dotaznik
Rada #3: K písaniu pekných viet je toho žiaľ veľa a sú to skôr detaily, ale ... Vety nepíšte dlhé (súvetia cez 3 riadky smrdia) Neváhajte kus textu zahodiť, ak ho už nepotrebujete Neváhajte vetu aj 3 krát prepísať, nebude krásna na prvý krát Pre viac detailov: The Craft of Scientific Writing. bit.ly/mip-dotaznik
Ako zabezpečiť aby dokument dobre vyzeral? LaTeX ofc... bit.ly/mip-dotaznik
Čím viac čítate, tým lepšie píšete? Súhlasíte? Kedy to nefunguje? Keď čítate zle napísané veci bit.ly/mip-dotaznik
Koľko kníh ročne prečítate? Dobrí inžinieri čítajú Knihy, články, noviny, blogy, ... Odborné (informatické) ale aj všeobecno-populárne Nestačí len počúvať, nestačí len pozerať screencasty Rada #4 – čítajte veľa a kvalitne bit.ly/mip-dotaznik
Rada #5: Kultivujte váš slovník (súvisí s radou #4) Viete ako sa po informaticky povie „oné“ ? Systém Sú aj ďalšie „oné“ ... Dáta Funkcionalita Aspekt Načítať Spracovať Spravidla veci možno označiť konkrétnejšie. Tak to prosím robte. bit.ly/mip-dotaznik
Rada #6: nechajte si poradiť (ak je tá možnosť) bit.ly/mip-dotaznik
Info k zadaniu Prezentácia Vytvoríte ju na tému vašich esejí Prezentovanie na cvičeniach Tiež vo dvojiciach Rozsah 7-8 minút Hodnotenie: 30 % - Zmysluplnosť obsahu prezentácie 40 % - Kvalita prípravy (slajdy, štruktúra) 30 % - Prednes bit.ly/mip-dotaznik
Opať si prečítajte A bude k tomu aj prednáška bit.ly/mip-dotaznik http://sharif.edu/~namvar/index_files/Scientific-Presentation.pdf A bude k tomu aj prednáška bit.ly/mip-dotaznik
Nasleduje info k zadaniu Prezentácia Prestávka http://www.phdcomics.com/ Nasleduje info k zadaniu Prezentácia bit.ly/mip-dotaznik
Mystický pojem dokumentácie. Čo všetko si pod ním predstaviť? Používateľské príručky Referenčné príručky (opis služieb knižnice či API) „Big picture dokumentácia“ „How-to’s” (od README cez blogy po celé knihy) Otázky a odpovede v stack overflow Komentáre v zdrojových kódoch Špecifikácia funkcionality produktu Návrhové dokumenty (opisy architektúr, dátových modelov, ...) Plán projektu Analýza rizík, Metodiky, ... ... (tony ďalších vecí) (diskusia v skupinkách) (ťahanie návrhov) (pohľad prednášajúceho - zoznam) bit.ly/mip-dotaznik
Dokumentácia nás bolí dva krát Keď ju píšeme Keď nám chýba (alebo je zlá) Nemilosrdné je to najmä vtedy, ak sa jedná o tú istú dokumentáciu Druhé je samozrejme dôsledkom prvého bit.ly/mip-dotaznik
Prečo dokumentovanie tak bolí? Nemáme pocit, že pridávame hodnotu. Máme pocit, že nás to brzdí. Nevieme, koľko jej vlastne potrebujeme. Zabúdame na to. „Nejde nám písanie“ (diskusia v skupinkách) (ťahanie návrhov) (pohľad prednášajúceho - zoznam) bit.ly/mip-dotaznik
Lenže, stále platí bolesť č.2 (dokumentácia bolí keď ju nemáme) Niektoré metodológie tvorby softvéru sa dokonca snažia tvorbu dokumentácie potlačiť Lenže, stále platí bolesť č.2 (dokumentácia bolí keď ju nemáme) bit.ly/mip-dotaznik
Čo všetko sa deje, keď dokumentácia chýba? Nevieme čo máme tvoriť (upraviť, opraviť, ...)? Nevieme ako to máme robiť... (príklady) Nevieme, ako rozbehať knižnicu Debugujeme pol dňa niečo, čo je v poriadku Nevieme sa vysomáriť z vypísanej chyby Tvoríme výpočtovo neefektívny softvér Nevieme o vedľajších efektoch (fatálnych) ... bit.ly/mip-dotaznik
Záleží na type dokumentácie, ale vo všeobecnosti chcete, aby vznikala by-the-way počas iných aktivít bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Návrh (architektúra, modely) Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Návrh (architektúra, modely) Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) N/A Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) N/A Riadenie (plánovanie) bit.ly/mip-dotaznik
Ako dobre ide (typicky) tvorba dokumentácie pri niektorých aktivitách Vytvorenie dokumentácie Údržba dokumentácie Analýza a zber požiadaviek Prirodzene, ale často nekompletne Často zanedbávané Návrh (architektúra, modely) Prirodzene Implementácia Iba ak sa snažíme Veľmi ťažko Komunikácia (zápisy myšlienok) N/A Riadenie (plánovanie) Ak sme dôslední bit.ly/mip-dotaznik
Finty, aby sa dokumentácia tvorila ľahšie: Zvyknite si písať poznámky, potom ich znovupoužívajte Ak diskutujete online, robte to v nástroji na evidenciu úloh (pozrite napr. Trello) Píšte čitateľný, samoopisný kód (radšej než komentáre) Robte často commity, nešetrite slovami v ich opisoch, urobte si pred commitom diff Využite odhadovanie (next slide) bit.ly/mip-dotaznik
Odbočka: Odhadovanie úsilia je jednou z najťažších vecí v informatike. Predstavte si, že máte naprogramovať Uber. Ako dlho to bude trvať? Koľko ľudí potrebujete? Koľko peňazí to bude stáť? bit.ly/mip-dotaznik
Odhady sa môžu radikálne líšiť bit.ly/mip-dotaznik
Preto sa využíva takzvaný planning poker bit.ly/mip-dotaznik
Každý si pomyslí svoj odhad. Odhady sa naraz zverejnia Každý si pomyslí svoj odhad. Odhady sa naraz zverejnia. A rozprúdia diskusiu. bit.ly/mip-dotaznik
A tá diskusia (občas hádka) prebieha pri opise úlohy, ktorá je odhadovaná. Tento opis sa prirodzene dopĺňa. bit.ly/mip-dotaznik
Prediskutujte v kaviarni: Dvadsať rokov sme ignorovali potreby školského systému a doviedlo ho to na pokraj kolapsu článok prof. Petra Balla (FEI) https://dennikn.sk/898303/dvadsat-rokov-sme-ignorovali-potreby-skolskeho-systemu-a-doviedlo-ho-to-na-pokraj-kolapsu/?ref=saved bit.ly/mip-dotaznik
Ešte späť k učeniu sa bit.ly/mip-dotaznik
Pokiaľ ide o srandu, aj tá nás vie niečo naučiť. Tragikomédia najlepšie. http://codinghorror.com http://thedailywtf.com/ Pozor: väčšine vecí tam ani ja na prvý (občas ani na druhý) pohľad nerozumiem. bit.ly/mip-dotaznik
Robte niečo aj v lete (odpustite nemiestnosť tejto poznámky) MOOCs Brigády (v IT, nemyslím dokladanie jogurtov, hoci aj v UK) Letné školy Organizujte akcie (manažérske zručnosti sa zídu) bit.ly/mip-dotaznik
Učiť sa môžete aj keď si vyrazíte von Hlavne s mierou (platí z obidvoch strán, aj vy zarytí introverti povinne raz za dva týždne von) Dobré je ak: Ak diskutujete o škole (aj o tom ako funguje), technológiách či výskume Ak diskutujete s inými ročníkmi Ak diskutujete s učiteľmi Ak zájdete na barcamp (rubyslava, webelement, sux, ...) Ak zájdete na startup eventy Ak stretávate nových ľudí zo zaujímavých profesií (samozrejme informatici, ale aj dizajnéri, psychológovia, obchodníci) Vyhľadávajte zaujímavé témy. Samozrejme, oddýchnite si, uvoľnite sa, no ak bol celý večer len o primitívnostiach, nabudúce choďte inde. bit.ly/mip-dotaznik
„ Ako sa dostať z bloomovej taxonomie lvl 2 (porozumieť) do lvl3 (použiť)? Napríklad v kontexte PRPR. Viem si napr. zapamätať, ako sa zapisuje for cyklus. Chápem aj ako funguje, pochopím to aj na jednoduchom príklade. No keď zrazu po mne chcú, aby som vykreslil nejaký obrazec, kde ich potrebujem použiť 4, s rôznymi podmienkami a vstupmi, tak na to iba kukám s otvorenou hubou a výrazom že "ako?". bit.ly/mip-dotaznik
Problém v skutočnosti nespočíva len v znalosti pojmu cyklu Skutočným kľúčom je dekompozícia problému bit.ly/mip-dotaznik
Dekomponovať problémy (divide et impera) ... Dekompozícia je tu Abstraktné myslenie (konská dávka) Akceptovať mieru neistoty Myslieť objektovo Dekomponovať problémy (divide et impera) Rozpoznávať podobnosti medzi vecami Zaujímať o iné oblasti poznania Rozpoznávať úzke hrdlá myslenie Myslieť funkcionálne Rozpoznať a meniť úroveň abstrakcie Vstupovať do nepoznaného Oddeľovať od seba to, čo spolu nesúvisí Rešpektovať ľudí iných profesií Troubleshooting (lokalizácia problémov) Dopredu počítať s chybami Overovať si predpoklady Pochopiť dokumentáciu Navrhovať systémy Získavať požiadavky od zákazníka Pracovať so source control Programovať (v konkrétnom jazyku) Tvoriť diagramy UML zručnosti Prezentovať Mať slovnú zásobu Vyhľadávať informácie Vypočítať zložitosť algoritmu Používať grafický program Postarať sa o vlastné zariadenia Vysvetliť babke čo robíte Písať (dokumentáciu ale aj emaily)
Dekompozíciu sa pri programovaní naučíte najmä skúšaním, skúšaním a skúšaním (I’m sorry ) Ale sú tu finty... Krájanie na podobné kúsky Úvaha „ako vyzerá jednoduchý prípad“ Namiesto parametrov najskôr konštanty (mená) Pomenúvajte aj kroky - pseudokód - hojne používajte krátke funkcie Existuje tam nejaká „základná operácia“? Obmedzte si reprezentáciu dát Existujú nejaké medzivýsledky? Niekedy treba viac prechodov Hlasné premýšľanie skúseného programátora bit.ly/mip-dotaznik