Uniwersytet Warszawski, Wydział Fizyki - Centralny System Uwierzytelniania
Strona główna

Programowanie II R

Informacje ogólne

Kod przedmiotu: 1100-2Ind16
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie II R
Jednostka: Wydział Fizyki
Grupy: Fizyka, ścieżka indywidualna; przedmioty dla II roku
Strona przedmiotu: http://glach.wikidot.com/p2r
Punkty ECTS i inne: 3.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Kierunek podstawowy MISMaP:

fizyka

Założenia (opisowo):

Przedmiot uczy programowania w języku C++ od zera do poziomu powyżej podstawowego.


Przeznaczony jest dla Studentów znających już podstawy jakiegoś współczesnego języka programowania (np. Python), i rozumiejących podejście algorytmiczne, instrukcje warunkowe, pętle i funkcje.

Tryb prowadzenia:

w sali

Skrócony opis:

Wykład i ćwiczenia stanowią intensywne wprowadzenie do programowania w języku C++ — od zera do poziomu pisania własnego kodu obiektowego, używającego standardowych bibliotek (w tym STL) i do czytania rozumieniem kodu napisanego przez inne osoby lub AI.

Do zaliczenia jest wymagane uzyskanie ponad połowy punktów z:

— projektów zaliczeniowych (dwóch)

— kolokwium (pisemnego),

— egzaminu pisemnego.

Egzamin możliwy jest też w sesji poprawkowej. Zaliczenie eksternistyczne / egzamin w trybie zerowym — prośba o kontakt z wyprzedzeniem.

Pełny opis:

— C++ vs Python, podstawy skladni: if, while, do…while, bloki kodu

— deklarowanie funkcji, parametry opcjonalne i wartości domyślne

— użycie rekurencji, prototypy funkcji

— biblioteka <iostream>, przestrzenie nazw

— typy danych, sprzętowa realizacja typów danych

— typy signed i unsigned, konwersja typów

— reprezentacja typów float i double

— wskaźniki, arytmetyka wskaźników

— przekazywanie argumentów funkcji przez wartość i przez referencję

— tablice statyczne, tablice dynamiczne, new, delete

— kontener vector z STL, iteratory

— pętla for (w tym składnia z C++11)

— inne struktury danych ST: list, set, unordered_set, deque, map

— algorytmy z STL na kontenerach STL i na tablicach

— struktury i unie

— programowanie obiektowe i klasy

— zmienne prywatne i publiczne, enkapsulacja

— konstruktory, destruktory, konstruktor kopiujący

— dziedziczenie, metody wirtualne, klasy abstrakcyjne

— szablony funkcji

— złożoność podstawowych algorytmów algebry liniowej

— jaką złożoność ma liczenie odwrotności macierzy?

— numeryczna algebra liniowa i implementacja za pomocą szablonów

— biblioteka eigen

Literatura:

Polecane zasoby internetowe:

https://pl.wikibooks.org/wiki/C++

https://www.cplusplus.com/

https://www.cprogramming.com/

http://stackoverflow.com

Efekty uczenia się:

Student(ka) pozna C++ w stopniu powyżej podstawowego.

Będzie umieć zakodować algorytm z warunkami, pętlami i funkcjami.

Będzie umieć zaprojektować klasę i zarządzać jej obiektami, uogólnić typy, na którym pracuje funkcja i klasa, jak też wytworzyć klasy dziedziczące.

Student(ka) będzie umieć posługiwać się głównymi strukturami danych z podstawowej biblioteki szablonów (STL).

Zarządzi obsługą pliku tekstowego (zapis i odczyt) poprzez strumienie.

Przy pomocy wyjątków obsłuży również sytuacje nietypowe.

Będzie znać podstawy programu make do kompilacji kodów wielo-plikowych.

Metody i kryteria oceniania:

ocena = f(p1+p2+p3+p4), gdzie:

x f(x)

>=90 5

81-89 4+

72-80 4

62-71 3+

50-61 3

p1 — oceny z projektów zaliczeniowych (0-40)

p2 — aktywność na ćwiczeniach (0-20)

p3 — ocena z kolokwium (0-20)

p4 — ocena z egzaminu (0-20)

Praktyki zawodowe:

nie dotyczy

Zajęcia w cyklu "Semestr letni 2024/25" (zakończony)

Okres: 2025-02-17 - 2025-06-08
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Grzegorz Łach
Prowadzący grup: Piotr Dziekan, Grzegorz Łach, Jędrzej Wardyn
Lista studentów: (nie masz dostępu)
Zaliczenie: Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2025/26" (jeszcze nie rozpoczęty)

Okres: 2026-02-16 - 2026-06-07
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Grzegorz Łach
Prowadzący grup: Piotr Dziekan, Grzegorz Łach
Lista studentów: (nie masz dostępu)
Zaliczenie: Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Fizyki.
ul. Pasteura 5, 02-093 Warszawa tel: +48 22 5532 000 https://www.fuw.edu.pl/ kontakt deklaracja dostępności mapa serwisu USOSweb 7.2.0.0-11 (2025-12-17)