Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie w języku Erlang
Tok studiów:
2014/2015
Kod:
IIN-1-316-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
3
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
Turek Wojciech (wojciech.turek@agh.edu.pl)
Osoby prowadzące:
Turek Wojciech (wojciech.turek@agh.edu.pl)
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student zna i rozumie składnię i semantykę wybranego języka programowania IN1A_W05 Zaliczenie laboratorium
M_W002 Student zna i rozumie założenia, koncepcje, wady i zalety wybranego języka programowania IN1A_W05 Zaliczenie laboratorium
M_W003 Student zna i rozumie zasady tworzenia aplikacji w wybranym języku programowania IN1A_W05 Zaliczenie laboratorium
Umiejętności
M_U001 Potrafi korzystać z dostępnych bibliotek do rozwiązywania zadań w wybranym języku programowania IN1A_U08 Zaliczenie laboratorium
M_U002 Potrafi stworzyć algorytm i zaimplementować go w wybranym języku programowania IN1A_U08 Zaliczenie laboratorium
Kompetencje społeczne
M_K001 Potrafi zaplanować i odpowiednio wykorzystać czas przeznaczony na realizację postawionego zadania w wybranym języku programowania IN1A_K04 Zaliczenie laboratorium
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student zna i rozumie składnię i semantykę wybranego języka programowania + - - - - - - - - - -
M_W002 Student zna i rozumie założenia, koncepcje, wady i zalety wybranego języka programowania + - - - - - - - - - -
M_W003 Student zna i rozumie zasady tworzenia aplikacji w wybranym języku programowania + - - - - - - - - - -
Umiejętności
M_U001 Potrafi korzystać z dostępnych bibliotek do rozwiązywania zadań w wybranym języku programowania - - + - - - - - - - -
M_U002 Potrafi stworzyć algorytm i zaimplementować go w wybranym języku programowania - - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi zaplanować i odpowiednio wykorzystać czas przeznaczony na realizację postawionego zadania w wybranym języku programowania - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

WYKŁAD

Podstawowe założenia programowania funkcyjnego (2 godziny)
Podstawowe koncepcje i paradygmaty programowania, rachunek lambda, założenia programowania funkcyjnego, mechanizmy stosowane w językach funkcyjnych, rozszerzenia języków funkcyjnych, języki hybrydowe.

Podstawy języka Erlang (2 godziny)
Typy proste, operatory, typy złożone, zmienne, dopasowywanie wzorców, funkcje i moduły, funkcje wbudowane, instrukcje warunkowe, strażnicy.

Zaawansowane mechanizmy programowania funkcyjnego w Erlangu (2 godziny)
Rekurencja, wywołania ogonowe, list comprehensions, rekordy.

Funkcje wyższego rzędu (1 godzina)
Pojęcia, cele tworzenia funkcji wyższego rzędu, wykorzystywanie funkcji wyższego rzędu w języku Erlang.

Model aktorów, współbieżność (2 godziny)
Modele obliczeń współbieżnych, model aktorów i wymiany komunikatów, procesy w Erlangu, mechanizmy komunikacji międzyprocesowej, rejestr procesów, łączenie procesów, obsługa błędów podczas wykonania programu współbieżnego

Wzorce projektowe (2 godziny)
Wzorce projektowe Erlang OTP: serwer, automat skończony, nadzorca, aplikacja. Sposoby projektowania i implementowania systemów wysokiej dostępności w Erlangu.

Dodatkowe możliwości technologii Erlang (4 godziny)
Programowanie rozproszone, obsługa błędów, zmiana kodu w trakcie wykonania programu, interfejsy innych technologii.

Ćwiczenia laboratoryjne:

LABORATORIUM

Podstawy programowania sekwencyjnego w języku Erlang

Wykorzystanie funkcji wyższego rzędu i rekurencji ogonowej

Programowanie współbieżne w Erlangu, komunikacja międzyprocesowa

Podstawowe wzorce projektowe programowania współbieżnego

Wzorce projektowe OTP, architektury wysokiej dostępności

Programowanie rozproszone

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 75 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 15 godz
Samodzielne studiowanie tematyki zajęć 15 godz
Udział w ćwiczeniach laboratoryjnych 15 godz
Przygotowanie do zajęć 15 godz
Przygotowanie sprawozdania, pracy pisemnej, prezentacji, itp. 15 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Sposób wyznaczania oceny końcowej będzie określony dla konkretnych zgłoszonych wykładów.

Wymagania wstępne i dodatkowe:

Wymagania wstępne i dodatkowe będą określone dla konkretnych zgłoszonych wykładów.

Zalecana literatura i pomoce naukowe:

Zalecana literatura i pomoce naukowe będą określone dla konkretnych zgłoszonych wykładów.

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak