Karta modułu - Języki programowania wysokiego poziomu

4
Nazwa modułu: Rocznik: Kod: Punkty ECTS: Wydział: Poziom studiów: Specjalność: Kierunek: Semestr: Profil kształcenia: Język wykładowy: Forma i tryb studiów: Strona www: Osoba odpowiedzialna: Osoby prowadzące: Opisy efektów kształcenia dla modułu Kod EKM Student, który zaliczył moduł wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń) Wiedza M_W001 Student posiada wiedzę na temat wzorców projektowych. IA1A_W13 Wykonanie projektu, Wykonanie ćwiczeń laboratoryjnych, Kolokwium, Egzamin Umiejętności M_U001 Student umie posługiwać się językiem C++ z uwzględnieniem nowego standardu. IA1A_U09 Wykonanie projektu, Wykonanie ćwiczeń laboratoryjnych, Kolokwium, Projekt, Egzamin M_U002 Student umie posługiwać się Pythonem i językami skryptowymi. IA1A_U09 Wykonanie ćwiczeń laboratoryjnych, Egzamin Kompetencje społeczne M_K001 Student umie pracować w zespole programistów. IA1A_K01 Wykonanie ćwiczeń laboratoryjnych, Projekt Języki programowania wysokiego poziomu 2012/2013 RIA-1-204-s 5 Inżynierii Mechanicznej i Robotyki Studia I stopnia - Inżynieria Akustyczna 2 Ogólnoakademicki (A) Polski Stacjonarne http://home.agh.edu.pl/~bziolko Ziółko Bartosz ([email protected]) Ziółko Bartosz ([email protected]) Skurzok Dawid ([email protected]) Karta modułu - Języki programowania wysokiego poziomu 1 / 4

Transcript of Karta modułu - Języki programowania wysokiego poziomu

Page 1: Karta modułu - Języki programowania wysokiego poziomu

Nazwa modułu:

Rocznik: Kod: Punkty ECTS:

Wydział: Poziom studiów:

Specjalność: Kierunek:

Semestr: Profilkształcenia:

Językwykładowy:

Forma i trybstudiów:

Strona www:

Osobaodpowiedzialna:

Osoby prowadzące:

Opisy efektów kształcenia dla modułu

Kod EKM Student, który zaliczył moduł wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektówkształcenia (forma zaliczeń)

Wiedza

M_W001 Student posiada wiedzę na temat wzorców projektowych. IA1A_W13Wykonanie projektu,Wykonanie ćwiczeńlaboratoryjnych,Kolokwium, Egzamin

Umiejętności

M_U001 Student umie posługiwać się językiem C++ zuwzględnieniem nowego standardu. IA1A_U09

Wykonanie projektu,Wykonanie ćwiczeńlaboratoryjnych,Kolokwium, Projekt,Egzamin

M_U002 Student umie posługiwać się Pythonem i językamiskryptowymi. IA1A_U09 Wykonanie ćwiczeń

laboratoryjnych, EgzaminKompetencje społeczne

M_K001 Student umie pracować w zespole programistów. IA1A_K01 Wykonanie ćwiczeńlaboratoryjnych, Projekt

Języki programowania wysokiego poziomu

2012/2013 RIA-1-204-s 5

Inżynierii Mechanicznej i Robotyki Studia I stopnia

- Inżynieria Akustyczna

2 Ogólnoakademicki (A) Polski

Stacjonarne http://home.agh.edu.pl/~bziolko

Ziółko Bartosz ([email protected])

Ziółko Bartosz ([email protected]) Skurzok Dawid ([email protected])

Karta modułu - Języki programowania wysokiego poziomu 1 / 4

Page 2: Karta modułu - Języki programowania wysokiego poziomu

Matryca efektów kształcenia w odniesieniu do form zajęć

Kod EKM Student, który zaliczył moduł wie/umie/potrafi Forma zajęć

Wiedza

M_W001 Student posiada wiedzę na temat wzorcówprojektowych. + - - - - - - - -

Umiejętności

M_U001 Student umie posługiwać się językiem C++ zuwzględnieniem nowego standardu. + - + - - - - - -

M_U002 Student umie posługiwać się Pythonem i językamiskryptowymi. + - + - - - - - -

Kompetencje społeczneM_K001 Student umie pracować w zespole programistów. - - + - - - - - -

Wyk

ład

Ćwic

z.au

dyt.

Ćwic

z.la

b.

Ćwic

z.pr

oj.

Konw

.

Zaj.

sem

.

Zaj.

prak

t.

Inne E-

lear

ning

Karta modułu - Języki programowania wysokiego poziomu 2 / 4

Page 3: Karta modułu - Języki programowania wysokiego poziomu

Treść modułu kształcenia (program wykładów i pozostałych zajęć)

Wykład

1. Linux (języki skryptowe, gcc, make), Przygotowywanie aplikacji C++ w systemie Linux.2. Zaawansowane programowanie obiektowe, Projektowanie aplikacji. Właściwa dokumentacjaprojektów. Projektowanie poprawnych hierarchii klas. Klasy szablonowe.3. Biblioteki statyczne, dynamiczne, Budowa własnych bibliotek, wstęp do wzorcówprojektowych.4. Wskaźniki, sprytne wskaźniki, algorytmy wbudowane w STL.5. Prezentacja wybranych wzorców projektowych.6. Prezentacja możliwości nowego standardu języka C++.7. Prezentacja nowych słów kluczowych (m.in. auto, const_exp). Rachunek Lambda.8. Wielowątkowość. Środowiska kontroli wersji.9. Biblioteki do GUI, Projektowanie interfejsów użytkownika.10. Przegląd języków programowania. Różnice między językami statycznymi a dynamicznymi.Wybór właściwego języka programowania do różnych typów zastosowań.11. Podstawy języka skryptowego Python.12. Przetwarzanie tekstów językami skryptowymi.13. Biblioteka programistyczna Boost.14. Prezentacja wybranych bibliotek programistycznych do prowadzenia obliczeńnumerycznych, analizy tekstu, analizy sygnałów, sieciowych, przygotowywania grafiki.15. Biblioteki dźwiękowe.

Ćwiczenia laboratoryjne

1. Programowanie w języku C++ w systemie Linux. Tworzenie plików makefile.2. Projektowanie klas obiektowych o zaawansowanej hierarchii na przykładzie klas opisującychdatę i czas.3. Projektowanie i implementacja własnej biblioteki statycznej i dynamicznej na przykładzieklasy liczb zespolonych.4. Implementacja sprytnego wskaźnika i jego ograniczenia.5. Implementacja programów w oparciu o wybrane elementy nowego standardu 1.6. Implementacja programów w oparciu o wybrane elementy nowego standardu 2.7. Implementacja programów w oparciu o wybrane elementy nowego standardu 3.8. Implementacja aplikacji wielowątkowej w oparciu o nowy standard C++.9. Implementacja graficznego instrumentu muzycznego.10. Program do automatycznego generowania słowników na podstawie wybranego korpusutekstów.11. Implementacja prostego parsera języka naturalnego w oparciu o otagowany korpus języka I.12. Implementacja prostego parsera języka naturalnego w oparciu o otagowany korpus języka II.13. Implementacja algorytmu wyszukiwania tekstu w oparciu o bibliotekę Boost.14. Implementacja filtru sygnałowego.15. Wykonanie aplikacji do podstawowej obróbki dźwięku.

Karta modułu - Języki programowania wysokiego poziomu 3 / 4

Page 4: Karta modułu - Języki programowania wysokiego poziomu

Sposób obliczania oceny końcowejDo zaliczenia ćwiczeń laboratoryjnych konieczne jest: zdobycie w trakcie semestru co najmniej51 punktów, zaliczenie kolokwium na co najmniej połowę punktów i frekwencja (za 2nieusprawiedliwione nieobecności automatycznie ocena obniżana jest o 1 stopień, 3nieusprawiedliwione nieobecności skutkują niezaliczeniem przedmiotu).Punkty otrzymuje się za: zbiór programów do przygotowania w terminie do następnych zajęć,omówienie napisanych programów, kolokwium, projekt, aktywność na zajęciach.Ocena końcowa jest w 50% oceną z ćwiczeń laboratoryjnych i w 50% z egzaminu.

Wymagania wstępne i dodatkoweZaliczenie przedmiotu Metodyki i techniki programowania

Zalecana literatura i pomoce naukoweScott Meyers, “C++. 50 efektywnych sposobów na udoskonalenie Twoich programów”,wydawnictwo HelionScott Meyers, “Język C++ – bardziej efektywny”, Wydawnictwa Naukowo-TechniczneScott Meyers, “STL w praktyce. 50 sposobów efektywnego wykorzystania”, wydawnictwo HelionDavid Vandevoorde, Nicolai M. Josuttis, “C++. Szablony. Vademecum profesjonalisty”,wydawnictwo Helion Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates “Head First Design Patterns. Edycjapolska (Rusz głową!)” wydawnictwo HelionKsiążki dostępne w Internecie:http://www.intercon.pl/~sektor/cbx/ C++ Bez Cholesteroluhttp://www.parashift.com/c++-faq-lite/

UwagiBrak

Nakład pracy studenta (bilans punktów ECTS)

Forma aktywności studenta Obciążenie studenta

Sumaryczne obciążenie pracą studenta 142 godz

Punkty ECTS za moduł 5 ECTS

Udział w wykładach 30 godz

Egzamin 2 godz

Udział w laboratoriach 30 godz

Przygotowanie do laboratoriów 30 godz

Przygotowanie do egzaminu 50 godz

Karta modułu - Języki programowania wysokiego poziomu 4 / 4