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

Programowanie

Informacje ogólne

Kod przedmiotu: 1100-1F23
Kod Erasmus / ISCED: 11.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (brak danych)
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 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 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). Grupy 2,3,4,5 i 9 prowadzone są na poziomie podstawowym, a pozostałe 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" (w trakcie)

Okres: 2024-02-19 - 2024-06-16
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 30 godzin, 70 miejsc więcej informacji
Wykład, 15 godzin, 70 miejsc więcej informacji
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ę
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 USOSweb 7.0.3.0 (2024-03-22)