]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - index.mdwn
Linux totally dominates supercomputers
[edu/osp-wiki.git] / index.mdwn
1 [[!meta title="Open Source Programování"]]
2 [[!toc]]
3
4 V tomto předmětu se studenti seznámí s open-source projekty a technikami ověřenými při
5 programování rozsáhlejších aplikací a operačních systémů. Budou
6 uvedeny důvody, které vedly k založení projektu GNU, a vysvětleno,
7 proč může být tento přístup vhodnou platformou i pro spolupráci
8 komerčních firem. Dále budou popsány standardní nástroje pro tvorbu,
9 správu, ladění a testování (nejenom) open-source softwaru a základní skladba
10 operačního systému POSIXového typu. Předložen bude i úvod do tvorby
11 ovladačů pro takovéto operační systémy a skladby uživatelských a
12 grafických knihoven. Závěrečný blok přednášek bude zaměřen na využití
13 popsaných technik ve vestavných aplikacích a pro řízení v reálném
14 čase.
15
16 [Popis předmětu][1] na stránkách [fakulty][2] a odkaz na rozvrh v [Bílé knize ČVUT][3].
17
18 Aktuality
19 =========
20
21 <!-- * Dne 20. dubna od 14:30 bude o vývoji grafických aplikací přednášet Ing. František Vacek
22   * Návrh nativních a mobilních GUI aplikací, nástroje, prostředí a knihovny* aneb *Qt everywhere* -->
23
24 <!-- * Ve dnech 5. a 6. března proběhne na Strahově konference a setkání [InstallFest](http://installfest.cz/if16/).
25   Prezentace představí různé otevřené technologie a nástroje. Jejich značná část se pak zabývá operačním systémem
26   GNU/Linux, na ně provozovanými službami a jeho využitím i na různých počítačových a mobilních platformách. -->
27
28 * Listopad 2017 V seznamu [500 nejvýkonnějších](https://www.top500.org) výpočetních systémů světa se již nenachází ani jeden, který by nepoužíval jádro Linux. Viz článek [Linux totally dominates supercomputers](http://www.zdnet.com/article/linux-totally-dominates-supercomputers/)
29
30 * 24 května 2017 Zveřejněnil Brian Harry ve své sérii článků o [Git Virtual File System - GVFS](https://github.com/Microsoft/GVFS) popis závěrečné fáze obměny kocepce správy zdrojových kódů operačního systému Microsoft Windows
31   * [The largest Git repo on the planet](https://blogs.msdn.microsoft.com/bharry/2017/05/24/the-largest-git-repo-on-the-planet/),
32   autor Brian Harry.
33
34 * 13 května 2016 od 13:00 bude v místnosti KN:G-205 k tématu efektivního řešení úlohy *Obsluha mnoha klientů*
35   prezentovat Bc. Martin Vajnar článek
36   *[Algorithmic Improvements for Fast Concurrent Cuckoo Hashing](http://www.cs.princeton.edu/~mfreed/docs/cuckoo-eurosys14.pdf)*,
37   autorů Xiaozhou Li, David G. Andersen, Michael Kaminsky, Michael J. Freedman.
38
39 * 5 května 2016 byly publikovány výsledky průzkumu zájmu zaměstnavatelů o odborníky se znalostí Open-Source technologií a vývoje
40   [The 2016 Open Source Jobs Report: Companies Hungry for Professional Open Source Talent](http://www.linuxfoundation.org/news-media/announcements/2016/05/2016-open-source-jobs-report-companies-hungry-professional-open)
41
42 * 2015 Společnost Microsoft přechází s kompletní platformou Dot Net na otevřený vývojový model
43   * [Oficiální vývojový strom .NET v prostředí GitHub](https://github.com/Microsoft/dotnet)
44
45 Komunikace
46 ==========
47
48 Pro účely komunikace mezi studenty a vyučujícími slouží
49 [mailing list][ml]. Studentům doporučujeme sledovat komunikaci na
50 mailing listu, buď v [archivu][ar] nebo prostřednictvím
51 [přihlášení se k odběru][ml]. Vyučující předpokládají, že studenti
52 berou na vědomí zaslané informace.
53
54 Další komunikační kanály jsou:
55
56 - Twitter: <img src="Twitter_logo.png" alt="Twitter" class="twitter-logo">[[@CTU_OSP|twitter]]
57 - IRC: #ctu_osp on [Freenode](https://freenode.net/) ([Webchat](http://webchat.freenode.net?channels=%23ctu_osp))
58
59 [ml]: https://rtime.felk.cvut.cz/mailman/listinfo/osp
60 [ar]: https://rtime.felk.cvut.cz/pipermail/osp/
61
62 Hodnocení předmětu
63 ==========
64
65 <!-- TODO: U cvičení 3 smazat poznámku a) -->
66 <!-- TODO: Zpřísnit hodnocení - možná kontrolní termín v cca 9. týdnu:
67            Kdo nebude mít uspokojující postup na wiki, toho si pozveme
68            na kobereček.-->
69
70 [[!table class="borders" data="""
71 Co                                                                  | Podmínka<br/>zápočtu |  Body   | Poznámky,<br/>deadline |
72 Úloha 1 (úprava MC)                                                 | ✓                    | 5/1     | a), 10. 3. 2016        |
73 Úloha 2 (dmsg vypíše Hello <my name>)                               | ✓                    | 5/1     | a), 17. 3. 2016        |
74 Konzultace návrhu samostatné práce                                  | ✓                    |         |                        |
75 Úloha 3 (úprava patche proti Git historii)                          | ✓                    | 5/1     | a), 31. 3. 2016        |
76 Prezentace záměru práce                                             | ✓                    | 5/1     |                        |
77 Úloha 4 (Open street map)                                           | ✓                    | 5/1     | a), 14. 4. 2016        |
78 Úloha 5 (obsluha mnoha klientů)                                     | ✓                    | 5(+5)/1 | a), b), 28. 4. 2016    |
79 Test v půli semestru                                                | ✓                    | 15      |                        |
80 *Průběh samostatné práce*                                           |                      |         |                        |
81   Odezva od člena projektu                                          |                      | 3       | c)                     |
82   Vaše změny (i nepřijaté) jsou dostupné ve veřejném repozitáři     |                      | 3       | c)                     |
83   Otestování vašich změn členem projektu                            |                      | 3       | c)                     |
84   Zahrnutí vaší implementace do projektu                            |                      | 3       | c)                     |
85   Vaše změny jsou zdokumentovány v uživatelské dokumentaci projektu |                      | 3       | c)                     |
86   Výsledná práce odpovídá zadání ze 3. týdne                        |                      | 3       | c)                     |
87   Profilová stránka a slidy k závěrečné prezentaci jsou anglicky    |                      | 2       |                        |
88 Prezentace výsledku práce                                           | ✓                    | 1 – 5   | d)                     |
89 Open HUB kudorank                                                   |                      | (3)     | e)                     |
90 Zkouška                                                             |                      | 30      |                        |
91 **Celkem**                                                          |                      | **100+(8)** |                    |
92 """]]
93
94 [[!table class="borders" data="""
95 Známka | počet bodů
96 A       | 90 – ∞
97 B       | 80 – 89
98 C       | 70 – 79
99 D       | 60 – 69
100 E       | 50 – 59
101 F       | < 50 nebo < 15 ze zk. písemky
102 """]]
103
104 #### Poznámky:
105 <ol class="lower-alpha">
106 <li>5 bodů pokud je úloha odevzdána do "deadlinu" (včetně), jinak
107    1 bod.</li>
108 <li>Pět nejlepších studentů získá navíc 1 – 5 bonusových bodů.</li>
109 <li>pokud si vyberete jako samostatnou práci lokalizaci, bude vaše bodové hodnocení sníženo o 1/3.</li>
110 <li>1 – 5 bodů v závislosti na hodnocení (hlasování) všemi přítomnými.</li>
111 <li>[Open HUB][4] profil s kudorankem větším než 0 získaným za commity v open-source
112 projektech splňujících požadavky na [[samostatnou práci|cviceni#semestralka]].</li>
113 </ol>
114
115 #### Pravidla pro studenty kombinovaného studia (KS):
116 Pro absolvování kurzu je vyžadované vypracování všech úloh
117 a prezentací stejně jako pro ostatní studenty. Studentů kombinované
118 formy se však netýká snížení počtu bodů v případě
119 pozdějšího odevzdání úloh a také se mohou dohodnout
120 se cvičícím na odevzdání úloh a první prezentace elektronickou
121 cestou. Povinnou zůstává přítomnost na cvičení s testem
122 a na závěrečných prezentacích.
123
124 Podobné kurzy na jiných školách
125 ===============================
126
127 * [Andrew Tridgell: Teaching FOSS at Universities, LCA 2010](http://2009.r2.co.nz/20100118/50100.htm) 
128   ([slides](http://www.lca2010.org.nz/slides/50100.odp))
129 * [The Australian National University, Free and Open Source Software Development](http://cs.anu.edu.au/students/comp8440/)
130 * [Fachhochschule Augsburg, Hubert Högl](http://elk.informatik.fh-augsburg.de/hhweb/oss/index.html)
131 * [TeachingOpenSource.org](http://teachingopensource.org/)
132 * [Aberystwyth University: Open Source Development Issues](http://www.aber.ac.uk/en/modules/deptcurrent/?m=CS38110) ([Steve McIntyre: prednáška](http://www.einval.com/~steve/talks/Aberystwyth-2009/HEADER.html))
133 * [Karlova Univerzita, MFF, Open source programování](http://pasky.or.cz/vyuka/2011-PRG055/)
134 * [Open Source Comes to Campus](http://campus.openhatch.org/) -- one-day workshop taught by OpenHatch people.
135
136 Literatura
137 ============
138
139 Pro prohloubení či upřesnění látky probírané na přednáškách mohou
140 posloužit následující odkazy:
141
142 * [Karl Fogel: Producing Open Source Software (How to Run a Successful Free Software Project)](http://producingoss.com/en/index.html), CreateSpace, 2009, ISBN-13: 978-1441437716
143 * Překlad [Karl Fogel: Tvorba open source softwaru](http://knihy.nic.cz/), CZ.NIC, z. s. p. o., 2012, ISBN-13: 978-80-904248-5-2
144 * Floss Manuals <http://flossmanuals.net/>
145 * The Linux Documentation Project <http://tldp.org/>
146 * Popis programátorských technik v Unixu <http://dce.felk.cvut.cz/pos/os_api/unix.html> 
147 * GNU Operating System <http://www.gnu.org/>
148 * Embedded Linux kernel and driver development, <http://free-electrons.com/>
149 * Love R.: Linux Kernel Development (2nd Edition), Novell Press, 2005.
150 * Corbet J., Rubini A., Kroah-Hartman G.: Linux Device Drivers (3rd Edition), O'Reilly Media, Inc., 2005, ISBN-10: 0596005903, ISBN-13: 978-0596005900
151 * [An Exploration of Fedora’s Online Open Source Development Community](http://www.cyber-anthro.com/beta-an-exploration-of-fedora%E2%80%99s-online-open-source-development-community/)
152 * [Ben Lynn: Git Magic](http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html)
153 * [Defensive patent publications](http://opensource.com/education/13/2/software-defensive-patents)
154
155 Prezentace studentských projektů z minulých běhů předmětu
156 ==========================================================
157
158 * [[Rok 2010|student/2010]]
159 * [[Rok 2011|student/2011]]
160 * [[Rok 2012|student/2012]]
161 * [[Rok 2013|student/2013]]
162 * [[Rok 2014|student/2014]]
163 * [[Rok 2015|student/2015]]
164 * [[Rok 2016|student/2016]]
165
166   [1]: http://www.fel.cvut.cz/cz/education/bk/predmety/12/53/p12539404.html
167   [2]: http://fel.cvut.cz/ 
168   [3]: http://bilakniha.cvut.cz/cs/predmet3054806.html#rozvrh
169   [4]: http://www.openhub.net/