Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Programowanie I (C,C++)

Informacje ogólne

Kod przedmiotu: 1000-I1PR1 Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Programowanie I (C,C++)
Jednostka: Wydział Matematyki i Informatyki
Grupy: Informatyka, studia I stopnia, 1 rok
Informatyka, studia I stopnia, 2 rok
Informatyka, studia inżynierskie 1 stopnia, 1 rok
Przedmioty z polskim językiem wykładowym
Punkty ECTS i inne: 4.00
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 - 45 godzin, w tym

* wykład - 15 godzin

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

* test teoretyczny - 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

3. Czas potrzebny na przygotowanie się i uczestnictwie w procesie oceniania - 30 godzin

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

15 godzin na powtórzenie materiału do testu teoretycznego

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

* laboratorium

Metody oceniania:

* kolokwium programistyczne

* test wielokrotnego wyboru

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) kończy się zaliczeniem na ocenę. Przy jej ustalaniu będzie brana pod uwagę ocena zaliczenia laboratorium oraz wynik zaliczenia (teoretycznego) testu.

Uwaga: w roku akademickim 2019/2020 wyjątkowo (z powodu pandemii) test teoretyczny zostanie przeprowadzony zdalnie, pod platformą Moodle. Z tego testu nie będzie wystawiana ocena, a jedynie podawana będzie informacja o zaliczeniu. Osoby które zaliczą test będą miały przepisaną ocenę z laboratorium jako ocenę z wykładu.

Test zostanie otwarty po planowym zakończeniu zajęć, nie wcześniej niż 23 czerwca. 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 zatwierdzeniu harmonogramu zajęć stacjonanych).

Zajęcia w cyklu "Semestr letni 2017/18" (zakończony)

Okres: 2018-02-26 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
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, Marcin Gąsiorek, Anna Gogolińska, Marcin Piątkowski, Andrzej Rutkowski, Krzysztof Rykaczewski, Jakub Siemianowski, Katarzyna Zając
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2018/19" (zakończony)

Okres: 2019-02-25 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
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, Marcin Gąsiorek, Mariusz Kaniecki, Witold Kraśkiewicz, Marcin Piątkowski, Jakub Siemianowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2019/20" (zakończony)

Okres: 2020-02-29 - 2020-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
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, Marcin Gąsiorek, Mariusz Kaniecki, Witold Kraśkiewicz, Marcin Piątkowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr letni 2020/21" (w trakcie)

Okres: 2021-02-22 - 2021-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
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, Aleksandra Boniewicz, Marcin Gąsiorek, Marcin Piątkowski, Jakub Siemianowski
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.