Laboratorium to uzupełnia
wykład dr Tomasza Marksa pod tym samym
tytułem. Zakres wykładów:
- Wprowadzenie. Literatura. Struktura programu w języku C. Schemat blokowy. Analiza przykładowego programu.
- Podstawowe typy danych. Definiowanie stałych. Deklaracje zmiennych i tablic. Operatory: arytmetyczne, logiczne,
relacyjne (bitowe - później) i wyrażenia. Operator przypisania, dekrementacji/inkrementacji, op. warunkowy, op. połączenia
(przecinek), sizeof. Instrukcja warunkowa if. Przykłady.
- Pętle: while, for, do-while. Przykłady. Instrukcja break, continue, goto. Przykłady. Instrukcja switch.
- Tablice jednowymiarowe, wskaźniki. Przykłady.
- Operacje na wskaźnikach. Funkcje: definiowanie, deklarowanie i wywołanie.
- Tablice 2-wymiarowe. cd operacji wskaźnikowych.
- Alokacja pamięci: malloc, calloc, free.
- Typ char. Zmienne i stałe znakowe. Tablice znakowe, łańcuchy znakowe. Inicjowanie. Przetwarzanie napisów: funkcje
własne.
- cd łańcuchy znakowe: funkcje biblioteczne z serii str...
- Struktury i unie. Przykładowe definicje. Deklaracje typedef. Inicjowanie. Odwołania do składowych.
- Tworzenie i przetwarzanie list - podstawowe operacje. Przykłady. Rekurencja. Przykłady.
- Operacje na plikach (fopen, fread, fwrite, fclose, lseek, itp.). Przykłady użycia.
- Operatory bitowe. Stałe całkowite: dziesiętne, szesnastkowe, ósemkowe.
- Definiowanie funkcji o zmiennej liczbie argumentów. Wskaźniki do funkcji i ich wykorzystanie.
- Programy wielomodułowe. Wpisy
Na pierwszym roku zajęcia te są poświęcone językowi C. Laboratorium jest prowadzone w formie 1,5 godzinnych zadań
ocenianych na bieżąco.
Zasady oceniania
- Zajęcia laboratoryjne obejmują wykonanie 13 zadań o różnym stopniu trudności. Za każde zadanie można otrzymać maksymalnie
5 punktów.
- Dopuszczenie do wykonania zadania może być uwarunkowane zaliczeniem kolokwium wstępnego. Zadanie powinno być
wykonane, zaprezentowane i ocenione w czasie zajęć.
- Zadania powinny być wykonywane samodzielnie, z możliwością konsultowania problemów z prowadzącym zajęcia.
W tym celu, w czasie zajęć, możliwość korzystania z Internetu jest ograniczona tylko do materiałów udostępnionych przez prowadzącego i wykładowcę.
Skorzystanie z innych zasobów sieciowych, w tym z udostępnionych przez kolegów, będzie wiązało się z zakończeniem pisania danego programu i oceną 0.
- W nadzwyczajnych sytuacjach, niezależnych od studenta, prowadzący może zezwolić na dokończenie zadania w domu,
ustalając nową (niższą) maksymalną ocenę w zależności od stopnia zaawansowania
pracy wykonanej na zajęciach. Programy kończone w domu należy zaprezentować najpóźniej podczas następnych zajęć.
UWAGA: wiąże się to ze stratą czasu na realizację kolejnego zadania.
- Przy ustalaniu oceny bierze się pod uwagę:
- zrozumienie i analizę treści zadania (struktura programu) - 0,5 pkt.
- zakres merytoryczny zrealizowanego w etapach zadania, wykorzystane środki formalne języka C - 4,0 pkt. (rozdzielone na poszczególne etapy)
- aspekty użytkowe interfejsu oraz stronę estetyczną napisanego programu (kodu źródłowego) - 0,5 pkt.
Uwaga! Program, który po skończeniu czasu przeznaczonego na jego napisanie nie buduje się prawidłowo, może być oceniony maksymalnie na 1 pkt.
Zaliczenie
Ocena końcowa z przedmiotu wystawiana jest jako średnia ważona - oceny z wykładu (waga 0,2) i laboratorium (waga 0,8).
- Ocena z wykładu wystawiana jest na podstawie procentowego udziału sumy uzyskanych punktów do sumy punktów możliwej do uzyskania ze wszystkich
sprawdzianów ocenianych w skali 0-10 pkt.;
- Ocena z laboratorium wystawiana jest na podstawie procentowego udziału sumy uzyskanych punktów do sumy punktów możliwej
do uzyskania ze wszystkich ćwiczeń
Oceny z wykładu i laboratorium wystawiane są wg następującej zależności:
- (50%, 60%] - 3,0
- (60%, 70%] - 3,5
- (70%, 80%] - 4,0
- (80%, 90%] - 4,5
- (90%, 100%] - 5,0
Nieobecność na zajęciach laboratoryjnych równoważna jest 0 pkt., w przypadku nieobecności usprawiedliwionej te zajęcia nie wliczają się
do powyższej zależności.
Spóźnienie na zajęcia powyżej 15 minut automatycznie jest odnotowane jako nieobecność.
Łączna liczba nieobecności (usprawiedliwionych i nieusprawiedliwionych) nie może być większa niż 3 (trzy), w tym nieusprawiedliwionych nie więcej niż jedna.
Studenci są zobowiązani wtedy do zrealizowania materiału we własnym zakresie i przedstawienia rozwiązania zadania prowadzącemu (bez punktów), aby na kolejnych
zajęciach nie tracić czasu na uzupełnianie rozwiązań programowych realizowanych podczas nieobecności.
Na ostatnich zajęciach osoby, którym brakuje do lepszej oceny nie więcej niż 5 pkt, mogą uzyskać dodatkowe punkty
przez zrobienie dodatkowego zadania, uwzględniającego cały zakres przedstawionego na wykładzie materiału.
Zaliczenie eksternistyczne
Możliwe jest także eksternistyczne zaliczenie laboratorium przez wykonanie projektu zatwierdzonego przez prowadzącego.
Osoby chcące zaliczać w tej formie powinny to uzgodnić z prowadzącym najdalej na drugich zajęciach w semestrze.
Na trzecich zajęciach otrzymają specjalne zadanie mające charakter kolokwium kwalifikującego do pracy w tym trybie.
Wymagania dla projektów eksternistycznych:
- ciekawy i nietrywialny problem,
- dokładna specyfikacja projektu,
- porządnie napisany program z dobrze sformatowanym kodem źródłowym,
- dokumentacja źródłowa w kodzie,
- dokumentacja użytkownika.
Zaliczanie projektu eksternistycznego:
- etapy kontrolne: beta (5), release candidate (10) i final (15) (w nawiasach podano graniczny numer zajęć),
- każdy etap musi uzyskać pozytywną ocenę,
- po etapie beta prowadzący zajęcia może projekt całkowicie zdyskwalifikować, dlatego do tego czasu zaleca się
uczestniczyć w zajęciach w trybie normalnym,
- po etapie release candidate, w przypadku braku szansy na ukończenie projektu zawierającego wszystkie elementy języka omawiane na wykładzie,
prowadzący zajęcia może projekt zamknąć i od tego momentu należy uczestniczyć w zajęciach w trybie normalnym,
- przy ustalaniu oceny ostatecznej mogą być brane pod uwagę oceny etapów pośrednich.