Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE. Zapoznanie studentów z podstawowymi paradygmatami. C2. Nabycie przez studentów umiejętności w zakresie wyboru odpowiedniego języka do rozwiązania postawionego zadania. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI 1. Wiedza z zakresu matematyki. 2. Wiedza z podstaw w językach wysokiego poziomu. 3. Umiejętności prawidłowej interpretacji i prezentacji własnych działań. EFEKTY KSZTAŁCENIA EK 1 potrafi wymienić i scharakteryzować typy danych w językach zarówno proste jak i złożone. Potrafi wyjaśnić różnice pomiędzy statycznymi i dynamicznymi systemami typów. Poprawnie wykorzystuje różne typy danych w tworzonych przez programach. EK 2 potrafi zdefiniować czas życia zmiennej, wymienić i scharakteryzować jego rodzaje oraz opisać jak są tworzone i niszczone zmienne lokalne, globalne i umieszczane na stercie. Poprawnie wykorzystuje zmienne w programie. EK 3 zna i potrafi wykorzystać różne rodzaje mechanizmów parametrów do podprogramu. EK 4 zna lambda. EK 5 zna koncepcje funkcyjnego oraz podstawy w wybranym języku funkcyjnym. EK 6 zna kluczowe koncepcje w logice oraz podstawy w wybranym języku w logice. TREŚCI PROGRAMOWE PARADYGMATY PROGRAMOWANIA Programming paradigms Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 1W E, 2L Kod przedmiotu: C4_14 Rok: II Semestr: IV Liczba punktów: 5 ECTS Forma zajęć WYKŁADY Liczba godzin W 1 Wprowadzenie do tematyki wykładu 1 W 2 Typy danych w językach. 1
W 3 Zmienne w językach. 1 W 4 Nazwy i ich wiązanie. 1 W 5 Abstrakcje programistyczne. 1 W 6 Rachunek Lambda. 1 W 7 Wstęp do funkcyjnego. 2 W 8 Programowanie funkcyjne na przykładzie języka Scheme. 2 W 9 Wstęp do w logice. 2 W 10 Programowanie w logice na przykładzie języka Prolog. 2 W 11 Programowanie obiektowe. 1 Forma zajęć LABORATORIUM Liczba godzin L 1 Zaznajomienie się z tematyką laboratorium. 2 L 2 Programowanie imperatywne I. 2 L 3 Programowanie imperatywne II. 2 L 4 Programowanie imperatywne III. 2 L 5 Wprowadzenie do środowiska dr Scheme. 2 L 6 Rachunek lambda. 2 L 7 Programowanie funkcyjne w Scheme I. 2 L 8 Programowanie funkcyjne w Scheme II. 2 L 9 Programowanie funkcyjne w Scheme III. 2 L 10 Programowanie w logice I. 2 L 11 Programowanie w logice II. 2 L 12 Programowanie w logice III. 2 L 13 Programowanie obiektowe w języku IO I. 2 L 14 Programowanie obiektowe w języku IO II. 2 L 15 Zaliczenie przedmiotu. 2 NARZĘDZIA DYDAKTYCZNE 1. wykład z wykorzystaniem prezentacji multimedialnych 2. ćwiczenia laboratoryjne 3. przykładowe aplikacje w przedstawianych technologiach programistycznych 4. stanowiska do ćwiczeń wyposażone w wymagane oprogramowanie SPOSOBY OCENY ( F FORMUJĄCA, P PODSUMOWUJĄCA) F1. ocena przygotowania do ćwiczeń laboratoryjnych F2. ocena umiejętności stosowania zdobytej wiedzy podczas wykonywania ćwiczeń F3. ocena aktywności podczas zajęć P1. ocena umiejętności rozwiązywania postawionych problemów zaliczenie na ocenę* P2. ocena opanowania materiału nauczania będącego przedmiotem wykładu egzamin *) warunkiem uzyskania zaliczenia jest otrzymanie pozytywnych ocen ze wszystkich ćwiczeń laboratoryjnych, OBCIĄŻENIE PRACĄ STUDENTA Forma aktywności Godziny kontaktowe z prowadzącym Godziny konsultacji z prowadzącym Średnia liczba godzin na zrealizowanie aktywności 15W 30L 45 h 5 h 2
Godziny przeznaczone na egzamin Zapoznanie się ze wskazaną literaturą Przygotowanie do ćwiczeń laboratoryjnych Wykonanie sprawozdań z realizacji ćwiczeń laboratoryjnych, projektów (czas poza zajęciami laboratoryjnymi) Przygotowanie do egzaminu (kolokwium) 3 h 22 h 15 h 10 h 25 h Suma 125 h SUMARYCZNA LICZBA PUNKTÓW ECTS DLA PRZEDMIOTU Liczba punktów ECTS, którą student uzyskuje na zajęciach wymagających bezpośredniego udziału prowadzącego Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym, w tym zajęć laboratoryjnych i projektowych 5 ECTS 2.7 ECTS 2.2 ECTS LITERATURA PODSTAWOWA I UZUPEŁNIAJĄCA W.F. Clocksin, C.S. Mellish Prolog. Programowanie, Helion 2003 M. Felleisen, R.B. Findler, M. Flatt, S. Krishnamurthi Projektowanie o, Helion 2003. R. K. Dybvig The Scheme Programming Language - http://www.scheme.com/tspl3/ D. Watt Programming Language Design Concepts, Wiley 2004 M. Scott Programming Language Pragmatics, Morgan Kaufmann 2009 PROWADZĄCY PRZEDMIOT ( IMIĘ, NAZWISKO, ADRES E-MAIL) 1. dr inż. Łukasz Bartczuk Lukasz.Bartczuk@kik.pcz.pl Efekt kształcenia EK1 EK2 EK3 Odniesienie danego efektu do efektów zdefiniowanych dla całego programu (PEK) Cele przedmiotu Treści programowe W1,2,7,8,10,11 L2-4,7-14 W1,3-11 L2-4,7-14 W1,5-11 L2-4,6-9,13-14 Narzędzia dydaktyczne Sposób oceny EK4 W1,6-8 3
EK5 EK6-2 -2 L6-9 W1,7-8 L6-9 W1,9-01 L10-12 II. FORMY OCENY - SZCZEGÓŁY Efekt 1 Student potrafi wymienić i scharakteryzować typy danych w językach zarówno proste jak i złożone. Potrafi wyjaśnić różnice pomiędzy statycznymi i dynamicznymi systemami typów. Efekt 2 Student potrafi zdefiniować czas życia zmiennej, wymienić i scharakteryzować jego rodzaje oraz opisać jak są tworzone i niszczone zmienne lokalne, globalne i umieszczane na stercie. Efekt 3 rodzaje mechanizmów parametrów do podprogramu. Na ocenę 2 Na ocenę 3 Na ocenę 4 Na ocenę 5 Student dobrze Potrafi wykorzystać wykorzystać wbudowane proste wbudowane typy w typy danych oraz danych do tworzenia pełni wykorzystać tablice do tworzenia o w typy danych w o w różnych językach tworzonych przez różnych językach, jak programach,. również potrafi zarówno w językach Student tworzyć własne typy o statycznym jak i ćwiczenia z pomocą danych na podstawie dynamicznym prowadzącego. typów typowaniu. wbudowanych. zmienne lokalne i globalne w Student ćwiczenia z pomocą prowadzącego. Zna oraz potrafi wykorzystać Student dowolne zmienne w Student Zna oraz potrafi wykorzystać dobrze zmienne w Zna teoretyczne podstawy mechanizmu Garbage Collector. dobrze wykorzystać różne metody 4
Efekt 4 lambda. Efekt 5 zna koncepcje funkcyjnego oraz podstawy w wybranym języku funkcyjnym. Efekt 6 zna kluczowe koncepcje w logice oraz podstawy w wybranym języku w logice. danych w językach imperatywnych. Student ćwiczenia z pomocą prowadzącego. omówić rachunku lambda. Z pomocą prowadzącego Z pomocą prowadzącego danych w językach imperatywnych i funkcyjnych. lambda. Potrafi omówić rachunku lambda oraz przedstawione zadania. Student Student danych zarówno w językach imperatywnych, jak i funkcyjnych. lambda. Potrafi omówić rachunku lambda oraz przedstawione zadania. Potrafi zaimplementować operacje rachunku lambda w języku funkcyjnym. dobrze ćwiczenia, jak i o podwyższonym stopniu trudności. dobrze ćwiczenia, jak i o podwyższonym stopniu trudności. Dopuszcza się wystawienie oceny połówkowej o ile student spełniający wszystkie efekty kształcenia wymagane do oceny pełnej spełnia niektóre efekty kształcenia odpowiadające ocenie wyższej III. INNE PRZYDATNE INFORMACJE O PRZEDMIOCIE 1. Wszelkie informacje dla studentów (prezentacje do zajęć, instrukcje do ćwiczeń laboratoryjnych, przykładowe aplikacje) dostępne są na stronie internetowej http://kik.pcz.pl 2. Informacja na temat konsultacji przekazywana jest studentom podczas pierwszych zajęć z danego przedmiotu. 5