Koncepcja języków programowania Kierunek studiów: Informatyka
Kod programu: W4-S2INA19.2020

Nazwa modułu: Koncepcja języków programowania
Kod modułu: W4-INA-S2-20-F-KJP
Kod programu: W4-S2INA19.2020
Semestr:
  • semestr letni 2021/2022
  • semestr zimowy 2021/2022
  • semestr letni 2020/2021
Język wykładowy: angielski
Forma zaliczenia: zaliczenie
Punkty ECTS: 4
Opis:
Celem zajęć jest uzupełnienie wiedzy studentów dotyczącej zasad projektowania i implementowania programów komputerowych w wybranych językach reprezentujących podejście imperatywne, funkcyjne i logiczne. Studenci rozwijają swoją wiedzę i umiejętności stosowania różnych paradygmatów programowania, poznając koncepcje języków programowania charakterystycznych dla tych paradygmatów.
Wymagania wstępne:
(brak informacji)
Literatura podstawowa:
1. R.W. Sebesta: Concepts of programming languages. Pearson, 2012. 2. C. Ghezzi: Programming language concepts. Wiley, 1996. 3. S. Haridi, P. Van Roy: Programowanie. Koncepcje, techniki i modele. Helion, 2005. 4. A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman: Kompilatory. Reguły, metody i narzędzia. WNT, 2002. 5. I. Graham: Metody obiektowe w teorii i praktyce. WNT, 2004. 6. P. Coad, J. Nicola: Programowanie obiektowe. ReadMe, 1993. 7. Z.J. Czech: Wprowadzenie do obliczeń równoległych. PWN, 2013. 8. B. Eckel: Thinking in C++. Helion, 2002. 9. B. Eckel: Thinking in Java. Helion, 2011. 10. A. Key: The Early History of Smalltalk. ACM, 1993. 11. U. Nilsson, J. Małuszyński: Logic, programming and Prolog. Wiley, 2000.
Efekt modułowy Kody efektów kierunkowych do których odnosi się efekt modułowy [stopień realizacji: skala 1-5]
Zna paradygmaty programowania: programowanie proceduralne, programowanie obiektowe, programowanie strukturalne, współbieżne, programowanie imperatywne, funkcyjne i logiczne (programowanie w logice) oraz ich powiązanie z architekturą komputerów (w tym równoległych i wieloprocesorowych) [M_001]
K_W02 [1/5] K_W04 [1/5]
Rozumie podstawowe konstrukcje programistyczne oraz zna typy danych języków imperatywnych oraz konstrukcje programistyczne charakterystyczne dla podejścia logicznego i funkcyjnego [M_002]
K_W04 [1/5] K_W05 [1/5]
Ma wiedzę dotyczącą implementacji mechanizmów charakterystycznych dla konkretnego paradygmatu programowania w wybranych językach programowania [M_003]
K_W02 [1/5] K_W04 [1/5] K_W08 [1/5] K_W09 [1/5]
Potrafi skonstruować rozwiązanie podanego problemu zgodnie z określonym paradygmatem programowania i zapisać go w wybranym języku programowania [M_004]
K_U01 [1/5] K_U02 [1/5] K_U03 [1/5]
Potrafi stosować podejście obiektowe, strukturalne, funkcyjne i deklaratywne w wybranych językach programowania [M_005]
K_U01 [1/5] K_U02 [1/5] K_U03 [1/5]
Potrafi sprawdzić niezawodność programu komputerowego za pomocą testowania w wybranym środowisku programistycznym i udokumentować program [M_006]
K_U01 [1/5] K_U02 [1/5] K_U04 [1/5] K_U09 [1/5]
Student potrafi pracować w zespole projektowo-programistycznym [M_007]
K_K01 [1/5] K_K03 [1/5] K_K05 [1/5]
Typ Opis Kody efektów modułowych do których odnosi się sposób weryfikacji
Ocena prezentacji i implementacji komputerowej [W_001]
Studenci wykonują samodzielnie oprogramowanie, którego specyfikacja jest podawana przez prowadzącego oraz prezentacje na wybrany z zestawu temat
M_001 M_002 M_003 M_004 M_006 M_007
Praca kontrolna [W_002]
Kolokwium pisemne (w tym test wykonany na komputerze w czasie zajęć)
M_001 M_002 M_003 M_005
Zaliczenie końcowe [W_003]
Studenci odpowiadają na pytania testowe oraz opisują zagadnienia w odpowiedzi na pytania otwarte
M_001 M_002 M_003 M_004 M_005 M_006
Rodzaj prowadzonych zajęć Praca własna studenta Sposoby weryfikacji
Typ Opis (z uwzględnieniem metod dydaktycznych) Liczba godzin Opis Liczba godzin
wykład [Z_001]
Podanie treści kształcenia w formie werbalnej z wykorzystaniem wizualizacji treści. Skupienie się na materiale trudnym pojęciowo i wskazanie źródeł. Ilustracja treści za pomocą przykładów.
15
Zapoznanie się z tematyką wykładu z wykorzystaniem istniejących pakietów metod: podręczników, skryptów, stron internetowych itp.
30 Zaliczenie końcowe [W_003]
laboratorium [Z_002]
Szczegółowe przygotowanie studentów do rozwiązywania zadań ze wskazaniem na metodologię postępowania, wskazaniem kolejności wykonywanych czynności. Projektowanie rozwiązań i ich implementacja komputerowa. Prezentowanie przez studentów swoich rozwiązań.
30
Rozwiązywanie zadań z poszczególnych tematów wraz z analizą rozwiązań już istniejących – w materiałach i na stronach internetowych. Przygotowanie zagadnień do przedyskutowania lub przygotowanie się do nadrobienia zaległości
45 Ocena prezentacji i implementacji komputerowej [W_001] Praca kontrolna [W_002]
Załączniki
Opis modułu (PDF)
Informacje o sylabusach mogą ulec zmianie w trakcie trwania studiów.
Sylabusy (USOSweb)
Semestr Moduł Język wykładowy
(brak danych)