Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
public:pb071 [2017/02/23 20:06] Petr Svenda [Konzultační hodiny] |
public:pb071 [2018/02/24 19:10] (aktuální) |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== PB071: Principy nízkoúrovňového programování - Jaro 2017 ====== | ====== PB071: Principy nízkoúrovňového programování - Jaro 2017 ====== | ||
+ | |||
+ | <note warning> | ||
+ | **Stránky předmětu byly přesunuty** | ||
+ | |||
+ | Oficiální web předmětu PB071 byl přesunut [[https://www.fi.muni.cz/pb071|zde]]. | ||
+ | Informace na této stránce existují pouze pro zachování historie. | ||
+ | |||
+ | **Tyto informace nemusí být aktuální a nelze je použít jako argument k opravě hodnocení | ||
+ | úkolů nebo ukončení předmětu.** | ||
+ | </note> | ||
===== Rozcestník ===== | ===== Rozcestník ===== | ||
Řádek 65: | Řádek 75: | ||
* Na cvičeních se pracuje primárně ve vývojovém prostředí QT Creator s využitím překladače gcc. Součástí výuky je i používání debuggeru a dalších vývojových nástrojů - jejich aktivní použití na cvičeních bude vyžadováno. Studenti ovládající dobře jiné vývojové IDE jej mohou použít s tím, že odevdávané domácí úkoly musí jít kompilovat pomocí gcc na aise (viz [[public:pb071#odevzdavani|Odevzdávání]]). | * Na cvičeních se pracuje primárně ve vývojovém prostředí QT Creator s využitím překladače gcc. Součástí výuky je i používání debuggeru a dalších vývojových nástrojů - jejich aktivní použití na cvičeních bude vyžadováno. Studenti ovládající dobře jiné vývojové IDE jej mohou použít s tím, že odevdávané domácí úkoly musí jít kompilovat pomocí gcc na aise (viz [[public:pb071#odevzdavani|Odevzdávání]]). | ||
+ | === Náhrada odpovědníku === | ||
+ | * pokud má student **omluvenou** neúčast na cvičení (na stud. odd.), může si odpovědník nahradit na některém z dalších cvičení nebo po domluvě s cvičícím | ||
+ | * odpovědník ze cvičení s **neomluvenou** neúčastí **nelze nahradit** | ||
+ | * student může nahradit celé cvičení (včetně odpovědníku) v jiné skupině, ale pouze ve **stejném týdnu**, ve kterém na cvičení chybí | ||
===== Domácí úkoly ===== | ===== Domácí úkoly ===== | ||
* Během semestru bude zadáno 5 domácích úkolů + 1 bonusový. | * Během semestru bude zadáno 5 domácích úkolů + 1 bonusový. | ||
Řádek 78: | Řádek 91: | ||
Body za konkrétní domácí úkol se skládají z následujících částí: | Body za konkrétní domácí úkol se skládají z následujících částí: | ||
* **Míra funkčnosti programu** po konci odevzdávání [0 ... 9 bodů] (počítá se dosažené maximum ze všech pokusů) | * **Míra funkčnosti programu** po konci odevzdávání [0 ... 9 bodů] (počítá se dosažené maximum ze všech pokusů) | ||
- | * **Bonus za kompletně funkční program** po konci odevzdávání [0 ... 3 bodů]. Pokud je příklad napoprvé odevzdán jako plně funkční a dodržuje [[public:pb071_konvencec|konvence o vhodném způsobu programování v jazyku C/C++]], tak student získává 3 body. Za každou opravu cvičícím s nalezenou chybou je z tohoto bonusu stržen 1 bod. Pokud není program po konci odevzdávání plně funkční, není tento bonus vůbec udělen. | + | * **Bonus za kompletně funkční program** po konci odevzdávání [0 ... 3 bodů]. Pokud je program napoprvé odevzdán plně funkční a dodržuje [[public:pb071_konvencec|konvence o vhodném způsobu programování v jazyku C/C++]], tak student získává 3 body. Za každé další odevzdání naostro je z tohoto bonusu stržen 1 bod. Pokud není program ani po konci odevzdávání plně funkční, není tento bonus vůbec udělen. |
- | * Body za korektní vypracování **bonusového rozšíření příkladu** [0 ... 4 body] | + | * **OD HW04**: Pokud student odevzdá plně funkční řešení **bez bonusu**, může odevzdat **jednu** verzi s bonusem bez stráty bonusu za kompletně funkční program. |
+ | * Body za korektní vypracování **bonusového rozšíření příkladu** [0 ... 4 body]. Tento bonus se uděluje pouze pokud je program plně funkční. | ||
* Body za **včasné odevzdání** alespoň 3 dny předem (72 hodin), [0 ... 2 body] | * Body za **včasné odevzdání** alespoň 3 dny předem (72 hodin), [0 ... 2 body] | ||
* za odevzdání //nanečisto// s hodnocením 3 bodů se udělí 1 bonusový bod, | * za odevzdání //nanečisto// s hodnocením 3 bodů se udělí 1 bonusový bod, | ||
Řádek 97: | Řádek 111: | ||
**Příklad 6:** Student odevzdá úkol napoprvé kompletně funkční program, pouze v bonusu za 2 body je chyba. Oprava se mu vyplatí, protože odevzdaním napodruhé ztrácí pouze jeden bod. Získává 9 + (3 - 1) + 2 = 13 bodů (z 14 maximálně možných). I kdyby bonus neopravil, tak získává 11 bodů, korektnost bonusu se do korektnosti celého příkladu nepočítá). | **Příklad 6:** Student odevzdá úkol napoprvé kompletně funkční program, pouze v bonusu za 2 body je chyba. Oprava se mu vyplatí, protože odevzdaním napodruhé ztrácí pouze jeden bod. Získává 9 + (3 - 1) + 2 = 13 bodů (z 14 maximálně možných). I kdyby bonus neopravil, tak získává 11 bodů, korektnost bonusu se do korektnosti celého příkladu nepočítá). | ||
- | **Příklad 7:** Student odevzdá úkol kompletně funkční program bez bonusu (i na několikátý pokus). Může se pokusit dodatečně odevzdat jednou verzi s bonusem. | + | **Příklad 7:** Student odevzdá kompletně funkční program bez bonusu (i na několikátý pokus). Může se pokusit dodatečně odevzdat jednou verzi s bonusem. Pokud odevzdá bonus s chybou, může odevzdat znovu, ale přijde o jeden bonusový bod za počet odevzdání. |
Odevzdáním úkolu //včas// ze dále myslí alespoň 72 hodin před koncem odevzdávání, //pozdě// méňe než 72 hodin. | Odevzdáním úkolu //včas// ze dále myslí alespoň 72 hodin před koncem odevzdávání, //pozdě// méňe než 72 hodin. | ||
Řádek 114: | Řádek 128: | ||
* Termín nejzazšího odevzdání úkolu je uveden vždy na stránce se zadáním úkolu. | * Termín nejzazšího odevzdání úkolu je uveden vždy na stránce se zadáním úkolu. | ||
* Každý program má v zadání uvedeno, jak se má jmenovat; tyto názvy je třeba dodržovat – vyučujícím to umožňuje kontrolu, včetně automatického odevzdání nanečisto. Speciálně si zkontrolujte velká a malá písmenka všech odevzdávaných souborů. | * Každý program má v zadání uvedeno, jak se má jmenovat; tyto názvy je třeba dodržovat – vyučujícím to umožňuje kontrolu, včetně automatického odevzdání nanečisto. Speciálně si zkontrolujte velká a malá písmenka všech odevzdávaných souborů. | ||
- | * Odevzdáním se rozumí uložení zdrojového programu do SVN repozitáře a spuštění skriptu (viz dále), který informuje vás i cvičícího o výsledku automatické kontroly. Pouhé uložení programu do repozitáře nestačí – vyučující neví, zda je to již konečný tvar programu a nemůže dost dobře pořád kontrolovat, zda už byl program odevzdán. | + | * Odevzdáním se rozumí uložení zdrojového programu do GIT repozitáře a spuštění skriptu (viz dále), který informuje vás i cvičícího o výsledku automatické kontroly. Pouhé uložení programu do repozitáře nestačí – vyučující neví, zda je to již konečný tvar programu a nemůže dost dobře pořád kontrolovat, zda už byl program odevzdán. |
* Zdrojový program nesmí při překladu výše uvedeným překladačem a parametry hlásit chyby ani varování. Pokud jsou při překladu nalezeny chyby nebo varování (používáme na překlad ''-Werror''), testy se vůbec nespouští a student přichází o jeden odevzdávací pokus. | * Zdrojový program nesmí při překladu výše uvedeným překladačem a parametry hlásit chyby ani varování. Pokud jsou při překladu nalezeny chyby nebo varování (používáme na překlad ''-Werror''), testy se vůbec nespouští a student přichází o jeden odevzdávací pokus. | ||
* Celý program musí být uložen v souborech se jmény výslovně požadovanými v zadání. Pokud je v zadání požadováno pouze vytvoření určité části programu, musíte pro ni sestavit svůj testovací program ''main'' pro vlastní odzkoušení, i když cvičící použije jiný testovací ''main''. | * Celý program musí být uložen v souborech se jmény výslovně požadovanými v zadání. Pokud je v zadání požadováno pouze vytvoření určité části programu, musíte pro ni sestavit svůj testovací program ''main'' pro vlastní odzkoušení, i když cvičící použije jiný testovací ''main''. | ||
Řádek 141: | Řádek 155: | ||
* //Visibility// ponechte na //private// a toto nastavení **nikdy neměnte**, jinak lze takové nastavení považovat za opisování! | * //Visibility// ponechte na //private// a toto nastavení **nikdy neměnte**, jinak lze takové nastavení považovat za opisování! | ||
* klikněte na //Create project// | * klikněte na //Create project// | ||
- | * povolte přistup k projektu skupině ''pb071'' | + | * povolte přistup k projektu uživateli ''kontr'' |
* klikněte na ozubené kolečko v pravém horním rohu a vyberte //Members// | * klikněte na ozubené kolečko v pravém horním rohu a vyberte //Members// | ||
- | * pod //Set a group to share// vyberte skupinu ''pb071'' a změnte //Max access level// na //Reporter// | + | * do pole //Search for members to update or invite// vpište ''kontr'' a změnte právo z //Guest// (výchozí) na //Reporter// |
- | * klikněte na //Share// | + | * klikněte na //Add to project// |
+ | * **můžete** přidat právo svému cvičícímu a poradcům | ||
* **dalším osobám přístup nepřidávejte**, takové nastavení lze považovat za opisování! | * **dalším osobám přístup nepřidávejte**, takové nastavení lze považovat za opisování! | ||
- | * základy používání repozitáře viz [[pb071:git|Git Tutoriál]] | + | * základy používání repozitáře viz [[https://www.fi.muni.cz/pb071/tutorials/git/|Git Tutoriál]] |
* vytvořený repozitář **nikdy** nemažte | * vytvořený repozitář **nikdy** nemažte | ||
* pokud potřebujete odstranit nějaký soubor, smažte jej v lokálním adresáři a proveďte ''commit'' a ''push'' | * pokud potřebujete odstranit nějaký soubor, smažte jej v lokálním adresáři a proveďte ''commit'' a ''push'' |