logo PRZ
Karta przedmiotu
logo WYDZ

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ś

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
MEK01 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
MEK02 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
MEK03 Zna i potrafi krótko opisać wybrane struktury danych (stos, kolejka, lista). wykład, ćwiczenia rachunkowe, laboratorium egzamin cz. pisemna, obserwacja wykonawstwa
MEK04 Opracowuje na podstawie specyfikacji proste aplikacje wykorzystujące techniki programowania obiektowego. laboratorium obserwacja wykonawstwa K-U22++
K-K08++
P6S-KR
P6S-UW

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 M. Kusy; R. Zajdel New data reduction algorithms based on the fusion of instance and feature selection 2024
2 R. Hanus; G. Hossein Roshani; M. Kusy; E. Nazemi; M. Zych Application of selected methods of computational intelligence to recognition of the liquid–gas flow regime in pipeline by use gamma absorption and frequency domain feature extraction 2024
3 A. Konior; P. Kowalski; M. Kusy; M. Szwagrzyk Machine learning techniques for explaining air pollution prediction 2022
4 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
5 P. Kowalski; M. Kusy Algorithms for Triggering General Regression Neural Network 2022
6 P. Kowalski; M. Kusy Architecture reduction of a probabilistic neural network by merging k-means and k-nearest neighbour algorithms 2022
7 P. Kowalski; M. Kusy Detection of Fraudulent Credit Card Transactions by Computational Intelligence Models as a Tool in Digital Forensics 2022
8 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
9 M. Kusy; R. Zajdel A weighted wrapper approach to feature selection 2021
10 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
11 J. Kluska; M. Kusy; R. Zajdel; T. Żabiński Weighted Feature Selection Method for Improving Decisions in Milling Process Diagnosis 2020
12 P. Kowalski; S. Kubasiak; M. Kusy; S. Łukasik Probabilistic Neural Network - parameters adjustment in classification task 2020