Friday, August 07, 2020

Programowanie prowadzony jest w formie laboratorium

  1. Na zajęciach omawiane i rozwiązywane są zagadnienia związane z tworzeniem prostych aplikacji w paradygmacie proceduralnym i obiektowym.
  2. Obecność na zajęciach jest obowiązkowa. Można mieć jedną nieobecność na zajęciach.

Na ocenę z przedmiotu składają się:

  • kolokiwum ze znajomości podstawowych konstrukcji języka C# - waga 0.4
  • kolokiwum ze znajomości konstrukcji obiektowych w jezyku C# - waga 0.4
  • miniprojekt - waga 0.2

Istnieje możliwość zaliczenia kursu poprzez obronę projektu.

Prezentacje w zakresie podstaw języka C#

  1. Typy danych
  2. Deklaracja zmiennych
  3. Obsługa konsoli (wejście/wyjście)
  4. Operacja przypisania, rzutowanie typów
  5. Operacje na tekstach
  6. Operacje na liczbach
  7. Instrukcja warunkowa (if/switch)
  8. Pętla for
  9. Pętla Do..While
  10. Pętla While
  11. Pętla ForEach
  12. Typ tablicowy
  13. Operacje na tablicach
  14. Zaawansowane funkcje matematyczne
  15. Metody / Funkcje
  16. Generator liczb pseudolosowych
  17. Klasa - metoda, obiekt

Mój pierwszy program w C#

  1. "Hello World" - obsługa wyjścia konsoli, obsługa wejścia.
  2. Równanie kwadratowe - instrukcja warunkowa, funkcje matematyczne, dobór typów zmiennych
  3. n-ty wyraz ciągu Fibonacciego - pętla o zadanej liczbie powtórzeń
  4. palindrom - operacje na ciągach znaków, pętla z warunkiem zakończenia
  5. lista dzielników - pętle i warunki
  6. Silnia, ciąg Fibonacciego, itp. - rekurencja

Uwaga! Studenci muszą rozumieć i potrafić wytłumaczyć przypisane im zadanie.

Programy na zajęcia (przygotowanie do kolokwium)

  • Obliczanie największego wspólnego dzielnika NWD oraz najmniejszej wspólnej wielokrotności (NWW).
  • Obliczanie sumy cyfr liczby całkowitej.
  • Wyznaczanie elementu występującego w ciągu najczęściej i najrzadziej.
  • Wyszukiwanie elementu największego (maksymalnego) i najmniejszego (minimalnego) w ciągu liczb.
  • Obliczanie średniej arytmetycznej i odchylenia standardowego dla zadanego ciągu liczb.
  • Konwersja liczby pomiędzy systemem dziesiętnym, a systemem pozycyjnym o podstawie m i odwrotnie.
  • Obliczanie liczby elementów ciągu większych od średniej elementów ciągu.
  • Znajdywanie liczb pierwszych w przedziale od n do m.
  • Wypisanie wszystkich ciągów zero-jedynkowych długości n.
  • Sortowanie zadanego ciągu liczb za pomocą algorytmu sortowania bąbelkowego.
  • Sortowanie zadanego ciągu liczb za pomocą algorytmu sortowania przez wstawianie.
  • Sortowanie zadanego ciągu liczb za pomocą algorytmu sortowania przez wybór.
  • Wyszukiwanie binarne w ciągu posortowanym rosnąco.
  • Wypisanie wszystkich permutacji zbioru {1, 2, 3, ..., n}.
  • Wypisanie wszystkich par liczb (a, b) ze zbioru {1, 2, 3, ..., n} takich, że a < b.

Kolokwium 1

Zakres tematyczny kolokwium obejmuje wszystkie programy realizowane na zajęciach.

Projekt

Należy napisać aplikację w języku C# na dowolny, wybrany temat, która spełniać będzie następujące cechy:

  1. Operować na prostym modelu obiektowym. Co to oznacza, że powinna ona zapewnić, aby:
    • aplikacja miała pewną (co najmniej dwupoziomową) hierarchię klas (dla przykładu – tworząc aplikację warsztatu mechanicznego, klasą bazową byłby np. Pojazd, a klasami pochodnymi – Samochód, Motor),
    • realizowała powiązania z innymi klasami poprzez referencje,
    • każda z klas powinna mieć zdefiniowane publiczne akcesory do prywatnych składowych (poprzez C#'owe properties, bądź metody dostępowe),
    • co najmniej jedna z klas powinna posiadać jakąś metodę wyliczeniową (dla przykładu – tworząc aplikację warsztatu mechanicznego, klasa Warsztat mogłaby mieć metodę obliczającą średni czas trwania naprawy)
  2. Mieć charakter "bazodanowy" – nie chodzi tutaj o to, by implementować i oprogramowywać relacyjną bazę danych SQL, ale by program obsługiwał operacje typu CRUD (Create, Read, Update, Delete) poprzez odczyt i zapis danych z i do pliku.
  3. Posiadać interfejs graficzny (wykonany w dowolnej technologii możliwej do użycia z poziomu C#)

Oceny

TBA

Terminy kolokwium i popraw

TBA

Materiały

Samouczek C#