Podstawy programowania (Wydział Fizyki)
Wykład: czwartek, 8:30-10:00
Laboratorium: wg planu Laboratorium Komputerowego
Zadania dla "mojej" grupy laboratoryjnej: środa 14-16
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.
- Elementy języka Assembler. Podsumowanie.
Zalecana literatura i pomoce naukowe
- B. W. Kernighan, D. M. Ritchie: Język ANSI C, WNT
- H. Schildt: Programowanie C, Wydawnictwo RM
- Ch. Preschern: Mistrz języka C, Helion
- St. Prata: Język C. Szkoła programowania., Helion
- Wikipedia
- C reference
- Standardy kodowania GNU
Zasady zaliczenia przedmiotu
- Wśród zajęć laboratoryjnych wyróżnia się:
- laboratorium przygotowawcze - 2. tydzień zajęć (niepunktowane);
- 9 laboratoriów (45 pkt.) poprzedzonych wejściówkami (18 pkt.);
- 4 laboratoria kontrolne (40 pkt.) - 6., 10., 14. i 15. tydzień zajęć.
- Na 5 losowo wybranych wykładach zostanie sprawdzona obecność w postaci quizu - każdy konkurs to możliwość zdobycia dodatkowych 2 punktów.
- Ocena końcowa wystawiana jest wg następującej zależności sumy zdobytych punktów - pod warunkiem uzyskania z zajęć kontrolnych ponad 20 pkt.:
- (50, 60] - 3,0
- (60, 70] - 3,5
- (70, 80] - 4,0
- (80, 90] - 4,5
- (90, 113] - 5,0
Regulamin zajęć laboratoryjnych
- 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 4 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: 5 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.
- Jedną ocenę z zajęć laboratoryjnych z każdego bloku pomiędzy zajęciami kontrolnymi (czyli w sumie maksymalnie 3) można nadpisać w trakcie semestru oceną z fakultatywnego projektu domowego. Materiał projektu obejmuje z grubsza obszar poprzedzającego go bloku zajęć, zaś jego rozmiar powinien wynosić co najmniej dwukrotność standardowego programu pisanego na zajęciach. Tematy projektów oraz termin i formę ich odbioru ustalają prowadzący zajęcia laboratoryjne.
- 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.
- Podczas zajęć kontrolnych wymagana jest 100% praca samodzielna. Można natomiast korzystać ze slajdów wykładowych, wcześniejszych własnych programów oraz notatek i podręczników do programowania.
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)