POLITECHNIKA RZESZOWSKA im. I. Łukasiewicza KARTA
Transkrypt
POLITECHNIKA RZESZOWSKA im. I. Łukasiewicza KARTA
POLITECHNIKA RZESZOWSKA im. I. Łukasiewicza WYDZIAŁ Wydział Elektrotechniki i Informatyki KIERUNEK Elektronika i Telekomunikacja SPECJALNOŚĆ FORMA I STOPIEŃ STUDIÓW Niestacjonarne I stopnia KARTA PRZEDMIOTU NAZWA PRZEDMIOTU Metodyki i techniki programowania Nauczyciel odpowiedzialny za przedmiot: Maciej Kusy Kontakt dla studentów: tel. (17) 8651113 e-mail: [email protected] Nauczyciel/e prowadzący: Maciej Kusy Katedra/Zakład/Studium Katedra Podstaw Elektroniki Semestr całkowita liczba godzin W C L 2 90 30 30 30 P (S) ECTS 8 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 5. Przeciążanie operatorów: cel, zasady. Które operatory można przeciążać. Przykłady funkcji operatorowych. 6. Tablice, mechanizm indeksowania. Kolekcje. 7. Dziedziczenie i polimorfizm. Pojęcie specjalizacji i uogólniania. Ujednolicony język modelowania (UML). Używanie dziedziczenia. Wywołanie konstruktora klasy podstawowej. Implementacja polimorfizmu (virtual, override). Przesłanianie metod (new). Klasa abstrakcji. 2 2 2 3 3 3 3 Klasa Object. Klasy uniwersalne. 8. 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. 9. 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. 10. Strumienie. Serializacja. Praca z formatem XML w technologii .NET. 11. Delegacje i zdarzenia 3 3 3 3 Ćwiczenia: 1. Algorytmy, podstawowe konstrukcje, schematy blokowe. 2. Metody reprezentowania informacji (reprezentacje liczb). 3. Rekurencja. 4. Implementacja dynamicznych struktur danych: stos, kolejka, lista jedno i dwu-kierunkowa. Laboratorium: 1. Zajęcia wprowadzające. Zapoznanie się ze programistycznym środowiskiem pracy. 2. Tworzenie projektu. Zastosowanie instrukcji sterujących i pętli. Implementacja algorytmów, struktór danych przedstawionych na ćwiczeniach w języku C. 3. Język C#. Definiowanie klas, metod, właściwości. Interfejs. 4. Dziedziczenie i polimorfizm. 5. Stworzenie aplikacji okienkowej - interakcja z użytkownikiem. 10 6 4 10 3 3 6 3 15 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, metod reprezentowania informacji, implementacji dynamicznych struktur danych. Dodatkowo, student powinien sprawnie poruszać się w środowisku programistycznym Visual Studio 2008, programować w języku C# oraz tworzyć aplikacje z graficznym interfejsem użytkownika 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 Chłosta P.: „Aplikacje Windows Forms .Net w C#”, Wydawnictwo naukowe PWN, 2006. 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. 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. Powers L., Snell M.: „Microsoft Visual Studio 2008 – KSIĘGA EKSPERTA”, Helion, 2009. 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. WYKAZ LITERATURY UZUPEŁNIAJĄCEJ Gamma E., Heml R., Johnson R., Vlissides J.: „Design Patterns. Elements of Reusable Object-Oriented Software”, Addison Wesley, 2000. Włodarczyk M.: „Programowanie obiektowe”, ITA-105 Programowanie obiektowe, 2009. Podpis nauczyciela odpowiedzialnego za przedmiot Podpis kierownika (zakładu/studium) katedry Data i podpis dziekana właściwego wydziału