Języki i Metody Programowania 2 - Semestr letni 2015/2016
Kierunek: Informatyka
Rok: I
Prowadzący:
Organizacja zajęć i zasady zaliczenia
Ogólne zasady, które Państwa
obowiązują:
GRIS - proszę przeczytać, zrozumieć, ew. wątpliwości zgłosić na 1.-2. zajęciach
Zajęcia w pierwszej części semestru prowadzi mgr inż. Krzysztof Kutt.
Zajęcia w drugiej części semestru poprowadzi mgr inż. Mateusz Ślażyński.
Ocena końcowa jest średnią ocen z pierwszej i drugiej części semestru. Każdą z nich trzeba niezależnie od siebie zaliczyć.
WYNIKI
Poniższy arkusz zawiera punktację z drugiej części laboratorium oraz podsumowanie: liczbę zdobytych punktów (procentowo) na obu częściach laboratorium oraz ich średnią wartość. Na tej podstawie wpisane są tam oceny końcowe z laboratorium.
I część: Podstawy programowania obiektowego w C++
Harmonogram
Laboratoria uzupełniające - obowiązują na kolokwium!
-
-
Zasady zaliczenia
Na zaliczenie pierwszej części semestru składają się:
Powyższe punkty stanowią 100% maksymalnej łącznej liczby punktów (MAX).
Zgodnie z GRIS do wartości MAX nie wliczają się plusy za aktywność przyznawane za wykonanie odpowiednich ćwiczeń.
Kolokwium
Kolokwium rozwiązywane jest na kartkach (nie trzeba nic przynosić poza długopisem).
Kolokwium trwa 60 minut.
Obowiązuje na nim materiał ze wszystkich laboratoriów (instrukcje + zadania na plusy i punkty).
Jest 18 pytań za 1,2,3 punkty – w sumie 30 pkt za całe kolokwium.
Pytania za 1 pkt to pytania krótkiej odpowiedzi (min. 1 słowo, zwykle ok. 1 zdanie), np.: „Jakie znasz typy prymitywne (wbudowane) języka C++? Wymień co najmniej 8.”
Pytania za 2 pkt zawierają kawałek kodu w C++. Należy w nich albo odpowiedzieć na pytanie „co zostanie wyświetlone po uruchomieniu tego kodu” albo znaleźć błąd i go naprawić (błędy są w większości zaczerpnięte z programów oddawanych na laboratorium i przesyłanych na maila

)
Pytania za 3 pkt związane są z napisaniem kilku (ok. 5) linii kodu, np.: „Napisz ciało funkcji: void show(char[] filename);
która wypisuje na ekranie cały plik o nazwie filename
. Białe znaki nie muszą być zachowane w oryginalnej formie (np. zamiast trzech spacji obok siebie może być tylko jedna spacja na ekranie).
Na kolokwium należy przyjść na grupę do której jest się zapisanym, zgodnie z listami ocen udostępnianymi przez prowadzącego. Gdyby ktoś chciał przyjść na inną grupę, musi to zgłosić do prowadzącego najpóźniej tydzień przed kolokwium!
Zaliczenia poprawkowe
Do zaliczenia poprawkowego mogą przystąpić osoby które:
Do wyników uzyskanych z zaliczenia poprawkowego nie wlicza się:
plusów/minusów - w 1. terminie poprawkowym,
plusów/minusów i nieusprawiedliwionych nieobecności - w 2. terminie poprawkowym.
W 2. terminie poprawkowym można uzyskać co najwyżej ocenę 3.0.
II część: Szablony i kontenery w C++
Sprawy Organizacyjne
Ćwiczenia
Jak wysyłać wyniki
Przetestować kod:
g++ -std=c++11 *.cpp -o test && ./test

proszę użyć kompilatora
gcc
w wersji
4.8.x
(tak jak na serwerze borg)

proszę używać oryginalnego i niezmienionego pliku
main
, np.
ex1main.cpp
,
ex2main.cpp
, etc.
Jeżeli kod się nie kompiluje:
Jeżeli kod się kompiluje:
proszę stworzyć katalog o nazwie <numer_grupy>_<nazwisko1>_<nazwisko2>, gdzie numer grupy
0
oznacza grupę o 08:00, a
1
grupę o 09:30, np.
mkdir 0_Slazynski_Kutt
skopiować istotne pliki do tego katalogu, np.
cp *.cpp *.h ./0_Slazynski_Kutt
proszę spakować folder do archiwum zip, rar, 7z, lub tar.gz, np.
tar -zcf 0_Slazynski_Kutt.tar.gz 0_Slazynski_Kutt
wysłać paczkę na mail
mslaz@agh.edu.pl z tematem:
[JIMP2] Ćwiczenie nr <numer ćwiczenia>
, np.
[JIMP2] Ćwiczenie nr 1
w treści wpisać imiona i nazwiska osób wykonujących ćwiczenie, np. Mateusz Ślażyński & Krzysztof Kutt

załączyć archiwum z ćwiczeniem, to ważne


nacisnąć przycisk wyślij i odczekać chwilę nie przerywając połączenia z internetem

dostać punkty z dobrze wykonaną robotę

inne formy wysyłania zadań spotkają się z moją niechybną dezaprobatą i niekonstruktywną krytyką

W celu uniknięcia braku punktów za dobry styl kodu, polecamy stosować narzędzia automatycznie formatujące kod. Większość profesjonalnych IDE, np. Eclipse, ma je wbudowane bądź dostępne w formie wtyczki. Jeżeli ktoś preferuje narzędzia konsolowe, to polecamy AStyle, które jest dostępny na wszystkie wiodące systemy operacyjne. Narzędzi w użyciu jest bardzo proste: astyle <opcje stylu> <ścieżki do plików>
, np.
astyle --style=1tbs *.cpp *.h
sformatuje wszsytkie pliki .cpp
i .h
używając stylu One True Brace Style. Więcej dostępnych stylów i opcji można poznać czytając stronę http://astyle.sourceforge.net/astyle.html.
Na potrzeby ćwiczeń polecamy stosować styl:
astyle -s4 -xG -S -O -n -o -k3 -H -p -j *.cpp *.h
Jeżeli kogoś przeraża wpisywanie tak wielu opcji, wystarczy zapisać konfigurację jako domyślną:
echo "-s4 -xG -S -O -n -o -k3 -H -p -j" > ~/.astylerc
Alternatywy
uncrustify - bardzo popularne narzędzie do formatowania kodu
-
-
Przydatne materiały
-
Harvey M. Deitel, Paul J. Deitel, Arkana C++ - dla początkujących
Jerzy Grębosz, Symfonia/Pasja C++ - dla każdego
Bjarne Stroustrup, Język C++ - dla zainteresowanych
Awesome C/C++ - A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things
Laboratoria dodatkowe - opcjonalne, ich znajomość nie jest wymagana do kolokwium. Just for fun
-
-
-
Narzędzia