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

Programowanie I

Informacje ogólne

Kod przedmiotu: 1000-I1Prog1
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: 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
Wymagania wstępne:

Zaliczenie przedmiotu Podstawy algorytmiki i programowania (1000-I1PAiP).

Rodzaj przedmiotu:

przedmiot obligatoryjny

Całkowity nakład pracy studenta:

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

20 godzin - przygotowywanie się do zajęć - wykonywanie zadań domowych i/lub indywidualnych projektów oraz w razie potrzeby konsultacje z prowadzącym laboratorium

10 godzin - przygotowywanie się do zajęć - powtarzanie materiału z "teoretycznej" części laboratorium

15 godzin - praca własna - przygotowanie do zaliczenia laboratoriów (w szczególności kolokwiów programistycznych)

Razem: 75 godzin, 3 punkty ECTS

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.

Efekty uczenia się - kompetencje społeczne:

Po ukończeniu kursu student(ka):

K1: potrafi przekazywać innym swoją wiedzę i przemyślenia w zrozumiały sposób; właściwie rozumie sformułowania pytań i problemów, poprawnie posługuje się terminologią fachową - K_K02;

K2: rozumie potrzebę ciągłego doskonalenia się - K_K03.



Metody dydaktyczne poszukujące:

- ćwiczeniowa
- doświadczeń
- laboratoryjna
- projektu

Skrócony opis:

Przedmiot przeznaczony jest dla studentów pierwszego roku kierunku Informatyka, którzy I semestrze na przedmiocie Podstawy algorytmiki i programowania (1000-I1PAiP) 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++) (1000-I1PR2), Programowanie sieciowe (1000-I1SKO) i Programowanie Równoległe i Rozproszone (1000-I1PRR).

Pełny opis:

Zajęcia obejmują następująca tematykę:

  • 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;

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.

Zajęcia w cyklu "Semestr letni 2022/23" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 16 miejsc więcej informacji
Koordynatorzy: Jerzy Białkowski
Prowadzący grup: Jerzy Białkowski, Marcin Gąsiorek, Mariusz Kaniecki, Łukasz Mikulski, Marcin Piątkowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2023/24" (zakończony)

Okres: 2024-02-20 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 16 miejsc więcej informacji
Koordynatorzy: Jerzy Białkowski
Prowadzący grup: Jerzy Białkowski, Łukasz Górski, Tomasz Grzona, Mariusz Kaniecki, Marcin Piątkowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2024/25" (jeszcze nie rozpoczęty)

Okres: 2025-02-24 - 2025-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 16 miejsc więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: Jerzy Białkowski, Tomasz Grzona, Mariusz Kaniecki, Marcin Piątkowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - 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 mapa serwisu USOSweb 7.1.0.0-4 (2024-09-03)