Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:dydaktyka:jimp2:2016:start [2016/06/13 12:45]
msl [Organizacja zajęć i zasady zaliczenia]
pl:dydaktyka:jimp2:2016:start [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Języki i Metody Programowania 2 - Semestr letni 2015/2016 ====== 
-  * **Kierunek**:​ Informatyka 
-  * **Rok**: I 
-  * **Prowadzący**:​ 
-    * [[http://​home.agh.edu.pl/​~kkutt/​|mgr inż. Krzysztof Kutt]] (I połowa semestru) 
-    * [[http://​home.agh.edu.pl/​~mslaz/​|mgr inż. Mateusz Ślażyński]] (II połowa semestru) 
  
-===== Organizacja zajęć i zasady zaliczenia ===== 
- 
-  * Ogólne zasady, które Państwa **obowiązują**:​ [[http://​geist.agh.edu.pl/​pub:​teaching:​gris|GRIS]] - proszę przeczytać,​ zrozumieć, ew. wątpliwości zgłosić na 1.-2. zajęciach 
-    * Proszę zwrócić uwagę na sposób informowania Państwa o aktualnościach,​ tryb konsultacji,​ zasady dotyczące kolokwiów i obecności. 
- 
-  * 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 {{:​pl:​dydaktyka:​jimp2:​2016:​jimp2-ok.pdf|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 ==== 
-^L.p.^ Termin ^ Laboratorium ^ 
-^1.|25.02.2016|[[.:​labs:​wprowadzenie|Wprowadzenie do programowania w C++]]| 
-^2.|03.03.2016|[[.:​labs:​pamiec-i-pliki|Dynamiczne zarządzanie pamięcią i operacje na plikach]]| 
-^3.|10.03.2016|[[.:​labs:​klasy1|Klasy i obiekty I]]| 
-^4.|17.03.2016|[[.:​labs:​klasy2|Klasy i obiekty II]]| 
-^5.|31.03.2016|[[.:​labs:​operatory|Przeciążanie operatorów]]| 
-^6.|07.04.2016|[[.:​labs:​dziedziczenie|Dziedziczenie i polimorfizm]]| 
-^7.|14.04.2016|Kolokwium| 
- 
-Laboratoria uzupełniające - **obowiązują na kolokwium!** 
-  - [[.:​labs:​wskazniki|Wskaźniki i referencje]] - powtórka z C przed laboratorium [[.:​labs:​pamiec-i-pliki|Dynamiczne zarządzanie pamięcią i operacje na plikach]] 
-  - [[http://​home.agh.edu.pl/​~gjn/​dydaktyka/​UGLX/​node10.html|Makefile]] - opis budowania programów w środowisku UNIX, potrzebne do laboratorium [[.:​labs:​klasy1|Klasy i obiekty I]] 
- 
-==== Zasady zaliczenia ==== 
- 
-  * Na zaliczenie pierwszej części semestru składają się: 
-    * Ćwiczenia na laboratoriach:​ 6 lab * 5 pkt = 30 pkt 
-    * Kolokwium: 30 pkt 
-  * 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ń. 
-    * 5 plusów = 1 pkt 
- 
-  * Rozwiązania zadań na **plusy** można przedstawić **TYLKO na zajęciach**. 
-  * Rozwiązania zadań na **punkty** można przedstawić **na zajęciach albo przesłać mailem** na [[kkutt@agh.edu.pl]] przed kolejnymi zajęciami (najpóźniej minutę przed rozpoczęciem kolejnych zajęć; np. jeżeli jest się zapisanym do grupy w czwartek o 08:00, zadania można wysłać do 07:59 w dniu kolejnych zajęć). 
-  * Na laboratorium można pracować **pojedynczo lub w parach** 
- 
-=== 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: 
-    * Nie mają zaliczenia lub 
-    * nie pisały kolokwium i posiadają usprawiedliwienie (osoby takie mogą pisać tylko zaległe kolokwium/​a). 
-  * 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 ==== 
- 
-Nie zmieściłyby się tutaj, więc proszę zajrzeć na [[.:​part2:​org:​start|oddzielną stronę]]. 
- 
-==== Ćwiczenia ==== 
- 
-Zanim zaczniesz pisać program zapoznaj się z [[.:​part2:​org:​codepolicy|wymaganymi konwencjami]] 
- 
-^ L.p. ^ Tytuł ^ Czas trwania ^ Grupa ^ Deadline ^ 
-^ 1. | [[.:​part2:​ex:​ex1|Szablony funkcji]] ​             | 1 tydzień | 2 os. | 28.04 | 
-^ 2. | [[.:​part2:​ex:​ex2|Szablony klas]] ​                | 1 tydzień | 2 os. | 05.05 | 
-^ 3. | [[.:​part2:​ex:​ex3|Szablony + dziedziczenie]] ​     | 1 tydzień | 2 os. | 12.05 | 
-^ 4. | [[.:​part2:​ex:​ex4|Kontenery,​ cd.]]                | 1 tydzień | 2 os. | 02.06 |  
-^ 5. | [[.:​part2:​ex:​ex5|Iteratory]] ​                    | 1 tydzień | 2 os. | 09.06 | 
-==== Jak wysyłać wyniki ==== 
- 
-  - Przetestować kod: <code bash>g++ -std=c++11 *.cpp -o test && ./​test</​code>​ 
-    * :!: 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: 
-    * proszę go **nie** wysyłać, nie ma po co 
-  - 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. <code bash>​mkdir 0_Slazynski_Kutt</​code>​ 
-    - skopiować istotne pliki do tego katalogu, np. <code bash>cp *.cpp *.h ./​0_Slazynski_Kutt</​code>​ 
-    - proszę spakować folder do archiwum zip, rar, 7z, lub tar.gz, np. <code bash>tar -zcf 0_Slazynski_Kutt.tar.gz 0_Slazynski_Kutt</​code>​ 
-    - wysłać paczkę na mail [[mailto:​mslaz@agh.edu.pl|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ę 8-) 
-  - inne formy wysyłania zadań spotkają się z moją niechybną dezaprobatą i niekonstruktywną krytyką m( 
-    * przewidywane kary w postaci składania własnoręcznie spisanej miażdżącej samokrytyki ​ 
-    * wizyta w worku pokutnym w dziekanacie pro  
-    * no i brak punktów 
- 
-==== Automatyczne formatowanie kodu ==== 
- 
-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 [[http://​astyle.sourceforge.net/​install.html|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. 
-<code bash> 
-astyle --style=1tbs *.cpp *.h 
-</​code>​ 
-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: 
-<code bash> 
-astyle -s4 -xG -S -O -n -o -k3 -H -p -j *.cpp *.h 
-</​code>​ 
-Jeżeli kogoś przeraża wpisywanie tak wielu opcji, wystarczy zapisać konfigurację jako domyślną: 
-<code bash> 
-echo "-s4 -xG -S -O -n -o -k3 -H -p -j" > ~/.astylerc 
-</​code>​ 
- 
-=== Alternatywy === 
- 
-  * [[http://​uncrustify.sourceforge.net/​|uncrustify]] - bardzo popularne narzędzie do formatowania kodu 
-  * [[http://​clang.llvm.org/​docs/​ClangFormat.html|clang-format]] - oparte o llvm narzędzie wspierane przez wiele narzędzi programistycznych. [[http://​clangformat.com/​|http://​clangformat.com/​]] pozwala generować dla niego konfiguracje. 
-  * [[http://​universalindent.sourceforge.net/​|universalindent]] - graficzne narzędzie do formatowania kodu 
-===== Przydatne materiały ===== 
- 
-  * [[http://​www.cppreference.com/​wiki/​start|C++ Reference]] 
-  * 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 
- 
-  * [[https://​fffaraz.github.io/​awesome-cpp/​|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 :-) 
-  - [[.:​labs:​wyjatki|Wyjątki]] 
-  - [[.:​labs:​dziedziczenie-ex|Dziedziczenie i polimorfizm -- przykłady]] 
-  - [[.:​labs:​stl|Biblioteka standardowa]] 
- 
-==== Narzędzia ==== 
-  * Uniksowy kompilator **g%%++%%** ​ 
-  * [[http://​www.eclipse.org/​|Eclipse IDE for C/C++]] 
-  * [[http://​www.microsoft.com/​express/​Windows/​|MS Visual Studio Express Edition]] 
-==== Platformy online z zadaniami do ćwiczenia programowania ==== 
- 
-  * https://​www.hackerrank.com/​domains 
-  * https://​www.topcoder.com/​login/?​next=%252Fmy-dashboard%252F 
-  * https://​leetcode.com 
-  * https://​projecteuler.net 
-  * http://​pl.spoj.com/​problems/​latwe/​ 
pl/dydaktyka/jimp2/2016/start.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0