Podstawy_programowania_komputerów
Transkrypt
Podstawy_programowania_komputerów
WyŜsza Szkoła Biznesu w Dąbrowie Górniczej Kierunek studiów: INFORMATYKA Przedmiot: Podstawy programowania komputerów Specjalność: wszystkie Liczba godzin w semestrze ECTS WYKŁADOWCA 1 2 3 I II III IV V VI 15 w / 30 ćw / 15 lab 15 w / 15 lab 9 4 dr inŜ. Aleksander Górny, mgr inŜ. Arkadiusz Jestratjew, mgr inŜ. Paweł Buchwald, mgr inŜ. Michał Heliński FORMA ZAJĘĆ CELE PRZEDMIOTU Wykład / ćwiczenia / laboratorium WYKŁAD: to przekazanie wiedzy niezbędnej do: • czytania prostych programów z ich zrozumieniem i pisania programów w języku programowania , wysokiego poziomu np. C++; • symbolicznego wykonywania prostych programów dla ich weryfikacji; • pisania prostych programów z wykorzystaniem języka C++. ĆWICZENIA: Pogłębienie i opanowanie zaawansowanych moŜliwości programowania w języku C++, (praktyczna implementacja problemów algorytmicznych) nabranie praktyki przy rozwiązywaniu problemów algorytmicznych. WARUNKI WSTĘPNE TREŚĆ PRZEDMIOTU LABORATORIUM: Celem jest zaznajomienie słuchacza z podstawowymi zagadnieniami programowania na przykładzie języka C++. Słuchacze nabywają umiejętności projektowania i implementowania prostych i średniozaawansowanych programów komputerowych. Student powinien posiadać podstawowe wiadomości z matematyki oraz podstawowe zagadnienia w zakresie Podstaw Informatyki. Zakłada sie, Ŝe studenci posiadają podstawowe umiejętności algorytmiczne w zakresie struktur danych i przetwarzania danych (tablice, problemy sortowania itp.). WYKŁAD: Pojęcie algorytmu. Podstawowe konstrukcje programistyczne. Podstawowe typy, wyraŜenia, operatory i instrukcje zmieniające sekwencje wykonywanego programu (if, while itp.), tablice, funkcje, struktury. Implementacje algorytmów w języku programowania. Podstawowe struktury danych oraz wykonywane na nich operacje. Dynamiczny przydział pamięci. Rekurencja i jej implementacja w językach wysokiego poziomu. Metody weryfikacji poprawności programów. Preprocesor, rodzaje kompilacji. Przestrzenie nazw i modularyzacja kodu. Korzystaniu z plików i wybranych funkcji z bibliotek. Wprowadzenie do klas, obiektów, relacji między obiektami, dziedziczenia. Wszystkie powyŜej podane zagadnienia są realizowane na przykładach języka C++ . ĆWICZENIA: Na bazie przykładowych programów w C++ omówienie: • Deklaracje, definicje zmiennych i stałych. Nazwy, typy, literały, konwersje. • WyraŜenia, instrukcje proste i złoŜone. • Instrukcja warunkowa if, if–else - proste i złoŜone. Instrukcje skoków (Return, Exit, Break.) •Pętle: while, do - while, for. Deklarowanie, definiowanie, wywoływanie funkcji. • Pliki nagłówkowe. Definiowanie tablic. Operacje na tablicach. • Wejście, wyjście i pliki. Zapisywanie i czytanie z pliku. • Funkcje Inline. Wskaźniki i ich zastosowanie. • Diagnostyka i obsługa błędów. LABORATORIUM: Realizacja • Zapoznanie z działaniem i obsługa Dev-Cpp oraz edytorów kodu źródłowego dla języków. • Odwzorowanie schematów blokowych w programach w języku C++ (C). PoniŜej podane zagadnienia będą realizowane na przykładach w języku C++: • Implementacja programów związanych z problematyką przedstawianą na ćwiczeniach. • Funkcje standardowe, operatory arytmetyczne, logiczne . • Tablice wielowymiarowe oraz sprawdzanie poprawności indeksów. • Typ rekordowy i operacje na rekordach. • Rekursja. • Typ wskaźnikowy, operacje na listach w C++. • Implementacja prostych algorytmów wyszukiwania i sortowania w C++. LITERATURA 1. 2. 3. 4. 5. 6. 7. 8. METODY NAUCZANIA PRZYKŁADOWE TEMATY PROJEKTÓW SPOSÓB I WARUNKI ZALICZENIA PRZEDMIOTU Larry Ullman, Andreas Signer, Programowanie w języku C++ , Wydawnictwo Helion Gliwice, 2007. Kazimierz Jakubczyk, Turbo Pascal i Borland C++ Przykłady, Wydanie II, Wydawnictwo Helion Gliwice, 2006. Bojrne Stroustrup, Język C++ , Wydanie II Wydawnictwo NT Warszawa 1995. N. Wirth, Algorytmy + struktury danych = programy, Wydawnictwo NT, Warszawa, 2000. Mirosław J. Kubiak Programuje w językach Turbo Pascal i C/C++ : programowanie strukturalne z elementami programowania obiektowego –, Wyd. Mikom, Warszawa 2001. Stanley B. Lippman, Istota Języka C++ zwięzły opis, WNT Warszawa 2004. Andrzej Stasiewicz, Ćwiczenia praktyczne C++ , Wydanie II Wydawnictwo Helion Gliwice 2006. Julian Templeman, Andy Olsen, Microsoft Visual C++ .NET, Wydawnictwo RM, Warszawa 2002. ĆWICZENIA: Zakłada sie, Ŝe podstawowy zakres wiedzy teoretycznej i praktycznej opanowany został podczas wykładu. Ćwiczenia (czy laboratoria) są prowadzone na salach komputerowych. Polegają one na rozwiązywaniu przykładowego zadania przez prowadzącego ćwiczenia a następnie pozostałych zadań przez studentów. Zakłada się, Ŝe studenci opanują umiejętności rozwiązywania problemów programistycznych z wykorzystaniem języka C++. KaŜdy kolejny temat to rozwiązanie zadań o charakterze elementarnym, ilustrującym podstawowe zasady i mechanizmy, a następnie zadań o większym stopniu trudności. W drugim semestrze nauczania przedmiotu większy nacisk kładzie się na zagadnienia o większym stopniu złoŜoności, wymagające umiejętności algorytmicznych. Na ćwiczeniach prowadzona jest dyskusja nad rozwiązaniem, rozwiązaniami alternatywnymi oraz interesującymi aspektami zadania (np. priorytety operatorów czy moŜliwa optymalizacja). Studenci otrzymują przykłady z rozwiązywanymi zadaniami oraz otrzymują zadania do samodzielnego rozwiązania w domu. LABORATORIUM: Laboratorium, zadane wcześniej zadania, dyskusja. WYKŁAD: Zaliczenie przedmiotu następuje na podstawie egzaminu po II semestrze. ĆWICZENIA: Warunkiem zaliczenia jest pozytywna ocena ze sprawdzianu końcowego. Na końcową ocenę ma równieŜ wpływ aktywna praca studenta w czasie ćwiczeń – realizacja zadanych ćwiczeń. LABORATORIUM: Oddanie programu końcowego, tak po I jak i po II semestrze, oraz sprawdzenie przez prowadzącego szczegółowej znajomości opcji zrealizowanego programu i wyjaśnienie funkcji kodu źródłowego. Na końcową ocenę ma równieŜ wpływ aktywna praca studenta w czasie laboratoriów. PRZYKŁADOWE WYKŁAD: Egzamin w formie testowej (przy komputerach) obejmujący teoretyczne i praktyczne ZAGADNIENIA (ew. zagadnienia poruszane w trakcie trwania zajęć. pytania) EGZAMINU/ ĆWICZENIA: ZALICZENIA • Napisz funkcję o nazwie test() , która do tablicy N na N elementów typu całkowitego integer wpisze cyfrę ‘1’ na krawędziach i ‘0’ w środku. Funkcja ma zwracać ilość zer występujących w tablicy. Następnie przetestuj funkcje programem wyświetlającym zawartość tablicy na monitorze. Np. dla tablicy 4 na 4 efekt powinien wyglądać mniej więcej tak: 1111 1001 1001 1 1 1 1. LABORATORIUM: ( przykłady prostych programów) • Napisać jeden program, sortujący rosnąco lub malejąco tablicę liczb całkowitych. Rodzaj sortowania wybieramy przez naciśnięcie klawisza M na klawiaturze. • Napisać program dodający do listy jednokierunkowej zawierającej słowa uporządkowane alfabetycznie nowe słowo. Tabela po operacji powinna być dalej uporządkowana. * Proszę zacieniować odpowiedni rok i semestr