Hodiny programování

Ivana Recmanová

Jak rozšířit počet studentek informatiky? Některé ze západních univerzit k tomu nějaké recepty znají. V první řadě je nutné zbořit mýty o tom, jak výuka programování vůbec probíhá.

Dnes se mi podařilo úspěšně zakončit semestrální kurz programování na vysoké škole. Co tomu předcházelo a jak to probíhalo? Třeba se najdou ženy, které o programování předtím neuvažovaly, ale po přečtení by se mu rád věnovaly.

O programování jsem v dětství příliš zájmu nejevila — vlastně jsem o něm neměla konkrétní představy. Mnohem víc mě bavily počítačové hry nebo brouzdání po internetu.

Na gymnáziu jsme měli povinně hodiny informatiky a výpočetní techniky. Jejich náplň spočívala ve vytváření nudných grafů v Excelu a zarovnávání sloupců ve Wordu. Jediným rozptýlením v hodině bylo to, že jsme mohli surfovat po internetu. A protože se člověk nemusel příliš snažit, aby dostal jedničku či dvojku, nebyla ani motivace se v informatice dál vzdělávat.

Poté, co jsem změnila školu, jsem dostala vyučující matematiky, díky které jsem zjistila, že mi tento předmět jde a že je zábavný. Vzhledem k tomu, že jsem pak musela maturovat z matematiky kvůli přijímacímu řízení na některé vysoké školy v zahraničí, začala jsem v posledním ročníku navštěvovat nejpokročilejší hodiny u nás na gymnáziu.

Mou první známkou ve školním roce byla jednička. Když jsem ji hlásila doma, máma se mě zeptala, jestli bych nezvážila studium na MatFyzu. Zarazilo mě to, ale řekla jsem si, že se podívám na den otevřených dveří a uvidím.

Ten den jsem vynechala školu a podívala se na prezentaci fakulty. Na programu bylo několik přednášek z různých oblastí, přičemž mě nejvíc zaujala informatika — snad právě z toho důvodu, že využívala logiku a připadala mi praktičtější než matematika. Mimo to jsem vyhrála cenu v jedné logické soutěži, která se tam ten den konala. Usoudila jsem, že mám zřejmě ke studiu vlohy.

Moji rodiče ale z mého výběru nebyli zrovna nadšeni. Měli strach, že bych studium nezvládla, jelikož jsem se programování v životě nevěnovala. Dlouho jsme se o tom bavili a moje přihláška na obecnou informatiku skončila v koši. Zvítězil nade mnou strach, že bych neprošla ani prvním semestrem.

V druhém pololetí jsem se zúčastnila Zimní školy matematiky a fyziky. Ačkoliv jsem tam nalezla zábavu i poučení a zároveň jsem se tam seznámila s fantastickými lidmi, byla tam taktéž zvýšená koncentrace matematických olympioniků a dlouhodobých řešitelů nejrůznějších korespondenčních seminářů. Když někdo přišel na přednášku, zalezl do spacího pytle, vzbudil se uprostřed výkladu a zeptal se, jestli na tabuli nechybí logaritmus, usoudila jsem, že nepřihlásit se na MatFyz byla správná volba. Takový génius zase nejsem.

Většina lidí si por pojmem programování nejspíš představí člověka, který sedí ve svém doupěti a u počítače vytvoří úplně celý software. ve skutečnosti jde o kolektivní práci. Ilustrace aquinashub.co.uk

Poté, co jsem odmaturovala, odjela jsem na letní tábor. Jedním z místních workshopů byly základy programování v dětském programovacím jazyce Karel, jehož zvládnutí prý bylo indikátorem toho, jestli by nám šlo i opravdové programování. Už ani nevím, jak jsem se tam ocitla - snad proto, že ve stejnou dobu probíhala bojovka v lese, kde byla zima a pršelo.

Vedla to studentka MatFyzu. Karel byl skutečně velmi jednoduchý a na závěr mi bylo sděleno, že jsem velmi dobrá. Díky tomu jsem se rozhodla, že dám programování šanci.

Protože jsem odjela studovat do Británie živé jazyky, k programování jsem se v prvním roce vůbec nedostala. Využila jsem toho, že v druhém ročníku jsme si mohli zapsat i předměty mimo jazykové katedry. Ačkoli jsem si vyběhala povolení od informatiků i filologů, bylo mi studium informatického předmětu nakonec zamítnuto a skončila místo toho na přednáškách dějin umění (což považuju za jeden z největších omylů v mém životě).

Během léta jsem se pokoušela sama učit programovat z knížek, Ne všechny dostupné materiály však byly kvalitní a tak nakonec zvítězila moje nedůslednost. Jednak proto, že v létě se člověku obvykle moc za počítačem sedět nechce, jednak proto, že jakmile začal akademický rok, musela jsem se věnovat školní věcem. Programování šlo stranou.

Po ukončení bakalářského studia jsem nastoupila na studium magisterské. Tentokrát jsem měla větší svobodu výběru předmětů i z jiných kateder. Oko mi ulpělo na kurzu logického programování. Potíž byla v tom, že se jednalo o večerní předmět, konaný zároveň na fakultě informatiky. Měla jsem obavy, že by to bylo přizpůsobeno studentům, kteří měli větší zkušenosti s informatikou, než já.

Nakonec jsem si raději zapsala předmět u nás na fakultě, který se konal týž den, a to Kritiku medializovaného politického diskurzu. Zaplnilo mi to mezeru mezi dvěma předměty a říkala jsem si, že když mám tu stáž na Úřadu vlády, nějak to třeba využiji.

První týden výuky jsem musela řešit něco s tajemnicí katedry a přišla řeč i na to, jaké předměty jsem si zapsala. Když jsem jí řekla, že jsem si zvolila výběrový seminář číslo pět, zareagovala na to: „Jo, to bude to programování, to si ukážete Quitu.“

Programování? Opravdu? Byla jsem z toho zmatená jako lesní včela. Na druhou stranu — programovat jsem se chtěla naučit a vzhledem k tomu, že jsme na tom předmětu byli zapsáni jen dva, navíc z filozofické fakulty, nečekala jsem žádnou katastrofu.

Přišla první hodina. Vyučující se ujistil, že opravdu jdu na programování a ne analýzu diskurzu, což prý byla nějaká chyba na internetu. Zároveň jsem zjistila, že druhý člověk na hodiny chodit nebude. Měla jsem tedy dvě hodiny týdně individuální výuku.

Hodiny byly silně improvizované. Ne že by mi to vadilo — byla jsem naopak ráda, že předmět je uzpůsoben přímo mým potřebám. Právě z toho důvodu, že předmět neměl pevné osnovy, jsme v průběhu semestru měnili i cíl výuky.

Někdy v jeho průběhu jsem dostala dotaz, jestli chci programovat v Pythonu, nebo C#.

„Slyšela jsem, že C# je strašně těžký,“ svěřila jsem se vyučujícímu se svými obavami.

„Neposlouchejte druhé lidi a vyberte si to, čemu se chcete věnovat vy,“ zareagoval.

S Pythonem jsem měla větší či menší zkušenosti, ale se C# žádné. Nakonec jsem se rozhodla, že zkusím právě C#, abych se naučila něco nového.

Nemůžu říci, že to bylo úplně jednoduché, protože se mi ze začátku pletly způsoby zápisu v obou programovacích jazycích. Těšilo mě však, že jsem se rychle zlepšovala a dokázala zadání logicky vyřešit.

Rozhodně se nepovažuji za expertku. Na druhou stranu, díky tomuto vstupnímu kurzu jsem získala motivaci věnovat se programování nadále.

Zatímco dříve si informatiku na americké univerzitě Harvey Mudd zvolilo jako diplomní obor 10 procent studentek školy, dnes je to procent 40. To vše díky rozšíření úrovní zkušenosti. Foto c-stem.ucdavis.edu

Jak tedy nalákat ženy ke studiu programování?

Ze své zkušenosti bych vypíchla dva aspekty, které se plus mínus shodují s těmi, které identifikovali na jiných univerzitách a úspěšně přemohli. Prvním je osobní přístup, druhým stereotypní představa o programování.

Je-li člověk v hodinách programování posazen vedle lidí, kteří se programování věnují dlouhodobě, všechno znají a všemu rozumí, přičemž on sám ještě včera nevěděl, co je to algoritmus, nejspíš získá dojem, že se na programování nehodí. Na americké univerzitě Harvey Mudd proto vytvořili tři nové vstupní úrovně, takže se ostřílení ranaři nepotkávali s nováčky.

Pokud někdo projevoval znalosti a schopnosti nad rámec kurzu, vyučující mu sdělili: „Velmi oceňuji vaše znalosti, nicméně vám raději navrhuji, abychom je spolu probrali v konzultačních hodinách, aby se tady ostatní necítili méněcenně.“

Jaký byl výsledek? Zatímco dříve si informatiku zvolilo jako diplomní obor 10 procent studentek školy, dnes je to procent 40.

Americký vysokoškolský systém je, pravda, jiný než český. Můžeme se přesto snažit podobným způsobem nalákat zájemce už na střední škole. Další možností je nabídka programovacích kurzů přímo v rámci studia konkrétního oboru, jako je tomu u nás na Katedře obecné lingvistiky. Pokud je mi známo, kurzy programování běží i na lingvistice a logice v Praze.

Zároveň je nutné zbořit mýty o tom, jak programování probíhá. Většina lidí si nejspíš představí člověka, který sedí ve svém doupěti a u počítače vytvoří úplně celý software. Ve skutečnosti je při tvorbě programů nutná týmová spolupráce a psaní kódu je jen jedna z činností, kterou projekt obnáší. Část lidí matematizuje klientovy požadavky, další navrhne řešení, další je přepíše do kódu, poté se hledají chyby a ladí řešení, aby nebyl program zbytečně složitý, až se dostanou ke slovu grafici a testeři.

Ženy, běžte programovat, třeba časem vybudujete nějaký program na dolování znalostí textu a nebudete mít problém si stoupnout vedle mužů jak ve vládě, tak v dole. A vy ostatní, nebarvěte prosím počítače narůžovo.

    Diskuse
    JS
    January 3, 2016 v 22.54
    Slečno Recmanová,
    původně jsem vám chtěl dost vynadat za váš komentář pod předchozím článkem, ale než jsem si tu stihl obnovit registraci (bohužel jsem na vás nesehnal email, což vypovídá o smutném stavu dnešního Internetu), napsala jste toto. Tím jste si dost opravila můj dojem z vás, jsem opravdu rád, že jste si programování zkusila. (Python je určitě vynikající volba pro neprofesionála, taky ho rád používám, a C# je decentní.)

    Takže, níž je moje původní reakce psaná někdy okolo 15.12., a pak k tomu ještě něco poznamenám s ohledem na tento článek.
    JS
    January 3, 2016 v 23.12
    moje reakce na předchozí článek
    Článek je dobrou ukázkou toho, jak moc dokáže být feminismus odtržený od praxe, nicméně, co mě opravdu nadzvedlo (a přimělo obnovit si zde registraci a sepsat tuto odpověď) je toto prohlášení:

    "Vzhledem k tomu, že na technických se berou skoro jen technické věci, tamějším studentům unikají poznatky z netechnických oborů. Jestli někde narážím na ženy, které brojí proti feminismu, tak se obvykle rekrutují z těchto oborů."

    Není to spíš tak, slečno Recmanová, že tyto ženy zkrátka nechtějí být součástí vašeho boje za lepší společnost, ale prostě se jen plně zabývat oborem, který je zajímá a baví? Podobně jako hlavní hrdinka epizody "Rovné příležitosti" seriálu "Ano, pane ministře"? To vůbec není ojedinělý jev - viz například též tento blogpost: https://medium.com/@maradydd/okay-feminism-its-time-we-had-a-talk-about-empathy-bd6321c66b37 (můžete i zkusit diskusi k němu na https://news.ycombinator.com/item?id=9941712) Troufám si tvrdit, že vy zkrátka těm ženám tak úplně nerozumíte. A stejně jako ona hrdinka musím bez ironie poznamenat: Já vím, že to myslíte dobře. (Nejsem si úplně jistý, proč mi ta epizoda tak utkvěla v paměti - možná proto, že perfektně ilustruje emocionální brutalitu kritického myšlení.)

    Nicméně, když už jsem se pustil do této debaty. Otázka nízkého poměru žen vůči mužům v technických oborech mě celkem zajímá, důvodů je víc, ten hlavní asi bude, že mám (softwarové) inženýrství (a také matematiku a přírodní vědy) opravdu rád, a samozřejmě bych rád, aby se tím zabývalo víc lidí, ať už jsou jacíkoliv, včetně žen (o kterých si myslím, že - právě proto, že mají často jiný způsob myšlení - může být jejich pohled prospěšný). A co jsem tak četl, diskutoval a pozoroval ve svém profesním oboru, který tím velmi trpí - programování, hlavní důvody, proč zde máme málo žen (odhadem tak pod 5%) jsou následující:

    1. Ženy nechtějí tu práci dělat pro její povahu. Je to prostě nezáživné vysvětlování počítači - v podstatě hyperkorektnímu idiotovi - jak něco udělat. Typicky jsem od žen slyšel zdůvodnění, že je to málo práce s lidmi, nicméně mám dobré důvody myslet si, že to zdůvodnění je nesmyslné (nechci to pro začátek dlouze rozebírat, ale stačí si vyhledat třeba "ENIAC girls" - ženy prakticky založily můj obor). Možných zdůvodnění je ve skutečnosti celá řada, spousta z nich je politicky nekorektních, ale nemáme myslím dost empirických důkazů, které je vlastně to pravdivé. Musím také podotknout, že tento důvod sám o sobě (bez ohledu na jeho skutečnou příčinu) nemůže vysvětlit genderovou mezeru, kterou v současnosti pozorujeme.

    2. Ženy si dostatečně nevěří. Existuje prý zajímavá studie (nemám bohužel odkaz), která poukazuje na to, že ženy si tipují o 5 bodů nižší IQ, než reálně mají, zatímco muži si tipují až o 5 bodů vyšší IQ. Mohu říct, že téměř u každé mladé ženy, s kterou jsem se (v oboru) setkal, to byla pravda - považovala se za hloupější, než ve skutečnosti byla (což má samozřejmě pak i negativní vliv na motivaci). Čistě na okraj, mám pro tento fakt (pokud je pravdivý) zajímavé evoluční vysvětlení: Vysoká inteligence není zrovna vlastnost, kterou bychom chtěli dávat najevo ostatním lidem, pokud nechceme specificky upoutat jejich pozornost jako sexuálního partnera. Je to ten stejný důvod, proč mají samečci mnoha ptáků pestrobarevné peří, zatímco samičky nenápadné peří.

    3. Ženy mají, podobně jako ostatní lidé, spousta negativních předsudků vůči programátorům (a IT oborům obecně), a to ovlivňuje jejich volbu profese. Což je potíž, protože tím se z toho stává sebenaplňující se proroctví.

    Mezi těmi hlavními důvody ovšem rozhodně nejsou věci jako "genderové stereotypy" nebo "patriarchát" - to jsou spíš pseudodůvody, které patrně dělají dobře některým členům feministického hnutí, ale s realitou nemají mnoho společného. Není těžké je empiricky vyvrátit, moje oblíbené testy jsou tři: (a) Modelingový průmysl je plný stereotypů a to ženám zjevně nevadí, (b) i přes značný pokrok v rovnosti příležitostí (a dalších feministických aktivitách) v USA výrazně klesl podíl programátorek někdy od zhruba 80. let - ačkoli v poslední době se to zdá se trochu obrací, a (c) v Indii je podíl programátorek odhadem tak 15-20%, výrazně víc, než na Západě. Takže dobrá teorie o genderové mezeře musí přinejmenším nějak vzít v úvahu tato fakta.

    I když nemám moc rád anekdoty (jako opak systematické empirie), jednu sem přihodím, protože perfektně ilustruje vše výše uvedené. Minulý týden jsem byl na vánočním večírku naší (americké) firmy a setkal jsem se tam se svou kolegyní, s kterou jsme spolu před 10 lety nastupovali a která se vrací po mateřské dovolené do práce. Vznikla z toho tato fotografie: http://www.fotobedna.cz/galerie/ca-xmas-party-2015/#Fotobedna-1-151210-231150.jpg (Fotografování se mnou byl její nápad, a všechny doplňky vybírala ona.) Z té fotografie můžete okamžitě vidět, že v růžové barvě fakt asi problém není.

    Další věc je, že u té fotky vás nenapadne: Hle, profesionální programátoři! (Byť šlo o zvláštní situaci.) Jenže ta fotka odpovídá realitě - programátoři jsou normální, většinou velmi fajn, lidé (přihodím perličku - statistikám nerozvodovosti vedou v USA inženýři s asi 17% rozvodů, hluboko pod průměrem). Nicméně jsem si 100% jistý, že kdyby moje kolegyně přišla povídat třeba středoškolským studentům o programování, už jenom díky tomu, že je opravdu atraktivní, by rozbila celou řadu stereotypů (viz bod 3), a přilákala v důsledku toho víc žen. Rozhodně by to bylo účinnější, než kdybych tam v té růžové přišel já. Jinak pokud máte pocit, že bojovat proti stereotypům jinými stereotypy je morálně nepřijatelné, jsem otevřený lepším nápadům - žádné nemám.

    Konečně, třetí, a smutná, část té anekdoty - ta kolegyně se mi také svěřila, že přestože se těší do práce, už programovat moc nechce. V podstatě šlo o kombinaci důvodů 1 a 2. Velmi bych si přál, kdybych s tím mohl něco udělat, a to jak v tomto konkrétním tak i v obecném případě, ale jde o osobní svobodnou volbu, která nevyplývá z negativní zkušenosti ani neznalosti věci, takže nezbývá než to respektovat.

    Jsem toho názoru, že společnost by se měla především pokusit změnit důvod 3 (o to se patrně částečně snaží ta iniciativa, o které píše autorka), a také důvod 2 (který mě asi mrzí ze všech nejvíc, ale jen velmi matně tuším zoufalou možnost, co by se s tím dalo dělat); ale nesouhlasím, že bychom měli něco dělat s důvodem 1. A ačkoliv je mi ta iniciativa sympatická a považuji ji za správný krok (podobné existují i na Západě), mám trochu pochybnosti, zda je v pořádku přilákat ženy do oboru, který později možná opustí z důvodu 1 nebo 2. Máme na to právo?
    JS
    January 3, 2016 v 23.30
    pár dalších poznámek ve světle tohoto článku
    Když jsem psal svojí předchozí reakci, věděl jsem o té studii, kterou zmiňujete tady (nebo možná o podobné na CMU, teď si nejsem z hlavy jistý). Ale to bohužel nedává odpověď na otázku, kterou jsem vznesl, jestli má smysl se snažit získat do oboru víc žen, pokud to nakonec dělat nechtějí - nezkazíme jim tak život?

    Shodou okolnosti jsem také mezitím narazil na následující odkaz: http://lea.verou.me/2015/12/my-positive-experience-as-a-woman-in-tech/ (diskuse na https://news.ycombinator.com/item?id=10753405), který je myslím dobrou ukázkou toho, co by mohlo bourat stereotypy, tedy bod 3 v mé předchozí reakci.

    A když od vás čtu:
    "usoudila jsem, že nepřihlásit se na MatFyz byla správná volba"

    Tak si říkám, není to vlastně to, co popisuji v bodu 2 své předchozí reakce? Věřte tomu, mnoho mých profesionálních kolegů (i já sám) funguje často podle známého hesla "fake it 'till you make it".

    No, každopádně, doufám, že jsem vám do toho vnesl trochu jiný pohled. Nemyslím si, že se kdy v programování dosáhne genderové parity, ale aspoň 25% (ze současných možná 5% - odhad od oka) považuji za realistický cíl.