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