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 Stacjonarne I stopnia KARTA PRZEDMIOTU NAZWA PRZEDMIOTU Metodyki i techniki programowania Nauczyciel odpowiedzialny za przedmiot: Grzegorz Hałdaś Kontakt dla studentów: tel. (17)8651112 e-mail: [email protected] Nauczyciel/e prowadzący: Grzegorz Hałdaś, 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. Pierwszy program. Typy danych. Modyfikatory typów. 3. Operatory: argumentowość, priorytet. Instrukcje sterujące i pętle. 4. Typy modyfikujące: wskaźnik, tablica, funkcja. Definicje funkcji, prototyp, wywołanie funkcji. Wartość zwracana przez funkcję. Rekurencja. 5. Standardowe operacje wejścia i wyjścia dla języka C (stdio.h). 6. Struktura, unia i pola bitowe: deklaracje i sposób wykorzystania. Parametry funkcji main. 7. Wprowadzenie do programowania zorientowanego obiektowo: język C++. Wprowadzenie pojęcia strumienia. Pojęcie klasy. Referencja (typ modyfikujący). Typ wyliczeniowy. 8. Klasy: działanie na obiektach, funkcje składowe: deklarowanie i definiowanie. Wskaźnik this. Składnik statyczny klasy. 9. Kapsułkowanie (enkapsulacja), różnica między strukturą a klasą w języku C++. 10. Przesłanianie nazw zmiennych i funkcji. Przeładowanie nazw funkcji. Argumenty domyślne funkcji. Wprowadzenie do konstruktora 11. Konstruktor. Destruktor. Dynamiczna alokacja pamięci. 12. Lista inicjalizacyjna konstruktora. Konstruktor kopiujący. 2 2 2 4 2 2 2 2 2 2 2 2 13. Funkcje zaprzyjaźnione. Zaprzyjaźnienie klas. 14. Przeładowanie operatorów: liczba argumentów; operator jako funkcja zwykła, jako funkcja składowa. Ćwiczenia: 1. Algorytmy, podstawowe konstrukcje. 2. Programy w języku C. Podstawowe typy i struktury danych. Operatory. Podstawowe instukcje języka C. 3. Realizacja prostych algorytmów sortowania i przeszukiwania danych. 4. Definiowanie klasy. Składniki klasy, funkcje składowe, konstruktor, destruktor. 5. Konstruktor kopiujący. Przeładowanie operatorów. 6. Deklaracja wskaźników, arytmetyka wskaźników. Dynamiczna alokacja pamięci. 7. Dynamiczne struktury danych (I) – listy, tablicowe realizacje list, stos, kolejki priorytetowe. 8. Dynamiczne struktury danych (II) – stos, kolejki priorytetowe. 9. Dynamiczne struktury danych (III) – drzewa i ich reprezentacje. 10. Zaliczenie. Laboratorium: 1. Zajęcia wprowadzające. Zapoznanie się ze programistycznym środowiskiem pracy. 2. Tworzenie projektu i realizacja prostych algorytmów. Zastosowanie instrukcji sterujących i pętli. 3. Działanie na wskaźnikach i tablicach. 4. Deklarowanie i definiowanie funkcji. 5. Tworzenie struktur, unii i funkcji działających zmiennych struktur. 6. Definiowanie klasy, funkcji składowych klasy. 7. Rozbudowa klasy, dynamiczna alokacja pamięci. 8. Konstruktor kopiujący i funkcje operatorowe. 9. Centrum sterowania (interakcja z użytkownikiem), opracowania interfejsu obsługi klasy. 10. Zaliczenie. 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 i 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. WYKAZ LITERATURY PODSTAWOWEJ Cormen T. H.: Leiserson Ch. E., Rivest R. L., Stein C, Wprowadzenie do algorytmów, WNT, 2004. Wanat Kazimierz, Algorytmy numeryczne, Wydawnictwo DIR, Gliwice, 1993. Bjorck Ake, Dalquist Germund, Metody numeryczne, WNT, Warszawa, 1987. Fortuna Zenon, Macukow Bohdan, Wąsowski Janusz, Metody numeryczne, WNT, Warszawa 1993. Kernighan Brian W., Ritchie Dennis M., Język ANSI C, WNT, Warszawa 1994. Delannoy Claude, Ćwiczenia z języka C, WNT, Warszawa 1993. Drozdek A., Simon D. L.: Struktury danych w języku C, WNT, 1996. Grębosz Jerzy, Symfonia C++, Oficyna Kallimach, Kraków 1993. Grębosz Jerzy, Symfonia C++ standard, Wydawnictwo „Edition 2000”, Kraków 2005. Stroustrup Bjarne, Język C++, WNT, Warszawa 1994. Hansen Tony L., C++. Zadania i odpowiedzi, WNT, Warszawa 1994. 2 2 2 4 2 2 2 4 4 4 4 2 3 3 3 3 3 3 3 3 3 3 WYKAZ LITERATURY UZUPEŁNIAJĄCEJ Coad P., Yourdon E., Analiza obiektowa, Oficyna Wydawnicza Read Me, Warszawa 1994. Coad P., Yourdon E., Projektowanie obiektowe, Oficyna Wydawnicza Read Me, Warszawa 1994. Coad P., Nicola J., Programowanie obiektowe, Oficyna Wydawnicza Read Me, Warszawa 1993. Grębosz J.: Pasja C++. Oficyna Kallimach, 1997. Podpis nauczyciela odpowiedzialnego za przedmiot Podpis kierownika (zakładu/studium) katedry Data i podpis dziekana właściwego wydziału