Uniwersytet Warszawski - Centralny System UwierzytelnianiaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Języki i narzędzia programowania III

Informacje ogólne

Kod przedmiotu: 1000-225bJNP3 Kod Erasmus / ISCED: 11.303 / (brak danych)
Nazwa przedmiotu: Języki i narzędzia programowania III
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty obowiązkowe dla III roku informatyki
Przedmioty obowiązkowe dla III roku JSIM - wariant 3I+4M
Punkty ECTS i inne: 2.00
Język prowadzenia: polski
Rodzaj przedmiotu:

obowiązkowe

Wymagania (lista przedmiotów):

Wstęp do programowania (podejście imperatywne) 1000-211bWPI

Skrócony opis:

Celem tego przedmiotu pokazanie studentom konkretnych języków i narzędzi programistycznych.

Pełny opis:

Celem tego przedmiotu pokazanie studentom konkretnych języków i narzędzi programistycznych. Dynamiczny rozwój informatyki pwoduje, że stale powstają nowe języki, środowiska i technologie informatyczne. Zestaw języków i narzędzi, o których warto by było opowiedzieć studentom, poszerza się z każdym rokiem. Są to zagadnienia bardzo ważne dla każdego, kto chce zajmować się praktycznymi zastosowanieami informatyki. Z drugiej strony program zajęć uniwersyteckich jest w naturany sposób nakierowany na przedstawianie tych zagadnień, które są ogólne i w małym stopniu zależne od aktualnych trendów. Nie ma też możliwości pomieszczenia w nim wszystkich pojawiających się nowości. Chcąc pogodzić ze sobą te dwie sprzeczne ze soba potrzeby (nowości i stabilności) wprowadzamy do naszego planu zajęć 30-godzinne kursy.

Literatura:

Specyficzna dla danego kursu (zwykle będzie to dokumentacja języka programowania i jego środowiska bądź dokumentacja przedstawianego narzędzia).

Efekty uczenia się:

Wiedza

Zna szczegółowo wybrane narzędzie lub język programowania [K_W02, K_W09, K_W10].

Umiejętności

Potrafi realizować projekty programistyczne w wybranym narzędziu lub języku programowania [K_U05].

Kompetencje

Potrafi samodzielnie zdobywać i pogłębiać swoją wiedzę na temat wybranego narzędzia lub języka programowania [K_K04].

Metody i kryteria oceniania:

Praca zaliczeniowa. Szczegóły podane przez prowadzącego zajęcia w grupie.

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

Okres: 2019-10-01 - 2020-01-27
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin więcej informacji
Koordynatorzy: Piotr Wasilewski
Prowadzący grup: Marcin Benke, Robert Bogucki, Błażej Osiński, Andrzej Pyskir, Michał Sierakowski, Piotr Wasilewski, Paweł Witkowski, Maciej Włodarkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Zaliczenie na ocenę
Pełny opis:

* Grupa 1 i 2. Machine Learning w praktyce. Robert Bogucki, Błażej Osiński, Andrzej Pyskir

Celem zajęć jest przybliżenie studentom praktycznej wiedzy z zakresu uczenia maszynowego. Oprócz korzystania z istniejących narzędzi, studenci będą tworzyć własne implementacje algorytmów.

Tematy:

1. Czym jest uczenie maszynowe, uczenie nadzorowane i nienadzorowane, regresja, klasyfikacja.

2. Algorytmy uczenia maszynowego (kNN, regresja liniowa i logistyczna, SVM, GBM, FM, drzewa decyzyjne, lasy losowe, ...).

3. Inżynieria i selekcja cech, techniki redukcji wymiaru, regularyzacja, ocena jakości modelu.

4. Narzędzia (R, scikit-learn, Vowpal Wabbit).

5. Uczenie maszynowe online.

6. Ensembling modeli, meta-klasyfikacja.

7. Sieci neuronowe i deep learning.

8. Case study.

9. Przetwarzanie tekstu (Bag of Words, N-gramy, LDA, TF-IDF).

* Grupa 3. * Grupa 3. Wstęp do programowania w z/OS. Michał Sierakowski

Celem zajęć jest przedstawienie klasycznych technik programowania w systemie operacyjnym z/OS. Program obejmuje wprowadzenie do architektury komputerów IBM Z i systemu z/OS, podstawy programowania w języku COBOL, serwer aplikacyjny CICS oraz bazę danych DB2 z uwzględnieniem interfejsu CICS-DB2. Wszystkie zawarte w programie technologie należą do uniwersalnych i najpowszechniej stosowanych technik w środowiskach z/OS, a stanowią punkt wyjścia do poznania innych mechanizmów tego systemu operacyjnego. Jednocześnie początkowa część zajęć (5 godzin) obejmująca

wprowadzenie do architektury sprzętowej jest podstawą do poznania innych, poza z/OS, systemów operacyjnych ekosystemu IBM Z: z/VM i Linux oraz funkcji realizowanych na poziomie sprzętowym (wirtualizacja, kryptografia). Będące integralną częścią przedmiotu zadania programistyczne będą realizowane w środowisku zdalnym.

1. Wstęp: wprowadzenie do architektury IBM Z i systemu operacyjnego z/OS, sesja TSO, ISPF/PDF, JCL, zarządzanie zadaniami (kolejki, SDSF), model bezpieczeństwa systemu.

2. Język COBOL: wprowadzenie do programowania w języku COBOL, struktura

programu, obsługa tablic i plików, wywoływania i łączenie, run unit, funkcje wewnętrzne i funkcje zaawansowane.

3. Serwer aplikacyjny CICS: środowisko programistyczne CICS i przegląd poleceń, tworzenie aplikacji w CICS, podstawowe wsparcie dla odwzorowań, sterowanie program-program, dostęp do danych, kolejki, programowanie komunikacji z użytkownikiem w CICS.

4. Baza danych DB2 dla z/OS: architektura, mechanizmy DB2, monitorowanie i

sterowanie, autoryzacja i transakcje, narzędzia użytkowe DB2 dla z/OS, środowisko CICS - DB2

* Grupa 4. Przetwarzanie informacji przez człowieka. Piotr Wasilewski

Celem zajęć jest przedstawienie podstawowych zagadnień związanych z przetwarzaniem informacji przez człowieka z uwzględnieniem kwestii interakcji człowiek - komputer. Zostaną omówione podstawy wyjaśniania zachowań człowieka w terminach przetwarzania informacji wraz z podstawami paradygmatu eksperymentalnego badania zachowań. Na zaliczenie zajęć studenci w małych grupach przygotują komputerowe programy eksperymentalne i przeprowadzą badania dotyczące przetwarzania informacji przez ludzi.

* Grupa 5. Systemy Zarządzania Treścią (CMS - Content Management Systems). Paweł Witkowski

Dokładne poznanie systemu Wordpress i jego zastosowanie do tworzenia standardowych serwisów internetowych. Dokładne poznanie systemu Drupal i jego zastosowanie do tworzenia serwisów z dedykowaną funkcjonalnością. Pisanie własnych rozszerzeń do systemu Drupal. Zaliczenie będzie polegało na napisaniu własnego rozszerzenia dla wybranego CMS i utworzenie serwisu internetowego z jego wykorzystaniem.

* Grupa 6. Zaawansowane programowanie funkcyjne. Marcin Benke

Celem kursu jest przedstawienie najważniejszych zagadnień nowoczesnego programowania funkcyjnego w języku Haskell. Wśród poruszanych zagadnień znajdą się m.in.

1. Podstawy programowania deklaratywnego

2. Typy i klasy

* typy podstawowe

* typy algebraiczne i klasy typów

3. Funkcje polimorficzne funkcje wyższego rzędu

4. Funktory

5. Leniwa ewaluacja

6. Wejście-wyjście oraz inne efekty

7. Testowanie programów funkcyjnych

* Grupa 7. Projektowanie wysokowydajnych serwisów webowych. Maciej Włodarkiewicz

Rodzaj zajęć: Wykłady połączone z zajęciami praktycznymi

Zakres zajęć:

Celem zajęć jest przekazanie studentom wiedzy z zakresu projektowania wysoko wydajnych serwisów webowych z uwzględnieniem ich niezawodności oraz bezpieczeństwa. Do tworzenie systemu wykorzystamy narzędzia oraz technologie open-source używane przez największe firmy internetowe takie jak: gog.com, google, facebook lub gadu-gadu.

Tematy zajęć:

• Wydajność serwisu – ocena wydajności, wąskie gardła a następnie skalowanie poziome

• Usługi Webowe (nosql, load balancing, dfs , full text search, cache)

• Bezpieczeństwo serwisów

• Optymalizacja frontendu stron internetowych

• Monitoring

Kryterium zaliczenia obejmuje oddanie projektu realizowanego podczas zajęć w grupach 3-5 osobowych.

Zajęcia w cyklu "Semestr zimowy 2020/21" (jeszcze nie rozpoczęty)

Okres: 2020-10-15 - 2021-01-31
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin więcej informacji
Koordynatorzy: Piotr Wasilewski
Prowadzący grup: Marcin Benke, Piotr Wasilewski, Paweł Witkowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.