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ęcia zakoń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:

         		\[ 		\frac{suma~uzyskanych~punktow}{suma~punktow~mozliwych~do~zdobycia~-~2 * 10}~ * ~100\% 		\]

    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ń

Print Friendly