Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Język D

Informacje ogólne

Kod przedmiotu: 1000-I1PJD Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Język D
Jednostka: Wydział Matematyki i Informatyki
Grupy: Inf., I st., stacjonarne, 2 rok, przedmioty do wyboru
Inf., I st., stacjonarne, 3 rok, przedmioty do wyboru
Inf., II st, stacjonarne, przedmioty do wyboru
Wszystkie przedmioty z WMiI
Punkty ECTS i inne: 6.00
zobacz reguły punktacji
Język prowadzenia: polski
Wymagania wstępne:

Zaliczenie przedmiotu Podstawy programowania.

Całkowity nakład pracy studenta:

Godziny realizowane z udziałem nauczycieli - 60 godzin, w tym

* wykład - 30 godzin

* laboratorium - 30 godzin

2. Czas potrzebny na pracę indywidualną studenta - 50 godzin, w tym

* 30 godzin na przygotowanie i przetestowanie indywidualnych projektów.

* 10 godzin na przygotowanie się do laboratorium (wykonywanie zadań).

* 10 godzin na powtórzenie materiału z wykładu.

3. Czas potrzebny na przygotowanie się do zaliczenia oraz przygotowanie projektu - 35 godzin, w tym

* 25 godzin na powtórzenie materiału do egzaminu.

* 10 godzin na przygotowanie się do zaliczenia laboratorium.

Efekty uczenia się - wiedza:

1. Zna specyfikację oraz techniki programistyczne języka D, wie jak definiować podstawowe struktury danych, wykonywać na nich operacje, implementować algorytmy (K_W05, K_W06 na studiach I stopnia, K_W10 na studiach II stopnia).

2. Wymienia charakterystyczne cechy języka D wyróżniające go spośród innych języków programowania takich jak C, C++ i Java (K_W10 na studiach I stopnia).

3. Wie jakie technologie sieciowe mają swoją implementację w bibliotekach Tango i Phobos (K_W12 na studiach I stopnia).

Efekty uczenia się - umiejętności:

1. Pisze programy w języku D wykorzystujące biblioteki Phobos i Tango (K_U05 na studiach I stopnia, K_U09 na studiach II stopnia).

2. Dobiera mechanizmy i klasy zalecane do konkretnych, podanych zastosowań i pisze programy z ich użyciem (K_U22 na studiach I stopnia, K_U13 na studiach II stopnia).

3. Tworzy w języku D projekty różnych typów, w szczególności aplikacje konsolowe, aplikacje graficzne, biblioteki, moduły (K_U24 na studiach I stopnia).

4. Tworzy oprogramowanie wykorzystujące biblioteki skompilowane w języku C (K_U07 na studiach II stopnia).

5. Analizuje działanie otrzymanych programów i fragmentów kodów oraz przewiduje ich zachowanie (K_U06 na studiach I stopnia).

Efekty uczenia się - kompetencje społeczne:

1. Jest nastawiony na nieustanne zdobywanie nowej wiedzy, umiejętności i doświadczeń, rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych (K_K06 na obu stopniach).

2. Potrafi w zrozumiały sposób komunikować się z innymi osobami znającymi język D (K_K05 na obu stopniach).

3. Potrafi nawiązać współpracę z innymi programistami języka D oraz tworzyć wspólnie z nimi złożone projekty informatyczne (K_K01 na obu stopniach).

Metody dydaktyczne:

* Wykład.

* Laboratorium.

* Samodzielne zdobywanie informacji (studiowanie literatury).

* Opcjonalne dodatkowe zadania programistyczne.

* Indywidualny projekt programistyczny.

* Praktyczny sprawdzian umiejętności programowania.

* Ustny egzamin teoretyczny.

Skrócony opis:

Przedmiot Język D przeznaczony jest dla studentów, którzy we wcześniejszych latach poznali podstawy programowania obiektowego. Język D jest obiektowo zorientowanym językiem programowania stworzonym przez Waltera Brighta, ma on być obiektowym następcą języka ANSI C, jednak w przeciwieństwie do języka C++ nie jest w pełni zgodny składniowo z poprzednikiem. Możliwe jest jednak używanie skompilowanych modułów napisanych w języku C. W stosunku do C++, język D wprowadza kilka nowych cech takich jak programowanie kontraktowe, automatyczne zarządzanie pamięcią, zintegrowany z kompilatorem system dokumentacji, możliwe jest zagnieżdżanie funkcji, zmieniony jest system szablonów. Język D utrzymuje możliwość pisania niskopoziomowego dodając wstawki asemblerowe. Odchodzi natomiast od wielokrotnego dziedziczenia z C++ w zamian oferując możliwość implementacji wielu interfejsów.

Pełny opis:

Ponieważ przewiduje się, że większość słuchaczy miała wcześniej styczność z językami C, C++ i Java, więc nauka składni języka D będzie opierać się na znajomości składni języków C, C++ i Java. Ponadto, podawane podczas wykładu przykłady będą porównywać składnię znanych języków programowania takich jak C, C++ i Java ze składnią języka D. Tym niemniej wykład jest skonstruowany w ten sposób, aby również osoby nie mające wcześniej do czynienia z językami C, C++ i Java były w stanie opanować składnię języka D.

Główne treści programowe

  • Podstawowe informacje na temat języka D, używanie kompilatora DMD.
  • Moduły.
  • Deklaracje w języku D.
  • Typy.
  • Własności.
  • Atrybuty.
  • Wyrażenia i instrukcje.
  • Tablice.
  • Struktury i unie, wyliczenia.
  • Klasy i interfejsy.
  • Funkcje i operatory.
  • Wzorce.
  • Kontrakty.
  • Warunkowa kompilacja.
  • Podstawy biblioteki Tango. 
Literatura:

Literatura podstawowa:

  • Oficjalna witryna projektu http://www.digitalmars.com/d/index.html.
  • Kris Bell, Lars Ivar Igesund, Sean Kelly, Michael Parker, Learn to Tango with D, New York : Apress, cop. 2007.
  • Andrei Alexandrescu, The D Programming Language, Boston : Addison-Wesley 2010.
Metody i kryteria oceniania:

  • Zaliczenie laboratorium na ocenę na podstawie rozwiązanych zadań lub indywidualnego projektu oraz kolokwium programistycznego (przy komputerze).
  • Zaliczenie wykładu w formie egzaminu ustnego.

Zajęcia w cyklu "Semestr letni 2017/18" (zakończony)

Okres: 2018-02-26 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 150 miejsc więcej informacji
Koordynatorzy: Rafał Bocian
Prowadzący grup: Rafał Bocian
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2018/19" (zakończony)

Okres: 2019-02-25 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 50 miejsc więcej informacji
Koordynatorzy: Rafał Bocian
Prowadzący grup: Rafał Bocian
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

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

Okres: 2020-02-29 - 2020-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 50 miejsc więcej informacji
Koordynatorzy: Rafał Bocian
Prowadzący grup: Rafał Bocian
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2020/21" (zakończony)

Okres: 2021-02-22 - 2021-09-20
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 20 miejsc więcej informacji
Wykład, 30 godzin, 50 miejsc więcej informacji
Koordynatorzy: Rafał Bocian
Prowadzący grup: Rafał Bocian
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2021/22" (jeszcze nie rozpoczęty)

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin, 16 miejsc więcej informacji
Wykład, 30 godzin, 50 miejsc więcej informacji
Koordynatorzy: Rafał Bocian
Prowadzący grup: Rafał Bocian
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.