Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Informatyka, I stopień Sylabus modułu: Programowanie (PRO0.1) Nazwa wariantu modułu (opcjonalnie): 1. Informacje ogólne koordynator modułu rok akademicki 2012/2013 semestr zimowy forma studiów studia stacjonarne sposób ustalania na ocenę końcową składają się: oceny końcowej pisemne sprawdziany (2) z umiejętności czytania programów oraz pisania prostych modułu funkcji (20%), weryfikacja programów napisanych na zadane tematy (80%) Sprawdziany są opcjonalne i w razie gdy nie zostaną przeprowadzone, ocena końcowa ustalana jest w oparciu o programy napisane na ćwiczeniach. Moduł ma za zadanie wyrównanie umiejętności programowania z jakimi rozpoczynają studia studenci. Proponowane przez prowadzącego laboratorium zadania, muszą być zróżnicowane od najprostszych do trudnych. 2. Opis dydaktycznych i pracy Wykład : Programowanie1 prowadzący treści wszyscy studenci I roku informatyki 1. Podstawowe pojęcia programowania 1.1. obiekty i instrukcje języka programowania 1.2. identyfikator, zmienne, instrukcje, pętle 1.3. podstawy arytmetyki stałopozycyjnej i zmiennopozycyjnej 2. Pascal podstawy 2.1. narzędzia: Free Pascal 3. Algorytmy 3.1. algorytmy iteracji, schemat Hornera 3.2. problemy rekurencji 3.3. diagramy przepływu 4. Procedury i funkcje 4.1. nagłówek funkcji 4.2. przekazywanie argumentów 5. Agregaty obiektów 5.1. rekordy i tablice 6. Wprowadzenie do języka C 6.1. narzędzia C Free lub Dev C++ 6.2. podstawy i definiowanie typów podstawowych 6.3. rzutowanie typów 6.4. typedef, hierarchia operatorów 7. Dyrektywy preprocesora i makropodstawienia 8. Gospodarka pamięcią PRO0.1_fs_1
Uniwersytet Śląski w Katowicach str. 2 metody prowadzenia dydaktycznych (kontaktowych) pracy własnej opis pracy własnej organizacja obowiązkowa uzupełniająca 8.1. wyliczeniowy typ danych 8.2. struktury i unie 8.3. pola bitowe 8.4. tablice 8.5. wskaźniki 9. Operatory 9.1. operatory wyłuskania 9.2. zmienne automatyczne 9.3. operacje na łańcuchach 9.4. referencje 10. Przeciążanie (dociążanie) funkcji 11. Wprowadzenie do języka C++ 11.1. rzutowanie i konwersja typów 11.2. przegląd instrukcji 11.3. gospodarka pamięcią 11.4. operatory New, delete 11.5. rzutowanie typów 11.6. typy np. bool, string Jak w opisie modułu Wyszukiwanie programów w Internecie i ich modyfikacje. Udział w kursie Programowanie na platformie Moodle. Wykorzystanie programów prezentowanych na wykładzie. Studiowanie zalecanej literatury. 2 godziny tygodniowo, sala i godziny podane na harmonogramie N.Wirth, Algorytmy + Struktury danych = Programy, WNT Klasyka informatyki, 2004 B.W. Kerningham, D.M. Ritchie, Język ANSI C, WNT Klasyka informatyki, 2004 B.Stroustrup, Język C++ WNT Klasyka informatyki, 2002 J.Bentley, Perełki oprogramowania, WNT, 2008 Maciej Marek Sysło Algorytmy, WSIP 2008 Piękny pod redakcją A. Orama i G. Wilsona, Helion, 2008 adres strony www laboratorium prowadzący PRO0.1_fs_2 gr.1a, gr 1b, 2a i 4a dr hab. Zbigniew Dendzik, gr. 3a prof. dr hab. Zygmunt Gburski, gr. 2b, 3b i 4b dr Paweł Zajdel
Uniwersytet Śląski w Katowicach str. 3 treści metody prowadzenia dydaktycznych (kontaktowych) pracy własnej opis pracy własnej organizacja obowiązkowa uzupełniająca adres strony www Rozpoznanie umiejętności programowania wśród studentów. Sformułowanie zadań o różnym stopniu trudności: Prosty jednolity program, następnie przekształcenie go w program z funkcjami, procedurami; oddzielenie interfejsu użytkownika od reszty programu Program testujący zaplanowaną funkcję (o określonej specyfikacji) Program z kilkoma funkcjami, powiązanymi ze sobą (funkcja wywołuje inną) Pisanie nagłówków funkcji przyjmujących argumenty co najmniej dwóch typów i zwracającej wyniki także co najmniej dwóch typów Deklaracje funkcji próba tworzenia interfejsu Zadania te należy wykonać w Pascalu i C (podzbiorze C++). Sformułowanie (specyfikacja) i omówienie problemów (prostego i złożonego) do zaprogramowania. Krótkie wskazówki jak problem rozwiązać. Kontrola pracy własnej studentów. Pierwsze zajęcia z zakresu projektowania nagłówków funkcji powinny odbyć się z udziałem wszystkich studentów w grupie (ćwiczenia tablicowe) 60 Dokończenie programów rozpoczętych na ćwiczeniach zgodnie ze wskazówkami sformułowanymi przez prowadzącego. 2 godziny tygodniowo, sale i godziny podane na harmonogramie jak w przypadku wykładów jak w przypadku wykładów 3. Opis sposobów efektów kształcenia modułu aktywność na zajęciach (-y) PRO0.1_w_2 gr.1a, gr 1b, 2a i 4a dr hab. Zbigniew Dendzik, gr. 3a prof. dr hab. Zygmunt Gburski, gr. 2b, 3b i 4b dr Paweł Zajdel gr.1a, Znajomość języków programowania Pascal, C i częściowo C++ (bez programowania obiektowego) na poziomie umożliwiającym czytanie ze zrozumieniem prostych programów. Umiejętność zaprojektowania funkcji (nagłówek) na podstawie jej specyfikacji (co najmniej dwa typy danych i co najmniej dwa typy wyników). Umiejętność napisania implementacji zaprojektowanej funkcji.
Uniwersytet Śląski w Katowicach str. 4 Umiejętność napisania przykładowego programu wykorzystującego napisaną funkcję. Sprawne pisanie u funkcji i przykładowego programu może dotyczyć jednego z wymienionych wyżej języków. Realizacja zadań sformułowanych przez prowadzącego. Ocena sprawdzianów (opcjonalne) Student na koniec każdych ćwiczeń powinien plik z programem (fragmentem programu) zapisać we wspólnym (dzielonym) katalogu na serwerze. Nazwa folderu: Nazwisko Imię\data ćwiczeń\surowe. Jeżeli student pracował nad programem poza ćwiczeniami, na następnych zajęciach ma zapisać ten program w katalogu Nazwisko Imię\data ćwiczeń\gotowe. Prowadzący zajęcia po każdych zajęciach kopiuje te katalogi do swoich zasobów, by mieć możliwość oceny postępów oraz przekazania studentowi odpowiednich wskazówek. Pliki z programami jednocześnie będą dokumentacją postępów studentów. sprawdziany pisemne (-y) PRO0.1_w_1 gr.1a, gr 1b, 2a i 4a dr hab. Zbigniew Dendzik, gr. 3a prof. dr hab. Zygmunt Gburski, gr. 2b, 3b i 4b dr Paweł Zajdel gr.1a 1. Umiejętność wypisania kolejno wykonywanych instrukcji w trakcie realizacji zadanego programu zawierającego co najmniej dwie funkcje. Dodatkowo można wymagać podania wartości obiektów będących argumentami funkcji (wejściowymi i wyjściowymi) 2. Napisanie na podstawie specyfikacji nagłówków funkcji (nie więcej niż 3). Zaimplementowanie jednej z nich. Dodatkowo przekształcenie pseudou na rzeczywisty. Ocena prowadzącego zajęcia. Zadania punktowane od 0-5 pkt. 50% maksymalnej punktacji uprawnia do zaliczenia sprawdzianu i wystawienia oceny pozytywnej (50-60% dst, 60-70% plus dst,70-80% dobry, 80-90% plus dobry, 90-100% bardzo dobry). Każdy sprawdzian powinien się składać z dwóch godzinnych części: a) pisanie na kartce papieru odpowiedzi (dopuszczalny plik tekstowy) b) osobiste sprawdzenie własnej pracy 1. Po napisaniu sprawdzianu, każdy student ma możliwość sprawdzenia poprawności swojej odpowiedzi przy pomocy debugera. 2. Po napisaniu sprawdzianu, każdy student powinien swoją funkcje zapisać w postaci programu i zobaczyć jej działanie. egzamin pisemny - brak (-y) brak
Uniwersytet Śląski w Katowicach str. 5 wszyscy studenci I roku informatyki