Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:jimp2:2016:start [2016/04/28 16:23]
msl [Jak wysyłać wyniki]
pl:dydaktyka:jimp2:2016:start [2019/06/27 15:50] (aktualna)
Linia 14: Linia 14:
   * **Ocena końcowa** jest średnią ocen z pierwszej i drugiej części semestru. Każdą z nich trzeba niezależnie od siebie zaliczyć.   * **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++ ===== ===== I część: Podstawy programowania obiektowego w C++ =====
  
Linia 78: Linia 81:
 ^ 1. | [[.:​part2:​ex:​ex1|Szablony funkcji]] ​             | 1 tydzień | 2 os. | 28.04 | ^ 1. | [[.:​part2:​ex:​ex1|Szablony funkcji]] ​             | 1 tydzień | 2 os. | 28.04 |
 ^ 2. | [[.:​part2:​ex:​ex2|Szablony klas]] ​                | 1 tydzień | 2 os. | 05.05 | ^ 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 | 
 +^ 6. | [[.:​part2:​ex:​ex6|Drzewa]] ​                       | Poprawa czerwcowa | 1 os | 29.06 |
 ==== Jak wysyłać wyniki ==== ==== Jak wysyłać wyniki ====
  
-  - Przetestować kod: +  - Przetestować kod: <code bash>​g++ ​-std=c++11 ​*.cpp -o test && ./​test</​code>​ 
-    - <code bash>g++ *.cpp -o test && ./​test</​code>​ +    ​:!: proszę użyć kompilatora ''​gcc''​ w wersji ''​4.8.x''​ (tak jak na serwerze borg) 
-    ​:!: 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ę nie kompiluje:
-    ​proszę go **nie** wysyłać, nie ma po co+    ​proszę go **nie** wysyłać, nie ma po co
   - Jeżeli kod się 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. <code bash>​mkdir 0_Slazynski_Kutt</​code>​     - 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>​     - 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>​     - 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 mslaz@agh.edu.pl z tematem: ''​[JIMP2] Ćwiczenie nr <numer ćwiczenia>'',​ np. ''​[JIMP2] Ćwiczenie nr 1''​ +    - 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 biorących ​udział w ćwiczeniu, np. ''​Mateusz Ślażyński & Krzysztof Kutt''​+    - 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 :!:     - :!: załączyć archiwum z ćwiczeniem,​ to ważne :!:
     - :!: nacisnąć przycisk wyślij i odczekać chwilę nie przerywając połączenia z internetem :!:     - :!: nacisnąć przycisk wyślij i odczekać chwilę nie przerywając połączenia z internetem :!:
     - dostać punkty z dobrze wykonaną robotę 8-)     - 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 ===== ===== Przydatne materiały =====
  
Linia 114: Linia 146:
   * [[http://​www.eclipse.org/​|Eclipse IDE for C/C++]]   * [[http://​www.eclipse.org/​|Eclipse IDE for C/C++]]
   * [[http://​www.microsoft.com/​express/​Windows/​|MS Visual Studio Express Edition]]   * [[http://​www.microsoft.com/​express/​Windows/​|MS Visual Studio Express Edition]]
- 
 ==== Platformy online z zadaniami do ćwiczenia programowania ==== ==== Platformy online z zadaniami do ćwiczenia programowania ====
  
pl/dydaktyka/jimp2/2016/start.1461853389.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (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