logo
Karta przedmiotu
logo

Metodyki i techniki programowania

Podstawowe informacje o zajęciach

Cykl kształcenia: 2024/2025

Nazwa jednostki prowadzącej studia: Wydział Elektrotechniki i Informatyki

Nazwa kierunku studiów: Elektronika i telekomunikacja

Obszar kształcenia: nauki techniczne

Profil studiów: ogólnoakademicki

Poziom studiów: pierwszego stopnia

Forma studiów: stacjonarne

Specjalności na kierunku: S - Elektroniczne systemy pomiarowe i diagnostyczne, T - Telekomunikacja, U - Urządzenia elektroniczne

Tytuł otrzymywany po ukończeniu studiów: inżynier

Nazwa jednostki prowadzącej zajęcia: Katedra Podstaw Elektroniki

Kod zajęć: 466

Status zajęć: obowiązkowy dla programu

Układ zajęć w planie studiów: sem: 2 / W30 C30 L30 / 7 ECTS / E

Język wykładowy: polski

Imię i nazwisko koordynatora: dr hab. inż. prof. PRz Maciej Kusy

Terminy konsultacji koordynatora: Dostępne na stronie: https://mkusy.v.prz.edu.pl/

semestr 2: dr inż. prof. PRz Grzegorz Hałdaś

semestr 2: dr inż. Mariusz Mączka

Cel kształcenia i wykaz literatury

Główny cel kształcenia: Student powinien posiąść podstawową wiedzę z zakresu języka C, algorytmiki, metody reprezentowania informacji, implementacji dynamicznych struktur danych i zastastowania techniki rekurencji. Dodatkowo, student powinien sprawnie poruszać się w środowisku programistycznym Visual Studio i programować w języku C#.

Ogólne informacje o zajęciach: Moduł zakłada zapoznanie studenta z zagadnieniami algorytmizacji problemów, implementacji algorytmów w wybranym języku programowania i środowisku programistycznym, tworzeniem programów strukturalnych i obiektowych, konstruowaniem dynamicznych struktur danych, wykonywaniem obliczeń numerycznych i przetwarzania danych oraz projektowaniem aplikacji opartych na interfejsie z użytkownikiem.

Materiały dydaktyczne: Dostępne w wersji elektronicznej na stronie http://maciejkusy.sd.prz.edu.pl

Wykaz literatury, wymaganej do zaliczenia zajęć
Literatura wykorzystywana podczas zajęć wykładowych
1 Cormen T. H., Leiserson Ch. E., Rivest R. L., Stein C. Wprowadzenie do algorytmów WNT, Warszawa. 2004
2 Gurbiel E., Hardt-Olejniczak G., Kołczyk E., Krupicka H., Sysło M. M. Informatyka. Podręcznik dla liceum ogólnokształcącego, cz. 1, cz.2 WSIP, Warszawa. 2002
3 Kernighan B. W., Ritchie D. M. Język ANSI C WNT, Warszawa. 1994
4 Liberty J. C#. Programowanie O’REILLY®, Helion. 2006
5 Lis M. C#. Praktyczny kurs Helion. 2007
6 Perry S.C. C# i .NET Prentice Hall, Helion. 2006
7 Hejlsberg A., Torgersen M., Wiltamuth S., Golde P. Język C#. Programowanie Wydawnictwo Helion. 2010
8 Powers L., Snell M. Microsoft Visual Studio 2008 – KSIĘGA EKSPERTA Helion. 2009
9 Troelsen A. Język C# 2008 i platforma .NET 3.5 Wydawnictwo naukowe PWN SA. 2009
Literatura wykorzystywana podczas zajęć ćwiczeniowych/laboratoryjnych/innych
1 Cormen T. H., Leiserson Ch. E., Rivest R. L., Stein C. Wprowadzenie do algorytmów WNT, Warszawa. 2004
2 Gurbiel E., Hardt-Olejniczak G., Kołczyk E., Krupicka H., Sysło M. M. Informatyka. Podręcznik dla liceum ogólnokształcącego, cz. 1, cz.2 WSIP, Warszawa. 2002
3 Kernighan B. W., Ritchie D. M. Język ANSI C WNT, Warszawa. 1994
4 Kusy M. Metodyki i techniki programowania. Laboratorium Oficyna Wydawnicza Politechniki Rzeszowskiej. 2009
5 Chłosta P. Aplikacje Windows Forms .Net w C# Wydawnictwo naukowe PWN. 2006
6 Powers L., Snell M. Microsoft Visual Studio 2008 – KSIĘGA EKSPERTA Helion. 2009
Literatura do samodzielnego studiowania
1 Matulewski J. C#3.0 i .NET 3.5. Technologia LINQ Helion. 2008
2 Grębosz J. Symfonia C++ standard. Programowanie w języku C++ orientowane obiektowo EDITION 2000, Kraków. 2005
3 Grębosz J. Pasja C++ Oficyna Kalimach, Kraków. 1997

Wymagania wstępne w kategorii wiedzy/umiejętności/kompetencji społecznych

Wymagania formalne: Student zarejestrowany na drugi semestr.

Wymagania wstępne w kategorii Wiedzy: Ma wiedzę w zakresie algebry elementarnej; biegle operuje podstawowymi działaniami arytmetycznymi; zna pojęcie zmiennej, zbioru i wielomianu razem z jego faktoryzacją i znajdowaniem pierwiastków;

Wymagania wstępne w kategorii Umiejętności: Student powinien sprawnie obsługiwać komputer oraz dokładnie (krok po kroku) tłumaczyć sposób rozwiązanego przez siebie problemu.

Wymagania wstępne w kategorii Kompetencji społecznych: brak

Efekty kształcenia dla zajęć

MEK Student, który zaliczył zajęcia Formy zajęć/metody dydaktyczne prowadzące do osiągnięcia danego efektu kształcenia Metody weryfikacji każdego z wymienionych efektów kształcenia Związki z KEK Związki z PRK
01 Potrafi przedstawić specyfikację algorytmu i wyszczególnić elementy schematu blokowego dla danego problemu algorytmicznego. wykład, ćwiczenia rachunkowe, laboratorium egzamin cz. pisemna, zaliczenie cz. pisemna, obserwacja wykonawstwa K_W11+
P6S_WG
02 Zna i używa podstawowe typy, instrukcje sterujące, operatory i operacje formatowania wejścia/wyjścia w języku C. wykład, ćwiczenia rachunkowe, laboratorium egzamin cz. pisemna, zaliczenie cz. pisemna K_U22+
P6S_UW
03 Zna i potrafi krótko opisać wybrane struktury danych (stos, kolejka, lista). wykład, ćwiczenia rachunkowe, laboratorium egzamin cz. pisemna, obserwacja wykonawstwa
04 Opracowuje na podstawie specyfikacji proste aplikacje wykorzystujące techniki programowania obiektowego. laboratorium obserwacja wykonawstwa K_U22++
K_K08++
P6S_KR
P6S_UW

Uwaga: W zależności od sytuacji epidemicznej, jeżeli nie będzie możliwości weryfikacji osiągniętych efektów uczenia się określonych w programie studiów w sposób stacjonarny w szczególności zaliczenia i egzaminy kończące określone zajęcia będą mogły się odbywać przy użyciu środków komunikacji elektronicznej (w sposób zdalny).

Treści kształcenia dla zajęć

Sem. TK Treści kształcenia Realizowane na MEK
2 TK01 Wprowadzenie podstawowych pojęć: Algorytm i sposoby jego przedstawiania, podstawowe konstrukcje języków algorytmicznych. Przykłady algorytmów. W01, C01, C02, C03, C04, C05 MEK01
2 TK02 Wprowadzenie do języka C. Typy danych. Modyfikatory typów. Operatory, priorytet operatorów. Instrukcje sterujące i pętle. Typy pochodne i złożone. Formatowanie wejścia i wyjścia. Wykorzystanie rekurencji. Reprezentacje liczb. W02, C06, C07, C08, C09, C10, L01, L02 MEK02
2 TK03 Język C: tablice, wskaźniki, deklaracja i definicja funkcji, wywołanie funkcji, argumenty funkcji, zmienne lokalne i globalne W03, C06, C07, C08, C09, C10, L01, L02, L03, L04, L05 MEK02
2 TK04 Język C: dynamiczny przydział pamięci dla łańcuchów znakowych, typy złożone (struktury, unie), strumienie w pracy z plikami, zapis i odczyt z pliku W04, C06, C07, C08, C09, C10, L01, L02, L03, L04, L05 MEK02
2 TK05 Wprowadzenie do języka C#. Środowisko .NET. Typy proste (wartościowe, skalarne). Stałe, wyliczenia i łańcuchy znaków. Instrukcje warunkowe, pętle i operatory. W05 MEK04
2 TK06 Klasy, obiekty, cechy programowania obiektowego. Modyfikatory dostępu. Tworzenie obiektów. Konstruktor. Przekazywanie argumentów do metody. Parametry z modyfikatorem out. Słowo kluczowe this. Używanie składowych statycznych. Hermetyzacja za pomocą właściwości. Struktury. W06, C11, C12, C13, L06, L07, L08, L09, L10 MEK04
2 TK07 Tablice, mechanizm indeksowania. W07, C11, C12, C13, L06, L07, L08, L09, L10 MEK03
2 TK08 Kolekcje i typy generyczne. Struktury danych. W08, C11, C12, C13, L06, L07, L08, L09, L10 MEK03
2 TK09 Dziedziczenie i polimorfizm. Pojęcie specjalizacji i uogólniania. Używanie dziedziczenia. Wywołanie metod klasy podstawowej. Rzutowanie w dziedziczeniu; Implementacja polimorfizmu (virtual, override). Przesłanianie metod (new). Klasa abstrakcji. Klasa Object. W09, L09, L10 MEK04
2 TK10 Pojęcie interfejsu. Definiowanie i implementowanie interfejsu. Obsługa kilku interfejsów. Łączenie i rozszerzanie interfejsów Dostęp do metod interfejsu. Rzutowanie na interfejs. Operator is i operator as. Interfejs kontra klasy abstrakcyjne. Przesłanianie implementacji interfejsu. Jawna implementacja interfejsu. W10, L08, L09, L10 MEK04
2 TK11 Obsługa wyjątków. Pojęcie wyjątku i sytuacji wyjątkowej. Strukturalna obsługa wyjątków. Zgłaszanie wyjątków. Przechwytywanie wyjątków. Własne niestandardowe wyjątki. W11, L09, L10 MEK04
2 TK12 Strumienie. Serializacja. Praca na plikach w technologii .NET. W12, L10 MEK04
2 TK13 Przeciążanie operatorów: cel, zasady, które operatory można przeciążać. Przykłady metod operatorowych. W13 MEK04
2 TK14 Delegaty. W14 MEK04
2 TK15 Praktyczne wykorzystanie technologii .NET. W15

Nakład pracy studenta

Forma zajęć Praca przed zajęciami Udział w zajęciach Praca po zajęciach
Wykład (sem. 2) Godziny kontaktowe: 30.00 godz./sem.
Uzupełnienie/studiowanie notatek: 10.00 godz./sem.
Studiowanie zalecanej literatury: 10.00 godz./sem.
Ćwiczenia/Lektorat (sem. 2) Przygotowanie do ćwiczeń: 15.00 godz./sem.
Przygotowanie do kolokwium: 4.00 godz./sem.
Godziny kontaktowe: 30.00 godz./sem.
Dokończenia/studiowanie zadań: 15.00 godz./sem.
Laboratorium (sem. 2) Przygotowanie do laboratorium: 10.00 godz./sem.
Godziny kontaktowe: 30.00 godz./sem.
Inne: 10.00 godz./sem.
Konsultacje (sem. 2) Przygotowanie do konsultacji: 3.00 godz./sem.
Udział w konsultacjach: 3.00 godz./sem.
Egzamin (sem. 2) Przygotowanie do egzaminu: 3.00 godz./sem.
Egzamin pisemny: 3.00 godz./sem.

Sposób wystawiania ocen składowych zajęć i oceny końcowej

Forma zajęć Sposób wystawiania oceny podsumowującej
Wykład Egzamin w formie testu i zadań.
Ćwiczenia/Lektorat Zaliczenie na podstawie sprawdzianu wiadomości.
Laboratorium Średnia ocen za opracowane programy i odpowiedzi ustne na poszczególnych zajęciach.
Ocena końcowa Ocena na podstawie wyniku z egzaminu, lub średnia ocen z zajęć ćwiczeniowych i laboratoryjnych.

Przykładowe zadania

Wymagane podczas egzaminu/zaliczenia
(-)

Realizowane podczas zajęć ćwiczeniowych/laboratoryjnych/projektowych
(-)

Inne
(-)

Czy podczas egzaminu/zaliczenia student ma możliwość korzystania z materiałów pomocniczych : nie

Treści zajęć powiazane są z prowadzonymi badaniami naukowymi: tak

1 A. Konior; P. Kowalski; M. Kusy; M. Szwagrzyk Machine learning techniques for explaining air pollution prediction 2022
2 J. Izydorczyk; P. Kowalski; M. Kusy; M. Szwagrzyk Estimation of atmospheric boundary layer values in the context of the daily prediction of PM10 air pollution 2022
3 P. Kowalski; M. Kusy Algorithms for Triggering General Regression Neural Network 2022
4 P. Kowalski; M. Kusy Architecture reduction of a probabilistic neural network by merging k-means and k-nearest neighbour algorithms 2022
5 P. Kowalski; M. Kusy Detection of Fraudulent Credit Card Transactions by Computational Intelligence Models as a Tool in Digital Forensics 2022
6 J. Kielpinska; A. Konior; P. Kowalski; M. Kusy; M. Szwagrzyk Numerical analysis of factors, pace and intensity of the corona virus (COVID-19) epidemic in Poland 2021
7 M. Kusy; R. Zajdel A weighted wrapper approach to feature selection 2021
8 J. Kluska; M. Kusy; R. Zajdel; T. Żabiński Fusion of Feature Selection Methods for Improving Model Accuracy in the Milling Process Data Classification Problem 2020
9 J. Kluska; M. Kusy; R. Zajdel; T. Żabiński Weighted Feature Selection Method for Improving Decisions in Milling Process Diagnosis 2020
10 P. Kowalski; S. Kubasiak; M. Kusy; S. Łukasik Probabilistic Neural Network - parameters adjustment in classification task 2020
11 J. Kluska; M. Kusy; B. Obrzut; M. Obrzut; A. Semczuk Prediction of 10-year Overall Survival in Patients with Operable Cervical Cancer using a Probabilistic Neural Network 2019
12 M. Kusy Selection of pattern neurons for a probabilistic neural network by means of clustering and nearest neighbor techniques 2019