Kurs programowania w C++
Informacje ogólne
Kod przedmiotu: | 1000-213bCPP |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Kurs programowania w C++ |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obieralne narzędziowe dla informatyki Przedmioty obowiązkowe dla II roku informatyki Przedmioty obowiązkowe dla II roku JSIM - wariant 3I+4M Przedmioty obowiązkowe dla II roku JSIM - wariant 3M+4I |
Punkty ECTS i inne: |
4.00
|
Język prowadzenia: | polski |
Rodzaj przedmiotu: | obowiązkowe |
Wymagania (lista przedmiotów): | Wstęp do programowania 1000-211bWPI |
Skrócony opis: |
Celem tego przedmiotu jest pokazanie studentom nowoczesnego i efektywnego stylu programowania w języku C++. |
Pełny opis: |
1. Podstawy, biblioteka standardowa: * uruchamianie kompilatora, * elementy biblioteki standardowej: napisy, kontenery, iteratory, algorytmy, * wyrażenia regularne. 2. Zaawansowane podstawy, przestrzenie nazw: * preprocesor, * jednostki translacji, łączenie kodu w C++ z kodem w C, * deklaracje zapowiadające, * maglowanie nazw, * zakres widoczności nazw, symbole lokalne i globalne, * inicjowanie obiektów globalnych. 3. Semantyka wartości: * definiowanie typów, * konstruktory, * operatory, * interfejs publiczny, prywatny, * składowe statyczne, * referencje, * słowo kluczowe const, * obiekty stałe i tymczasowe. 4. Szablony i metaprogramowanie: * szablony klas, funkcji i metod, * szablony ze zmienną liczbą parametrów, wyrażenia rozwijane, * częściowa specjalizacja szablonu, * wyrażenia wyliczane w trakcie kompilowania. 5. Zarządzanie pamięcią, wyjątki, RAII: * wskaźniki, * typy shared_ptr, weak_ptr, unique_ptr, * typy niekompletne, * destruktor, * obsługa wyjątków, * poziomy gwarancji odporności na wyjątki, * operator przypisania Suttera, * gwarancje oferowane przez kontenery z biblioteki standardowej. 6. Polimorfizm dynamiczny, moduły: * dziedziczenie, wielodziedziczenie, dziedziczenie wirtualne, * metody wirtualne, * rzutowanie, static_cast, dynamic_cast, * moduły. 7. Programowanie funkcyjne: * wskaźniki do funkcji i do metod, * wyrażenia lambda. |
Efekty uczenia się: |
Umiejętności - absolwent potrafi: - pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02), - posługiwać się przyjętymi formatami reprezentacji różnego rodzaju danych stosownie do sytuacji (liczby, tablice, tekst) pamiętając o ich ograniczeniach, np. związanych z arytmetyką komputera (K_U08), - samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09), - zrealizować projekt informatyczny, w szczególności zaprojektować i zrealizować prosty system informatyczny, używając właściwych metod, technik i narzędzi; tworzyć, oceniać i realizować plany testowania; efektywnie uczestniczyć w inspekcji oprogramowania; posługiwać się przynajmniej jednym z popularnych systemów zarządzania wersjami (K_U16), - wykonać analizę istniejących rozwiązań informatycznych, w szczególności: ocenić, na podstawowym poziomie, przydatność rutynowych metod i narzędzi informatycznych, wybrać i zastosować właściwą metodę i narzędzia do typowych zadań informatycznych, wykonać prostą analizę sposobu funkcjonowania systemu informatycznego i ocenić istniejące rozwiązania informatyczne, przynajmniej w odniesieniu do ich cech funkcjonalnych (K_U18) Kompetencje społeczne - absolwent jest gotów do: - krytycznej oceny posiadanej wiedzy i odbieranych treści (K_K01), - pracy z poszanowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02), - uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03) |
Metody i kryteria oceniania: |
W czasie semestru studenci dostają do zaprogramowania 7 zadań o rożnym poziomie trudności. Programy tworzone są w zespołach lub indywidualnie. Rozwiązanie każdego zadania oceniane jest w skali od 0 do 10 punktów. Od sumy punktów odejmowane są punkty za powtarzanie współpracy z tymi samymi osobami. Ocena końcowa jest proporcjonalna do liczby uzyskanych punktów. |
Zajęcia w cyklu "Semestr zimowy 2024/25" (zakończony)
Okres: | 2024-10-01 - 2025-01-26 |
Przejdź do planu
PN LAB
LAB
WT LAB
ŚR LAB
CZ PT LAB
|
Typ zajęć: |
Laboratorium, 30 godzin
|
|
Koordynatorzy: | Marcin Peczarski | |
Prowadzący grup: | Jakub Pawlewicz, Marcin Peczarski, Przemysław Rutka, Wiktor Zuba | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Zaliczenie na ocenę |
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Fizyki.