SylabUZ

Generate PDF for this page

Computer Programming 1 - course description

General information
Course name Computer Programming 1
Course ID 11.3-WK-IiEP-PK1-W-S14_pNadGenAOBCW
Faculty Faculty of Mathematics, Computer Science and Econometrics
Field of study Informatics and Econometrics
Education profile academic
Level of studies First-cycle studies leading to Bachelor's degree
Beginning semester winter term 2018/2019
Course information
Semester 1
ECTS credits to win 6
Course type obligatory
Teaching language polish
Author of syllabus
  • dr Florian Fabiś
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 30 2 - - Exam
Laboratory 30 2 - - Credit with grade

Aim of the course

Opanowanie umiejętności pisania prostych programów z wykorzystaniem podstawowych struktur danych, z zachowaniem zasad programowania strukturalnego. Zdobycie przez studenta wiedzy i umiejętności w zakresie podstaw analizy algorytmów.

Prerequisites

Znajomość obsługi komputera. Znajomość matematyki na poziomie szkoły średniej.

Scope

Wykład

  1. System komputerowy. Sprzęt i oprogramowanie. Algorytm, język programowania, program, kompilator, sieć działań programu. Arytmetyka komputerów.
  2.  Podstawy programowania w C++.  Paradygmat programowania strukturalnego. Struktura programu. Standardowe typ proste: całkowite, rzeczywiste, logiczny, znakowy, łańcuchowy. Deklaracje zmiennych. Instrukcja przypisania. Instrukcje wejścia-wyjścia. Funkcje: definicje, obiekty lokalne i globalne, przekazywanie parametrów przez zmienną i przez wartość, funkcje standardowe. Instrukcje warunkowe i iteracyjne. Tablice, operacje na tablicach. Przetwarzanie łańcuchów.
  3. Własności algorytmów. Złożoność obliczeniowa algorytmów. Semantyczna poprawność algorytmu. Asymptotyka.
  4. Metodyka rozwiązywania problemów algorytmicznych..

Laboratorium

  1. Schematy blokowe.
  2. Podstawowe elementy języka C++: Standardowe typ proste, wyrażenia arytmetyczne i logiczne, deklaracje zmiennych, wybrane  funkcje standardowe.
  3. Pisanie i uruchamianie prostych programów z instrukcjami: przypisania, wejścia-wyjścia, warunkowymi.
  4. Pisanie i uruchamianie programów zawierających procedury i funkcje.
  5. Pisanie i uruchamianie programów zawierających instrukcje iteracyjne.
  6. Przetwarzanie tablic.
  7. Przetwarzanie łańcuchów. 
  8. Uruchamianie przygotowanej samodzielnie aplikacji wykorzystującej wszystkie zdobyte na zajęciach umiejętności.

Teaching methods

Wykład: wykład problemowy.

Laboratorium: ćwiczenia laboratoryjne w pracowni komputerowej – pisanie i uruchamianie samo-dzielnie napisanych programów w C++, na zadane przez prowadzącego tematy,  analiza tych programów i analiza stosowanych algorytmów. Nad niektórymi programami studenci będą pracowali w grupach 2–3 osobowych. Ponadto każdy student jest zobowiązany przedstawić na ostatnich ćwiczeniach samodzielnie napisaną aplikację będącą programem zawierającym wszystkie poznane wcześniej na zajęciach elementy języka C++ wraz z dokumentacją zgodnie z zadaną specyfikacją.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład. Egzamin weryfikujący efekty kształcenia w zakresie wiedzy i umiejętności. Egzamin składa się z dwóch części, pisemnej i ustnej. Warunkiem przystąpienia do części ustnej jest uzyskanie 30% punktów z części pisemnej. Uzyskanie 50% punktów z części pisemnej gwarantuje uzyskanie pozytywnej oceny.

Laboratorium. Ocena końcowa  jest wystawiana na podstawie punktów uzyskanych na zajęciach. Punkty uzyskuje się za napisane na zajęciach sprawdziany, przedstawioną na ostatnich zajęciach aplikację, aktywność na zajęciach.

Na ocenę z przedmiotu składa się ocena z laboratorium (50%) oraz ocena z egzaminu (50%). Warunkiem przystąpienia do egzaminu jest pozytywna ocena z laboratorium. Warunkiem zaliczenia przedmiotu jest pozytywna ocena z egzaminu.

Recommended reading

  1. L. Banachowski, K. Diks, W. Rytter : Algorytmy i struktury danych, WNT, W-wa 1996.
  2. J. Grebosz, Symfonia C++, Wydawnictwo Edition 2000, Kraków, 2010
  3. A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice, 2010. 
  4. A. Stasiewicz, C++. Ćwiczenia praktyczne, Helion, Gliwice, 2008.

Further reading

1.        T.H. Cormen, Ch.E. Leiserson, R.L. Rivest: Wprowadzenie do algorytmów, WNT, 1997.

2.        P. Wróblewski: Algorytmy, struktury danych i techniki programowania, wyd. II popr., Helion, 2001.

Notes


Modified by dr Robert Dylewski, prof. UZ (last modification: 04-05-2018 19:24)