Uniwersytet Jagielloński w Krakowie - Punkt LogowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Programowanie 1

Informacje ogólne

Kod przedmiotu: WM.II.P1-OL Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Programowanie 1
Jednostka: Instytut Informatyki i Matematyki Komputerowej
Grupy: Przedmioty dla programu WMI-0037-1SO
Punkty ECTS i inne: 6.00 LUB 5.00 (w zależności od programu)
zobacz reguły punktacji
Język prowadzenia: polski

Zajęcia w cyklu "Semestr zimowy 2020/2021" (w trakcie)

Okres: 2020-10-01 - 2021-01-28
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 45 godzin, 20 miejsc więcej informacji
Wykład, 30 godzin, 180 miejsc więcej informacji
Koordynatorzy: Rafał Kawa
Prowadzący grup: Jarosław Hryszko, Michał Jureczka, Rafał Kawa, Igor Sieradzki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Efekty kształcenia:











































Symbol Efekty kształcenia Odniesienie do efektów kierunkowych
E1 zna podstawowe techniki programowania obiektowego oraz projektowania programów z użyciem klas i obiektów K_W06+++
E2 potrafi korzystać z debuggera oraz zintegrowanych środowisk programistycznych K_W05+, K_U09+
E3 potrafi poprawnie zaprojektować oprogramowanie zgodnie z metodyką obiektową K_U10++
E4 potrafi zaprojektować i zaimplementować prosty model informatyczny na podstawie podanej specyfikacji K_U16+++
E5 potrafi ustnie i pisemnie przedstawić rozwiązanie prostego problemu informatycznego K_U20++, K_U21+
E6 rozumie i docenia znaczenie wartości intelektualnej w działaniach własnych oraz innych osób K_K06++

Wymagania wstępne:

brak

Forma i warunki zaliczenia:

Student otrzymuje ocenę końcową z ćwiczeń na podstawie punktów przyznawanych za systematycznie oddawane zadania domowe, sprawdziany, aktywność na ćwiczeniach oraz programy oceniane automatycznie przez system weryfikacji programów. Warunkiem otrzymania zaliczenia ćwiczeń jest uzyskanie łącznie co najmniej 50% możliwych do zdobycia punktów.



Metody sprawdzania i kryteria oceny efektów kształcenia uzyskanych przez studentów:


  • Programistyczne zadania domowe (E1, E2 E3,E4)

  • Automatycznie weryfikowane programy zaliczeniowe (E1, E2, E3, E4)

  • Prezentowanie rozwiązań zadań domowych oraz ustna obrona rozwiązań zadań programistycznych wysłanych do serwera automatycznej weryfikacji (E5, E6)

  • Wykorzystanie systemu antyplagiatowego na serwerze weryfikującym zadania programistyczne (E6)


Metody dydaktyczne - słownik:

Metody podające - prezentacja multimedialna
Metody podające - wykład informacyjny
Metody praktyczne - ćwiczenia laboratoryjne

Metody dydaktyczne:


  • Wykład ilustrowany prezentacją komputerową.

  • Ćwiczenia w laboratorium komputerowym, połączone z dyskusją przy tablicy.

  • Samodzielne implementacja zadań programistycznych i automatyczne testowanie ich na serwerze zadaniowym




Bilans punktów ECTS:

Udział w wykładach - 30 godz.

Udział w zajęciach laboratoryjnych – 45 godz.

Samodzielna implementacja zadań programistycznych – 75 godz.

Łączny nakład pracy studenta: 150 godzin , co odpowiada 5 punktom ECTS


Wymiar, zasady i forma odbywania praktyk:

nie dotyczy

Sylabus przedmiotu dla studentów rozpoczynających studia od roku akademickiego 19/20 lub później:

informatyka, rok 1

Skrócony opis:

Kurs obejmuje podstawowe klasyczne i współczesne techniki programowania, w tym programowania strukturalnego i obiektowegona bazie języka C/C++.

Pełny opis:

  1. Wprowadzenie: historia rozwoju języków i technik programowania, języki wysokiego poziomu, translacja, kompilatory i interpretery, przegląd podstawowych koncepcji języków programowania
  2. Elementarne wprowadzenie w programowanie w języku C++
  3. Programowanie niskopoziomowe: obiekty instrukcje i podprogramy na poziomie procesora, asembler, obsługa przerwań i stosu, kompilacja modułowa i linkowanie
  4. Programowanie proceduralne: wyrażenia, notacje funkcyjne, ewaluacja wyrażenia, programowanie poprzez stos, podprogramy, funkcje i procedury
  5. Programowanie strukturalne: zasady programowania strukturalnego, instrukcje selekcji, instrukcje pętli
  6. Typy danych: typy podstawowe i definiowane, typy pochodne i typy złożone, kontrola typów, polimorfizm, typy wartościowe i referencyjne
  7. Operatory: operatory matematyczne, operatory konwersji, kolejność wykonywania operatorów i porządek wartościowania
  8. Zmienne i tablice: zmienna jako nazwany obiekt, deklarowanie zmiennej, zakres ważności nazwy, inicjalizacja zmiennych, czas życia obiektu, obiekty stałe, typ tablicowy, tablice wielowymiarowe i tablice tablic, tablice nieregularne
  9. Odnośniki: referencje, wskaźniki, arytmetyka wskaźników, typy referencyjne, zastosowania, sterta
  10. Funkcje: przekazywanie argumentów, obiekty chwilowe, zwracanie wartości, przeładowanie nazw funkcji
  11. Programowanie bazujące na obiektach: złożoność strukturalna, abstrakcja danych, klasa i obiekt, enkapsulacja, projekt, interfejs i implementacja
  12. Konstruktory i destruktory, konstruktory kopiujące, jawne i niejawne wywołanie konstruktora
  13. Zarządzanie nazwami: klasy zagnieżdżone i klasy wewnętrzne, klasy lokalne, przestrzenie nazw i pakiety
  14. Przeładowanie operatorów: operator jako funkcja, przeładowanie operatorów jako funkcji globalnych oraz metod, zastosowania przeładowania operatorów
  15. Konwersje: konwersje standardowe, konwertery i funkcje konwertujące, konwersje jawne i niejawne, niejednoznaczność konwersji
Literatura:

Moduł ma charakter autorski, obowiązuje przede wszystkim materiał wyłożony, literatura ma charakter pomocniczy.

  1. B. Eckel, Thinking in C++ T 1 i 2, Helion, Gliwice, 2002-2004
  2. J. Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1996
  3. N.M. Josuttis, C++ Biblioteka Standardowa, Helion, Gliwice, 2003.
  4. M.L. Scott, Programming Language Pragmatics, Elsevier, Boston, 2006.
  5. R.W. Sebesta, Concepts of Programming Languages, Addison Wesley, Boston, 2004
  6. B. Stroustrup, Język C++, WNT, Warszawa 2000
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Jagielloński w Krakowie.