Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Programowanie I

Informacje ogólne

Kod przedmiotu: 1000-I1PR1
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Programowanie I
Jednostka: Wydział Matematyki i Informatyki
Grupy:
Punkty ECTS i inne: 4.00 (zmienne w czasie) 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.

zobacz reguły punktacji
Język prowadzenia: polski
Wymagania wstępne:

Zaliczenie przedmiotu Podstawy programowania.

Rodzaj przedmiotu:

przedmiot obowiązkowy

Całkowity nakład pracy studenta:

1. Godziny realizowane z udziałem nauczycieli - 46(45+1) godzin (do cyklu 2021/2022 włącznie) lub 30 godzin (od cyklu 2022/2023 włącznie), w tym

* wykład (do cyklu 2021/2022 włącznie) - 15 godzin

* laboratorium 30 godzin (w tym przynajmniej 1 kolokwium programistyczne)

* test teoretyczny (do cyklu 2021/2022 włącznie) - 1 godzina

2. Czas potrzebny na pracę indywidualną studenta - 30 godzin, w tym

20 godzin na przygotowanie się do laboratorium (wykonywanie zadań)

10 godzin na powtórzenie materiału z wykładu (do cyklu 2021/2022 włącznie) lub z "teoretycznej" części laboratorium (od cyklu 2022/2023 włącznie)

3. Czas potrzebny na przygotowanie się i uczestnictwie w procesie oceniania - 30 godzin (do cyklu 2021/2022 włącznie) lub 15 godzin (od cyklu 2022/2023 włącznie)

15 godzin na powtórzenie materiału do kolokwium programistycznego

15 godzin na powtórzenie materiału do testu teoretycznego (do cyklu 2021/2022 włącznie)

Efekty uczenia się - wiedza:

Po ukończeniu kursu student(ka):

W1: zna podstawowe konstrukcje programistyczne języka C - K_W03;

W2: zna zasady kompilacji i uruchamiania programów napisanych w języku C - K_W07;

W3: zna zasady programowania strukturalnego, zarządzania pamięcią w języku C oraz używania w tym języku wskaźników - K_W04.

W4: zna zasady używania algorytmów iteracyjnych oraz rekurencyjnych - K_W04.


Efekty uczenia się - umiejętności:

Po ukończeniu kursu student(ka):

U1: potrafi pisać programy w języku C oraz je kompilować i uruchamiać, a także je testować w wybranym środowisku programistycznym (Code blocks, Geany, Eclipse, Visual Studio) - K_U05;

U2: umie czytać ze zrozumieniem programy napisane w języku C - K_U06;

U3: umie implementować algorytmy iteracyjne oraz rekurencyjne oraz potrafi szacować koszt czasowy (odpowiednio pamięciowy) implementowanych algorytmów - K_U07.

U4: potrafi tworzyć w języku C programy używające stałych symbolicznych, typów wyliczeniowych, struktur i unii - K_U07.

U5: potrafi zarządzać alokacją pamięci w tworzyć przez siebie programach pisanych w języku C - K_U07.


Metody dydaktyczne:

* wykład (do cyklu 2021/2022 włącznie)

* laboratorium

Metody oceniania:

* kolokwium programistyczne

* test wielokrotnego wyboru (do cyklu 2021/2022 włącznie)

Skrócony opis:

Przedmiot przeznaczony jest dla studentów pierwszego roku kierunku Informatyka, którzy I semestrze na przedmiocie Podstawy programowania (1000-I1PPR) i poznali podstawy programowania strukturalnego.

W trakcie zajęć studenci powinni nauczyć się programowania w języku C (zgodnie ze standardem ANSI). Podczas tej nauki szczególny nacisk będzie położony na poznanie i opanowanie technik programistycznych (takich jak korzystanie ze struktur,wskaźników, alokowanie pamięci, odczyt i zapis blokowy), które będą używane na innych przedmiotach na kierunku Informatyka, w szczególności na przedmiotach Programowanie II (C++), Sieci Komputerowe II i Programowanie Równoległe i Rozproszone.

Pełny opis:

  • Podstawowe elementy języka C: struktura programu, typy, zmienne, operatory, wyrażenia, instrukcje, pliki nagłówkowe, komentarze, funkcje, kompilacja i uruchamianie programów.
  • Tablice, wskaźniki, zarządzanie pamięcią.
  • Struktury, unie i typy wyliczeniowe. Implementacja złożonych modeli danych (stos, kolejka, lista, lista dwukierunkowa, drzewo). Konwersja typów.
  • Operacje wejścia–wyjścia (znakowe i blokowe), strumienie, operacje na plikach, deskryptory.
  • Zaawansowane używanie funkcji: wskaźniki do funkcji, przekazywanie argumentów przez wartość i przez adres, funkcje o zmiennej liczbie argumentów.
  • Operacje na łańcuchach znaków.
  • Fazy kompilacji programów, opcje kompilacji, automatyczna optymalizacja i śledzenie programów.
Literatura:

Literatura podstawowa - pozycje źródłowe:

  1. B.W. Kernighan, D.M. Ritchie, Język ANSI C, Wydawnictwa Naukowo-Techniczne, Warszawa.
  2. H. Schildt, Język C, Oficyna Wydawnicza LTP, Warszawa 1997-2002.
  3. K.N. King, Język C. Nowoczesne programowanie, Helion, Gliwice, 2011.
  4. S. Prata, Język C. Szkoła programowania, Robomatic (wcześniejsze wydania), Helion (późniejsze wydania, np. 2014).
  5. H. Schildt, Programowanie: C, RM, Warszawa 2002.
  6. Dokumentacja systemowa (w szczególności polecenia man, info).

Książki z zadaniami (zbiory zadań):

  1. C. L. Tondo, S. E. Gimpel, Język ANSI C. Ćwiczenia i rozwiązanina., Wydawnictwa Naukowo-Techniczne, Warszawa 2003.
  2. C. Delannoy, Ćwiczenia z języka C, Wydawnictwa Naukowo-Techniczne, Warszawa 1993.
  3. R. Jones, I. Stewart , Sztuka programowania w języku C, Wydawnictwa Naukowo-Techniczne, Warszawa 1992.
Metody i kryteria oceniania:

Kolokwium programistyczne - W1, W2, U1, U3, U4, U5;

Test wielokrotnego wyboru - W1, W2, W3, W4, U2;

Programy pisane w ramach Zawodów WEB - W1, W2, U1;

Programy pisane w ramach zadań domowych i indywidualnych zadań - U1, U3, U4, U5.

Aktywność -

Laboratoria kończą się zaliczeniem na ocenę. Podstawowym kryterium niezbędnym do otrzymania zaliczenia powinno być zaliczenie programistycznego kolokwium (przynajmniej jednego) polegającego na napisaniu w określonym czasie pod kontrolą osoby prowadzącej zajęcia zadanych programów. Programy powinny być pisane na komputerach z działającym kompilatorem i debuggerem oraz ze standardową dokumentacją języka. W szczególnych przypadkach (i przy wcześniejszym zaliczaniu) wyróżniające się osoby mogą otrzymać indywidualne projekty zamiast wspomnianego kolokwium. Przy ustalaniu oceny należy też uwzględnić rozwiązywanie zadań domowych oraz aktywność na zajęciach.

Wykład (od cyklu 2016/2017 do cyklu 2021/2022) kończył się zaliczeniem na ocenę. Przy jej ustalaniu była brana pod uwagę ocena zaliczenia laboratorium oraz wynik zaliczenia (teoretycznego) testu.

Uwaga: w latach akademickich 2019/2020 i 2020/2021 wyjątkowo (z powodu pandemii) test teoretyczny został przeprowadzony zdalnie, pod platformą Moodle. Z tego testu nie była wystawiana ocena, a jedynie podawana była informacja o zaliczeniu. Osoby które zaliczyły test miały przepisaną ocenę z laboratorium jako ocenę z wykładu.

W przypadku ponownego nałożenia restrykcji pandemicznych rozważane będzie przywrócenie tego sposobu zaliczania.

W takim przypadku test zostanie otwarty po planowym zakończeniu zajęć. Ilość możliwych podejść (na pewno będzie ich więcej niż jedno) a także dokładny termin (terminy) testu zostaną ustalone w terminie późniejszym (po wprowadzeniu obostrzeń i po zatwierdzeniu harmonogramu zajęć stacjonarnych).

Zajęcia w cyklu "Semestr letni 2021/22" (zakończony)

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 15 godzin, 150 miejsc więcej informacji
Koordynatorzy: Jerzy Białkowski
Prowadzący grup: Jerzy Białkowski, Adam Hajduk, Mariusz Kaniecki, Damian Kurpiewski, Marcin Piątkowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - 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 Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)