C++
Zajęcia z programowania w C++
Strona przedmiotu na USOSie: Język C++ (WFAIS.IF-C119.0)
Strona wykładu: http://www.cpp.edu.pl/
Dokumentacja bibliotek C++: http://www.cplusplus.com/reference/
Wymagania wstępne (za USOSem):
Elementarna umiejętność obsługi konta użytkownika w systemie Linux. Umiejętność sprawnej obsługi dowolnego edytora tekstowego (znakowego). Znajomość programowania w języku C w zakresie składni, które są również stosowane w języku C++.
Umiejętność kompilowania i konsolidowania programu za pomocą kompilatora gcc (g++).
Zasady zaliczenia:
- Można mieć 2 nieusprawiedliwione nieobecności; każda następna powoduje odjęcie 10 od sumy uzyskanych punktów w trakcie zajęć (czyli obniżenie oceny końcowej o ok. pół stopnia).
- Na początku każdych zajęć będzie pojawiał się "zestaw zadań" składający się z jednego lub kilku (w zależności od stopnia skomplikowania) programów do napisania – związanych w miarę możliwości z materiałem aktualnie omawianym na wykładzie. Każdy z problemów poruszanych w zestawach zadań będzie na początku zajęć szczegółowo omówiony.
- Spakowane źrodła programów (same źródła – bez binariów!) proszę przysyłać na adres piotr.lucinski[at]uj.edu.pl w ciągu tygodnia po ogłoszeniu zestawu (do
rozpoczęciazakończenia następnych zajęć). - Proszę o zachowanie następującego szablonu nazewnictwa przesyłanych archiwów:
nazwisko_imie_numerZestawu.{tar.gz|tgz|7z|zip|...}. - Programy (od zestawu II włącznie) oceniane będą następująco:
- 5 pkt za skompilowanie się źródeł oraz zgodność programu z treścią zadania (programy nie kompilujące się nie będą sprawdzane*)
- 2 pkt za zaliczenie podstawowych testów (na zwykłych danych wejściowych)
- 2 pkt za zaliczenie rozszerzonych testów (na "złośliwych" danych wejściowych):
-
1 pkt za dane dozwolone treścią zadania, ale niekoniecznie oczekiwane (np liczby <= 0)
-
1 pkt za szeroko pojętą obsługę błędów (czyli odporność programu na próby zepsucia go nieprawidłowymi danymi ;) )
-
-
1 pkt za organizację kodu (właściwy podział na funkcje, klasy, pliki)
-
bonusy:
- +1/+2 pkt za szczególnie wyróżniający się kod (ładna, spójna organizacja kodu, ciekawe rozwiązanie, …)
- +2 pkt za wysłanie rozwiązania do końca danych zajęć
- +1 pkt za wysłanie rozwiązania do końca dnia, w którym odbywały się zajęcia (do północy)
- -2 pkt za każdy tydzień spóźnienia
- -10 pkt w przypadku stwierdzenia plagiatu
- Program z I zestawu oceniany będzie następująco:
- 4 pkt za skompilowanie się źródeł (programy nie kompilujące się nie będą sprawdzane*)
- 3 pkt za zaliczenie podstawowych testów (na "zwykłych" danych wejściowych)
- 3 pkt za zaliczenie rozszerzonych testów (na "złośliwych" danych wejściowych)
- bonus 1-2 pkt za szczególnie wyróżniający się kod (ładna, spójna organizacja kodu, ciekawe rozwiązanie, …)
- bonus 2 pkt za wysłanie rozwiązania do końca danych zajęć
- anty-bonus -1 pkt za każdy tydzień spóźnienia
- anty-bonus -10 pkt w przypadku stwierdzenia plagiatu
- Nie przewiduję końcowego projektu zaliczeniowego.
- Najprawdopodobniej pod koniec semestru będzie (zapowiedziane) kolokwium, obejmujące materiał poznany w ciągu całego semestru. Zostanie ono wliczone do całościowej punktacji z wagą 3 zestawów.
- Końcowa ocena będzie wyznaczana następująco:
![Rendered by QuickLaTeX.com \[ \frac{suma~uzyskanych~punktow}{suma~punktow~mozliwych~do~zdobycia~-~2 * 10}~ * ~100\% \]](http://lootek.net/wp-content/ql-cache/quicklatex.com-4bc2b53c95d066752314649d533fc1d5_l3.png)
Przeliczenie procentów na oceny:
- 3.0 – od 50%
- 3.5 – od 60%
- 4.0 – od 70%
- 4.5 – od 80%
- 5.0 – od 90%
* do kompilacji używany będzie kompilator gcc w wersji i z argumentami podanymi w każdym zestawie zadań
