Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria chmurowa

Sylabus przedmiotu Język Rust:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Język Rust
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Inżynierii Oprogramowania i Cyberbezpieczeństwa
Nauczyciel odpowiedzialny Piotr Błaszyński <Piotr.Blaszynski@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 2 Grupa obieralna 3

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL3 30 2,00,50zaliczenie
wykładyW3 15 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Znajomość podstawowych konstrukcji programistycznych w dowolnym języku programowania. Podstawy architektury komputerów.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie studentów z zasadami tworzenia programów w języku Rust, jego składnią i semantyką.
C-2Ukształtowanie praktycznych umiejętności programowania w języku Rust.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Środowisko pracy, podstawowy program2
T-L-2Podstawowe typy i zmienne, podstawy2
T-L-3Sterowanie przepływem2
T-L-4Referencje, własność obiektów i wypożyczanie2
T-L-5Dopasowywanie wzorców2
T-L-6Korzystanie z przydatnych pakietów3
T-L-7Iteratory1
T-L-8Obsługa błędów2
T-L-9Elementy funkcyjne języka2
T-L-10Typy generyczne, zaawansowane dziedziczenie i czas życia obiektów2
T-L-11Funkcje, wskaźniki do funkcji i domknięcia2
T-L-12Wskaźniki, sprytne wskaźniki2
T-L-13Współbieżność (wątki, synchronizacja)2
T-L-14Integracja z innymi językami2
T-L-15Dystrybucja, pakiety i moduły2
30
wykłady
T-W-1Podstawowe cechy języka1
T-W-2Podstawowe typy i zmienne, podstawy1
T-W-3Sterowanie przepływem1
T-W-4Referencje, własność obiektów i wypożyczanie1
T-W-5Dopasowywanie wzorców1
T-W-6Przegląd przydatnych pakietów1
T-W-7Iteratory1
T-W-8Obsługa błędów1
T-W-9Elementy funkcyjne języka1
T-W-10Typy generyczne, zaawansowane dziedziczenie i czas życia obiektów1
T-W-11Funkcje, wskaźniki do funkcji i domknięcia1
T-W-12Wskaźniki, sprytne wskaźniki1
T-W-13Współbieżność (wątki, synchronizacja)1
T-W-14Integracja z innymi językami1
T-W-15Dystrybucja, pakiety i moduły1
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Udział w zajęciach30
A-L-2Praca własna20
50
wykłady
A-W-1Udział w zajęciach15
A-W-2Konsultacje2
A-W-3Praca własna33
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny z prezentacją
M-2Laboratoria - samodzielne opracowanie zadanych programów w języku Rust

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Wykład: zaliczenie pisemne
S-2Ocena podsumowująca: Laboratorium: ocena samodzielnie realizowanych zadań
S-3Ocena podsumowująca: Laboratorium: ocena podsumowująca obliczana jako średnia ważona ocen formujących.

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C11.4_W01
Student zna i rozumie składnię i semantykę języka programowania Rust, potrafi przygotować i uruchomić program w tym języku, potrafi czytać i modyfikować istniejące programy. Zna podstawowe biblioteki.
I_1A_W05C-1T-W-8, T-W-11, T-W-5, T-W-7, T-W-2, T-W-3, T-W-9, T-W-4, T-W-15, T-W-13, T-W-10, T-W-14, T-W-6, T-W-1, T-W-12M-1S-1

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C11.4_U01
Student potrafi rozwiązać postawiony w zadaniu problem przy pomocy programu w języku Rust, ponadto potrafi właściwie wykorzystać wybrane biblioteki oraz wyjaśnić działanie programu na podstawie kodu źródłowego.
I_1A_U04, I_1A_U05, I_1A_U06C-2, C-1T-L-4, T-L-8, T-L-15, T-L-14, T-L-5, T-L-9, T-L-12, T-L-7, T-L-6, T-L-2, T-L-1, T-L-10, T-L-11, T-L-13, T-L-3M-2S-3, S-2

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C11.4_W01
Student zna i rozumie składnię i semantykę języka programowania Rust, potrafi przygotować i uruchomić program w tym języku, potrafi czytać i modyfikować istniejące programy. Zna podstawowe biblioteki.
2,0
3,0Student zna i rozumie składnię i semantykę języka programowania Rust w stopniu podstawowym, potrafi przygotować i uruchomić podstawowe programy w tym języku, potrafi w stopniu podstawowym czytać i modyfikować istniejące programy.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C11.4_U01
Student potrafi rozwiązać postawiony w zadaniu problem przy pomocy programu w języku Rust, ponadto potrafi właściwie wykorzystać wybrane biblioteki oraz wyjaśnić działanie programu na podstawie kodu źródłowego.
2,0
3,0Student potrafi rozwiązać postawiony w zadaniu podstawowy problem przy pomocy programu w języku Rust, ponadto potrafi właściwie wykorzystać podstawowe biblioteki oraz wyjaśnić działanie prostego programu na podstawie kodu źródłowego. Student potrafi przygotować i uruchomić podstawowe programy w tym języku, potrafi również w stopniu podstawowym czytać i modyfikować istniejące programy.
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. Daniel Arbuckle, Rust Quick Start Guide, Packt Publishing, Birmingham, 2018, 1, ISBN 978-1-78961-670-5
  2. Steve Klabnik, Carol Nichols, Język Programowania Rust, No Starch Press, San Francisco, 2023, 2, http://rust.w8.pl/book/

Literatura dodatkowa

  1. Guillaume Gomez, Antoni Boucher, Rust Programming By Example, Packt, Birmingham, 2018, 1, ISBN 978-1-78839-063-7

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Środowisko pracy, podstawowy program2
T-L-2Podstawowe typy i zmienne, podstawy2
T-L-3Sterowanie przepływem2
T-L-4Referencje, własność obiektów i wypożyczanie2
T-L-5Dopasowywanie wzorców2
T-L-6Korzystanie z przydatnych pakietów3
T-L-7Iteratory1
T-L-8Obsługa błędów2
T-L-9Elementy funkcyjne języka2
T-L-10Typy generyczne, zaawansowane dziedziczenie i czas życia obiektów2
T-L-11Funkcje, wskaźniki do funkcji i domknięcia2
T-L-12Wskaźniki, sprytne wskaźniki2
T-L-13Współbieżność (wątki, synchronizacja)2
T-L-14Integracja z innymi językami2
T-L-15Dystrybucja, pakiety i moduły2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Podstawowe cechy języka1
T-W-2Podstawowe typy i zmienne, podstawy1
T-W-3Sterowanie przepływem1
T-W-4Referencje, własność obiektów i wypożyczanie1
T-W-5Dopasowywanie wzorców1
T-W-6Przegląd przydatnych pakietów1
T-W-7Iteratory1
T-W-8Obsługa błędów1
T-W-9Elementy funkcyjne języka1
T-W-10Typy generyczne, zaawansowane dziedziczenie i czas życia obiektów1
T-W-11Funkcje, wskaźniki do funkcji i domknięcia1
T-W-12Wskaźniki, sprytne wskaźniki1
T-W-13Współbieżność (wątki, synchronizacja)1
T-W-14Integracja z innymi językami1
T-W-15Dystrybucja, pakiety i moduły1
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Udział w zajęciach30
A-L-2Praca własna20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w zajęciach15
A-W-2Konsultacje2
A-W-3Praca własna33
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C11.4_W01Student zna i rozumie składnię i semantykę języka programowania Rust, potrafi przygotować i uruchomić program w tym języku, potrafi czytać i modyfikować istniejące programy. Zna podstawowe biblioteki.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05Ma wiedzę o nowoczesnych metodach projektowania, analizowania, wytwarzania, testowania oprogramowania oraz rozwiązywania wybranych zadań inżynierskich obejmujących w szczególności narzędzia wspomagające wytwarzanie oprogramowania na różnych etapach powstawania, eksploatacji i rozwoju systemów informatycznych.
Cel przedmiotuC-1Zapoznanie studentów z zasadami tworzenia programów w języku Rust, jego składnią i semantyką.
Treści programoweT-W-8Obsługa błędów
T-W-11Funkcje, wskaźniki do funkcji i domknięcia
T-W-5Dopasowywanie wzorców
T-W-7Iteratory
T-W-2Podstawowe typy i zmienne, podstawy
T-W-3Sterowanie przepływem
T-W-9Elementy funkcyjne języka
T-W-4Referencje, własność obiektów i wypożyczanie
T-W-15Dystrybucja, pakiety i moduły
T-W-13Współbieżność (wątki, synchronizacja)
T-W-10Typy generyczne, zaawansowane dziedziczenie i czas życia obiektów
T-W-14Integracja z innymi językami
T-W-6Przegląd przydatnych pakietów
T-W-1Podstawowe cechy języka
T-W-12Wskaźniki, sprytne wskaźniki
Metody nauczaniaM-1Wykład informacyjny z prezentacją
Sposób ocenyS-1Ocena podsumowująca: Wykład: zaliczenie pisemne
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student zna i rozumie składnię i semantykę języka programowania Rust w stopniu podstawowym, potrafi przygotować i uruchomić podstawowe programy w tym języku, potrafi w stopniu podstawowym czytać i modyfikować istniejące programy.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C11.4_U01Student potrafi rozwiązać postawiony w zadaniu problem przy pomocy programu w języku Rust, ponadto potrafi właściwie wykorzystać wybrane biblioteki oraz wyjaśnić działanie programu na podstawie kodu źródłowego.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U04Potrafi identyfikować związki i zależności w procesach zachodzących w systemach rzeczywistych i na tej podstawie tworzyć modele komputerowe oraz przeprowadzać ich symulacje.
I_1A_U05Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
I_1A_U06Potrafi pozyskiwać, przesyłać, przetwarzać dane, podsumowywać wyniki eksperymentów empirycznych, dokonywać interpretacji uzyskanych wyników i formułować wynikające z nich wnioski.
Cel przedmiotuC-2Ukształtowanie praktycznych umiejętności programowania w języku Rust.
C-1Zapoznanie studentów z zasadami tworzenia programów w języku Rust, jego składnią i semantyką.
Treści programoweT-L-4Referencje, własność obiektów i wypożyczanie
T-L-8Obsługa błędów
T-L-15Dystrybucja, pakiety i moduły
T-L-14Integracja z innymi językami
T-L-5Dopasowywanie wzorców
T-L-9Elementy funkcyjne języka
T-L-12Wskaźniki, sprytne wskaźniki
T-L-7Iteratory
T-L-6Korzystanie z przydatnych pakietów
T-L-2Podstawowe typy i zmienne, podstawy
T-L-1Środowisko pracy, podstawowy program
T-L-10Typy generyczne, zaawansowane dziedziczenie i czas życia obiektów
T-L-11Funkcje, wskaźniki do funkcji i domknięcia
T-L-13Współbieżność (wątki, synchronizacja)
T-L-3Sterowanie przepływem
Metody nauczaniaM-2Laboratoria - samodzielne opracowanie zadanych programów w języku Rust
Sposób ocenyS-3Ocena podsumowująca: Laboratorium: ocena podsumowująca obliczana jako średnia ważona ocen formujących.
S-2Ocena podsumowująca: Laboratorium: ocena samodzielnie realizowanych zadań
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi rozwiązać postawiony w zadaniu podstawowy problem przy pomocy programu w języku Rust, ponadto potrafi właściwie wykorzystać podstawowe biblioteki oraz wyjaśnić działanie prostego programu na podstawie kodu źródłowego. Student potrafi przygotować i uruchomić podstawowe programy w tym języku, potrafi również w stopniu podstawowym czytać i modyfikować istniejące programy.
3,5
4,0
4,5
5,0