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