Karta przedmiotu - dr inż. Maciej Kusy

Transkrypt

Karta przedmiotu - dr inż. Maciej Kusy
POLITECHNIKA RZESZOWSKA im. I. Łukasiewicza
WYDZIAŁ
Wydział Elektrotechniki i Informatyki
KIERUNEK
Elektronika i Telekomunikacja
SPECJALNOŚĆ
FORMA I STOPIEŃ STUDIÓW
Stacjonarne I stopnia
KARTA PRZEDMIOTU
NAZWA PRZEDMIOTU
Metodyki i techniki programowania
Nauczyciel odpowiedzialny za przedmiot:
dr inż. Maciej Kusy
Kontakt dla studentów: tel. (17) 865 1113
e-mail: [email protected]
Nauczyciel/e prowadzący: Maciej Kusy, Grzegorz Hałdaś, Mariusz Mączka, Paweł Górka
Katedra/Zakład/Studium Katedra Podstaw Elektroniki
Semestr
całkowita
liczba
godzin
W
C
L
2
90
30
30
30
P (S)
ECTS
6
PRZEDMIOTY POPRZEDZAJĄCE WRAZ Z WYMAGANIAMI
TREŚCI KSZTAŁCENIA WG PROWADZONYCH RODZAJÓW ZAJĘĆ
LICZBA
GODZIN
Wykład:
1. Wprowadzenie podstawowych pojęć: Algorytm i sposoby jego przedstawiania, podstawowe
konstrukcje języków algorytmicznych. Przykłady algorytmów.
2. 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.
3. 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.
4. Klasy, obiekty, cechy programowania obiektowego. Modyfikatory dostępu. Tworzenie
obiektów. Konstruktor. Wzorce projektowe. Przekazywanie argumentów do funckji. Parametry z
modyfikatore out. Słowo kluczowe this. Używanie składowych statycznch. Hermetyzacja za
pomocą właściwości. Struktury.
5. Przeciążanie operatorów: cel, zasady. Które operatory można przeciążać. Przykłady funkcji
operatorowych.
6. Tablice, mechanizm indeksowania.
7. Kolekcje i typy generyczne. Interfejsy kolekcji. Operatory LINQ.
8. Dziedziczenie i polimorfizm. Pojęcie specjalizacji i uogólniania. Ujednolicony język
modelowania (UML). Używanie dziedziczenia. Wywołanie konstruktora klasy podstawowej.
2
3
2
2
2
2
2
3
Implementacja polimorfizmu (virtual, override). Przesłanianie metod (new). Klasa abstrakcji.
Klasa Object.
9. 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.
10. 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.
11. Strumienie. Serializacja. Praca z formatem XML w technologii .NET.
12. Delegacje i zdarzenia.
13. Wątki i synchronizacja.
14. Wyrażenia regularne.
2
2
2
2
2
2
Ćwiczenia:
1. Algorytmy, podstawowe konstrukcje algorytmiczne, schematy blokowe.
2. Implementacja schematów blokowych w języku C.
3. Reprezentacje liczb, rekurencja.
4. Implementacja dynamicznych struktur danych: stos, kolejka, lista jedno i dwu-kierunkowa,
drzewo.
Laboratorium:
1. Zajęcia wprowadzające. Zapoznanie się z programistycznym środowiskiem pracy.
2. Tworzenie projektu. Zastosowanie instrukcji sterujących i pętli. Implementacja algorytmów,
struktur danych przedstawionych na ćwiczeniach w języku C.
3. Język C#. Definiowanie klas, metod, właściwości, typu wyliczeniowego.
4. Dziedziczenie i polimorfizm. Operacje We/Wy.
5. Stworzenie aplikacji okienkowej - interakcja z użytkownikiem.
10
10
2
8
3
10
6
4
7
Dyżury dydaktyczne (konsultacje): w terminach podanych w harmonogramie pracy jednostki
EFEKTY KSZTAŁCENIA - UMIEJĘTNOŚCI KSZTAŁCENIA
Student powinien posiąść podstawową wiedzę z zakresu języka C, algorytmiki, metody reprezentowania
informacji, implementacji dynamicznych struktur danych. Dodatkowo, student powinien sprawnie poruszać się
w środowisku programistycznym Visual Studio 2008 i programować w języku C#.
FORMA I WARUNKI ZALICZENIA PRZEDMIOTU (RODZAJU ZAJĘĆ)
Laboratorium: średnia ocen za opracowane programy i odpowiedzi ustne na poszczególnych zajęciach.
Ćwiczenia: na podstawie sprawdzianu wiadomości.
Wykład: egzamin w formie testu i zadań.
WYKAZ LITERATURY PODSTAWOWEJ
Cormen T. H., Leiserson Ch. E., Rivest R. L., Stein C.: „Wprowadzenie do algorytmów”, WNT, Warszawa,
2004.
Grębosz J.: „Symfonia C++ standard. Programowanie w języku C++ orientowane obiektowo”, EDITION 2000,
Kraków, 2005.
Grębosz J.: „Pasja C++”, tom1, tom2, Oficyna Kalimach, Kraków, 1997.
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.
Kernighan Brian W., Ritchie Dennis M.: „Język ANSI C”, WNT, Warszawa, 1994.
Kusy M.: „Metodyki i techniki programowania. Laboratorium”, Oficyna Wydawnicza Politechniki
Rzeszowskiej, Rzeszów 2009.
Liberty J.: „C#. Programowanie”, O’REILLY®, Helion, 2006.
Lis M.: „C#. Praktyczny kurs”, Helion 2007.
Matulewski J.: „C# 3.0 i .NET 3.5. Technologia LINQ”, Helion, 2008.
Microsoft Visual C# 2005 Express Edition: „Projektuj sam”, Edycja polska Microsoft Press, Warszawa 2006.
Perry S.C.: „C# i .NET”, Prentice Hall, Helion, 2006.
Troelsen A.: „Język C# 2008 i platforma .NET 3.5”, Wydawnictwo naukowe PWN SA, 2009.
Włodarczyk M.: „Programowanie obiektowe”, ITA-105 Programowanie obiektowe, 2009.
WYKAZ LITERATURY UZUPEŁNIAJĄCEJ
Chłosta P.: „Aplikacje Windows Forms .Net w C#”, Wydawnictwo naukowe PWN, 2006.
Gamma E., Heml R., Johnson R., Vlissides J.: „Design Patterns. Elements of Reusable Object-Oriented
Software”, Addison Wesley, 2000.
Hilyard J., Teilhet S.: „C#. Receptury”, Wydawnictwo Helion, 2006.
Podpis nauczyciela odpowiedzialnego
za przedmiot
Podpis
kierownika
(zakładu/studium)
katedry
Data i podpis dziekana właściwego
wydziału
Maciej Kusy