Programowanie
Informacje ogólne
Kod przedmiotu: | 1100-1F23 |
Kod Erasmus / ISCED: |
11.3
|
Nazwa przedmiotu: | Programowanie |
Jednostka: | Wydział Fizyki |
Grupy: |
Fizyka, I stopień; przedmioty obowiązkowe dla I roku Fizyka, ścieżka standardowa; przedmioty dla I roku Nauczanie fizyki; przedmioty dla I roku |
Punkty ECTS i inne: |
3.00
|
Język prowadzenia: | polski |
Kierunek podstawowy MISMaP: | fizyka |
Założenia (opisowo): | Przedmiot przeznaczony jest dla studentów, którzy mają nieduże doświadczenie z programowaniem w języku C++ lub nigdy w tym języku nie programowali. Jest prowadzony na dwóch poziomach: 1) podstawowym - dla osób, które nigdy nie programowały w żadnym języku lub uważają programowanie za trudny przedmiot 2) średnio-zaawansowanym - dla pozostałych osób. Dla osób, które nigdy wcześniej nie zetknęły się z językiem C++, ale umieją programować w jakimś innym języku, np. w Python lepszym wyborem będzie poziom średnio-zaawansowany. Uwaga !!!! Przy rejestracji do grup proszę zwrócić uwagę na poziom grupy (w uwagach). W roku 2024/2025 grupy 2,3,4 i 7 prowadzone są na poziomie podstawowym, a grupy 1,5,6,8 i 9 na średnio-zaawansowanym. Na obu poziomach zaczniemy od zupełnych podstaw, ale na poziomie trudniejszym na początkowe tematy poświęcimy niewiele czasu. Na poziomie podstawowym nie będzie elementów programowania obiektowego i wobec tego kryteria zaliczenia na obu poziomach będą inne. Zalecane jest zaliczenie przedmiotów: Technologie Informacyjne i Komunikacyjne 1100-1F11 lub 1100-1Ind12 |
Tryb prowadzenia: | w sali |
Skrócony opis: |
Ćwiczenia będą poświęcone opanowaniu języka C++ w zakresie składni, podstawowych elementów a także podstawowych struktur danych. Wykład jest w dużym procencie wprowadzeniem do tego co będzie robione na ćwiczeniach . Od pewnego momentu wykłady będą zawierały materiał, który będzie na ćwiczeniach przerabiany tylko w grupach średnio-zaawansowanych. |
Pełny opis: |
Program: 1. Wprowadzenie a) C++ a Python i inne języki programowania b) Algorytmy, kod źródłowy jako zapis algorytmu c) Kod źródłowy i program, kompilacja, uruchamianie programu d) Jak stworzyć środowisko do pisania programów w C++ e) Reprezentacje liczb i znaków w komputerze 2. Podstawy języka C++ a) Najprostszy program, struktura programu b) Standardowe strumienie wejściowe i wyjściowe c) Zmienne, operatory i wyrażenia d) Instrukcja warunkowa i pętle e) Funkcje f) Wybrane elementy składni z nowych wersji języka C++ 3. Proste tablice i pojemniki STL a) Tablice jednowymiarowe i ich zastosowania b) "Inteligentna" tablica - vector z biblioteki STL Poziom średnio-zaawansowany: c) Inne pojemniki STL d) Więcej o zwykłych tablicach e) Wskażniki f) Argumenty funkcji main g) Dynamiczne rezerwowanie pamięci 4. Strumienie a) Więcej o standardowym wejściu i wyjściu b) Praca z plikami Poziom średnio-zaawansowany: c) istringstream,ostringstream 4. Klasy Poziom średnio-zaawansowany: a) Konstruktory, prywatne i publiczne metody b) Funkcje get i set, przyjaciele c) Przeładowanie operatorów d) Klasa string Tylko na wykładzie: - podstawy obsługi wyjątków w C++ (opcjonalnie) - dziedziczenie, funkcje wirtualne, polimorfizm - make/makefiles (opcjonalnie) Nakład pracy studenta: Wykład = 15 godzin tygodniowo Ćwiczenia = 30 godzin tygodniowo Praca w domu - im więcej praktyki tym lepiej |
Literatura: |
J. Grębosz, Symfonia C++ standard (dostępna w dużych ilościach w bibliotece, zawiera większość przerabianego materiału). J.Grębosz opisał nowsze standardy języka C++ w kontynuacjach/rozszerzeniach tej książki. |
Efekty uczenia się: |
Studenci, którzy zaliczą przedmiot, powinni: na poziomie podstawowym: --------------------------------------------- znać składnię języka C++; umieć zapisać proste algorytmy; znać podstawowe instrukcje sterujące (pętle, instrukcje warunkowe), umieć tworzyć własne funkcje, korzystać z tablic i pojemnika vector, wczytywać dane z tekstowych plików i zapisywać wyniki działania programów do plików. Powinni także umieć korzystać z internetowej bazy danych zawierajacej informacje o standardowej bibliotece C++. Na poziomie zaawansowanym dodatkowo: ---------------------------------------------------------------------- studenci powinni między innymi znać podstawy programowania obiektowego i umieć tworzyć własne klasy; umieć korzystać ze wskaźników,, używać argumentów funkcji main i różnych pojemników STL. |
Metody i kryteria oceniania: |
Zasady zaliczenia 2022/2023 i 2023/2024 Na obu poziomach zaawansowania zadania będą dostosowane do poziomu grupy (= do zakresu materiału), ale elementy zaliczenia będą takie same : 1) Sześć mini-"kartkówek" przy komputerach na pierwszych 5-10 min ćwiczeń 2) Kolokwium pisane na kartkach - koniec semestru 3) Na końcowych ćwiczeniach większy projekt pisany przy komputerach Warunkiem uzyskania zaliczenia jest uzyskanie co najmniej połowy punktów z kolokwium i kartkówek (sumarycznie) i co najmniej połowy punktów za projekt. Dodatkowe punkty można otrzymać za mini-testy, które odbywają się na ostatnich pięciu minutach każdego wykładu. Zasady zaliczenia 2020/2021: 1) Sprawdzian pisany na kartkach: dwa programy + pytania testowe z wykładu. 2) 5-minutowe "kartkówki" przy komputerze na początku każdych ćwiczeń. 3) Duży program do napisania w domu + rozmowa zaliczeniowa na temat tego programu i materiału wykładowego w czasie sesji. 4) Obecność na ćwiczeniach (można mieć co najwyżej dwie nieusprawiedliwione nieobecności). Na ćwiczeniach wymagana jest znajomość materiału wykładowego z wszystkich wykładów wygłoszonych przed terminem danych ćwiczeń. Możliwe jest zaliczenie eksternistyczne. Tylko na początku semestru. |
Zajęcia w cyklu "Semestr letni 2023/24" (zakończony)
Okres: | 2024-02-19 - 2024-06-16 |
Przejdź do planu
PN WYK
CW
CW
CW
WT CW
CW
ŚR CW
CW
CZ CW
CW
CW
PT |
Typ zajęć: |
Ćwiczenia, 30 godzin, 70 miejsc
Wykład, 15 godzin, 70 miejsc
|
|
Koordynatorzy: | Katarzyna Grzelak | |
Prowadzący grup: | Julia Derlikiewicz, Klaudia Dilcher, Adam Gonstal, Katarzyna Grzelak, Tomasz Mikołajków, Michał Suchorowski, Mateusz Zych | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę |
Zajęcia w cyklu "Semestr letni 2024/25" (w trakcie)
Okres: | 2025-02-17 - 2025-06-08 |
Przejdź do planu
PN WYK
CW
CW
CW
WT CW
CW
ŚR CW
CZ CW
CW
CW
PT |
Typ zajęć: |
Ćwiczenia, 30 godzin, 70 miejsc
Wykład, 15 godzin, 70 miejsc
|
|
Koordynatorzy: | Katarzyna Grzelak | |
Prowadzący grup: | Katarzyna Grzelak, Mateusz Kucharczyk, Tomasz Mikołajków, Gabriela Niechwiadowicz, Jan Orliński, Dominika Szczepanik, Tomasz Tarkowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę |
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Fizyki.