Logo ČVUT
Loading...
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2011/2012

Open-Source programování

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
A4M35OSP Z,ZK 6 2+2c česky
Podmínkou zápisu předmětu je, že student získal v předchozích semestrech zápočet z následujících předmětů:
Pokročilá algoritmizace (A4M33PAL)
Přednášející:
Zdeněk Hurák (gar.), Pavel Píša (gar.), Martin Hlinovský
Cvičící:
Zdeněk Hurák (gar.), Pavel Píša (gar.), Martin Hlinovský, Rostislav Lisový, Michal Sojka
Předmět zajišťuje:
katedra řídicí techniky
Anotace:

Studenti se seznámí s open-source projekty a technikami ověřenými při programování rozsáhlejších aplikací a operačních systémů. Budou uvedeny důvody, které vedly k založení projektu GNU, a vysvětleno, proč může být tento přístup vhodnou platformou i pro spolupráci komerčních firem. Dále budou popsány standardní nástroje pro tvorbu, správu, ladění a testování zdrojových kódů a základní skladba operačního systému POSIXového typu. Předložen bude i úvod do tvorby ovladačů pro takovéto operační systémy a skladby uživatelských a grafických knihoven. Závěrečný blok přednášek bude zaměřen na využití popsaných technik ve vestavných aplikacích a pro řízení v reálném čase.

Požadavky:

Dobrá znalost jazyka C a alespoň základní zkušenosti s multithreadovým programováním v POSIXových systémech. Základní znalost skladby hardware počítačových systémů a logických obvodů je též nutnou podmínkou pro pochopení probírané látky a HW, SW návazností.

Osnova přednášek:

1. Úvodní slovo o předmětu; Open-source software, projekt GNU, licence a operační systémy vycházející z jeho filozofie

2. GNU - vznik základních vývojových nástrojů a jejich použití

3. Přehled významných Open-source projektů (i pro výběr semestrální práce)

4. Založení vlastního projektu a zapojení se do existujícího projektu

5. Technická infrastruktura (správa verzí a chyb, komunikace, wiki)

6. Komerční model; Sociální a rozhodovací struktury

7. Mezilidská komunikace

8. Vydávání verzí, příprava balíčků a průběžný vývoj

9. Dobrovolníci, vývoj a větvení projektů

10. Licence, autorská práva a patenty

11. Cílové platformy, přenositelnost a open-source hardware

12. Linuxové jádro - vznik, vývoj, skladba a ovladače

13. Trendy a výhled do budoucnosti

Osnova cvičení:

Seznámení s vývojovými nástroji a prostředím GNU/Linux:

Tvorba jednoduché aplikace v jazyce C, využití automake a případných dalších metod k sestavování programu

Práce s rozsáhlým projektem a jeho historií:

Vhodným kandidátem je Linuxové jádro

Procházení historií (git), vývojové stromy, konfigurace a kompilace

Tvorba jednoduchého znakového ovladače

Samostatná práce:

Výběr z nabídky prací na různých open-source projektech nebo návrh vlastní (úprav existujícího projektu, či založení projektu nového). Projekty mohou být z celé škály softwarových projektů, preferované jsou projekty zabývající se programováním na úrovni tradičních jazyků (C, C++, Java, Mono) buď plně přenositelných aplikací (POSIX) nebo programování na systémové úrovni.

Práce na projektu/úpravách, komunikace s komunitou okolo projektu, konzultace se cvičícími

Prezentace výsledků a hodnocení úspěšnosti, míry začlenění do projektu istudentovi komunikace s dalšími členy týmu.

Cíle studia:
Studijní materiály:

[1] The Linux Documentation Project http://tldp.org/

[2] Popis programátorských technik v Unixu

http://dce.felk.cvut.cz/pos/os_api/unix.html

[3] GNU Operating System http://www.gnu.org/

[4] Embedded Linux kernel and driver development, http://free-electrons.com.

[5] Love R.: Linux Kernel Development (2nd Edition), Novell Press, 2005.

[6] Corbet J., Rubini A., Kroah-Hartman G.: Linux Device Drivers (3rd Edition),

O'Reilly Media, Inc., 2005, ISBN-10: 0596005903, ISBN-13: 978-0596005900

Poznámka:

Rozsah výuky v kombinované formě studia: 14p+6c

Stránky předmětu: http://support.dce.felk.cvut.cz/osp/ .

Další informace:
http://support.dce.felk.cvut.cz/osp/
Rozvrh na zimní semestr 2011/2012:
Rozvrh není připraven
Rozvrh na letní semestr 2011/2012:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
St
místnost T2:C3-132
Píša P.
14:30–16:00
(přednášková par. 1)
Dejvice
Posluchárna
Čt
místnost KN:E-s109
Píša P.
Sojka M.

09:15–10:45
(přednášková par. 1
paralelka 102)

Karlovo nám.
Laboratoř ŘS
místnost KN:E-s109
Píša P.
Sojka M.

11:00–12:30
(přednášková par. 1
paralelka 103)

Karlovo nám.
Laboratoř ŘS
místnost KN:E-s109
Píša P.
Lisový R.

12:45–14:15
(přednášková par. 1
paralelka 104)

Karlovo nám.
Laboratoř ŘS
místnost KN:E-s109
Píša P.
Sojka M.

14:30–16:00
(přednášková par. 1
paralelka 105)

Karlovo nám.
Laboratoř ŘS
místnost KN:E-s109
Píša P.
Sojka M.

16:15–17:45
(přednášková par. 1
paralelka 101)

Karlovo nám.
Laboratoř ŘS

Předmět je součástí následujících studijních plánů:
Platnost dat k 9. 7. 2012
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet12539404.html