Podstawy programowania (Wydział Fizyki)
Wykład: czwartek, 8:25-9:55
Laboratorium: wg planu Laboratorium Komputerowego
Zadania dla "moich" grup laboratoryjnych: wtorek 16-18, środa 14-16 (fotonika), środa 16-18 (fizyka techniczna)
Instrukcja konfiguracji Geany »
Program wykładu
- Wprowadzenie. Struktura programu i kompilacja. Typy danych i operatory.
- Operacje wejścia/wyjścia. Operacje na plikach. Potoki.
- Operatory logiczne. Instrukcje warunkowe i pętle.
- Tablice jednowymiarowe. Wskaźniki.
- Dynamiczna alokacja pamięci. Łańcuchy znaków.
- Funkcje. Rekurencja.
- Typy wyliczeniowe, unie, struktury.
- Struktury cd. Podział programu na wiele jednostek kompilacji. Makefile.
- Typy przenośne (niezależne od architektury). Operatory bitowe. Funkcje matematyczne. Liczby zespolone.
- Wskaźniki na funkcje. Liczby losowe. Algorytmy i struktury danych.
- Tablice dwuwymiarowe. Listy jedno- i dwukierunkowe.
- Obsługa sygnałów systemowych. Data i czas. Obsługa parametrów linii komend.
- Kompilowanie własnych bibliotek. Biblioteka ncurses.
- Elementy języka C++: operatory new/delete, typy referencyjne, przeciążanie funkcji, liczby zespolone.
- Co nowego w C11? Wątki i operacje atomiczne. Podsumowanie. Wpisy.
Zalecana literatura i pomoce naukowe
- B. W. Kernighan, D. M. Ritchie: Język ANSI C, WNT
- H. Schildt: Programowanie C, Wydawnictwo RM
- Wikipedia
- C reference
- Standardy kodowania GNU
Zasady zaliczenia przedmiotu
- Wśród zajęć laboratoryjnych wyróżnia się:
- laboratorium przygotowawcze - 2. tydzień zajęć (niepunktowane);
- 10 laboratoriów (60 pkt.) poprzedzonych wejściówkami (20 pkt.);
- 3 laboratoria projektowe (30 pkt.) - 13.-15. tydzień zajęć.
- Na 5 losowo wybranych wykładach zostanie sprawdzona obecność w postaci quizu - każdy konkurs to możliwość zdobycia dodatkowego punktu.
- Ocena końcowa wystawiana jest wg następującej zależności sumy zdobytych punktów - pod warunkiem uzyskania z projektu końcowego ponad 15 pkt.:
- (50, 60] - 3,0
- (60, 70] - 3,5
- (70, 80] - 4,0
- (80, 90] - 4,5
- (90, 115] - 5,0
- Osoby szczególnie zainteresowane mogą zaliczyć przedmiot poprzez uczestnictwo w zaawansowanym laboratorium, którego sposób prowadzenia zostanie dostosowany indywidualnie do ich zdolności i potrzeb - grupy zaawansowane.
Regulamin zajęć laboratoryjnych
- Dopuszczenie do zajęć laboratoryjnych uwarunkowane jest zaliczeniem kolokwium wstępnego (wejściówki), tj. uzyskaniem minimum 50% pkt.; dopuszcza się niezaliczenie dwóch wejściówek; niezaliczenie każdej następnej skutkuje niedopuszczeniem do zajęć bez możliwości odrobienia.
- Dopuszcza się maksymalnie jedną nieobecność nieusprawiedliwioną na zajęciach oraz w sumie maksymalnie trzy nieobecności. W przypadkach dłuższej nieobecności (np. hospitalizacja), indywidualne warunki zaliczenia ustalone zostaną z wykładowcą.
- Warunkiem usprawiedliwienia nieobecności na zajęciach jest:
- okazanie dokumentu - podstawy usprawiedliwienia (np. zwolnienie lekarskie);
- okazanie uzupełnionego programu z opuszczonych zajęć (w ciągu 2 tygodni).
- Program z opuszczonych (usprawiedliwonych) zajęć może być oceniony maksymalnie na 5 pkt. Samodzielność wykonania projektu należy obronić podczas zajęć laboratoryjnych lub konsultacji.
- Studenci spóźnieni ponad 15 minut nie będą dopuszczeni do zajęć laboratoryjnych.
- Zasady oceniania programu:
- spełnienie założeń (funkcjonalności) określonych w treści zadania, w tym wykazanie się zrozumieniem i analizą problemu: 6 pkt.
- kara za niepoprawność lub złą estetykę kodu: -1 pkt.
- Program, który po skończeniu czasu przeznaczonego na jego napisanie, nie buduje się prawidłowo, może być oceniony maksymalnie na 2 pkt.
- Podczas zajęć laboratoryjnych zabrania się korzystania z telefonów komórkowych i innych środków komunikacji oraz internetu - z wyjątkiem strony z wykładami i strony prowadzącego oraz udostępnionych w treści zadania explicite odnośników.
- Podczas zajęć laboratoryjnych można korzystać z własnoręcznych notatek, wydrukowanych slajdów z wykładów oraz podręczników do nauki języka C.
UWAGA! Studenci łamiący postanowienia regulaminu (np. przeglądanie internetu, korzystanie z telefonów komórkowych lub powielanie cudzych programów) zostaną zdyskwalifikowani z zajęć laboratoryjnych (tj. kończą zajęcia z wynikiem 0, niezależnie od stopnia zaawansowania programu)