SylabUZ

Generate PDF for this page

Fundamentals of Programming - course description

General information
Course name Fundamentals of Programming
Course ID 11.3-WK-IDP-PP-W-S14_pNadGen044HL
Faculty Faculty of Mathematics, Computer Science and Econometrics
Field of study Data Engineering
Education profile academic
Level of studies First-cycle studies leading to Engineer's degree
Beginning semester winter term 2021/2022
Course information
Semester 1
ECTS credits to win 5
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 w języku C++ 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. Arytmetyka komputerów. Algorytm, język programowania, program, kompilator, sieć działań programu.
  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. Asymptotyka. Złożoność obliczeniowa algorytmów. Semantyczna poprawność.
  4. Zmienne dynamiczne: definicje, procedury tworzenia i usuwania zmiennych dynamicznych, operacje określone na elementach typu wskaźnikowego.
  5. Pliki: Podstawowe operacje na plikach w C++.

Laboratorium

  1. System Dev C++.
  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. Zmienne dynamiczne i proste struktury dynamiczne.

Teaching methods

Wykład: wykład problemowy.

Laboratorium: ćwiczenia laboratoryjne w pracowni komputerowej – pisanie i uruchamianie samodzielnie 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.

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 złożony jest 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, napisane samodzielnie programy, 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. A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice, 2010.

2. J. Grebosz, Symfonia C++, Wydawnictwo Edition 2000, Kraków, 2010;

3. 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.  A. and K. Kingsley-Hughes, Programowanie od podstaw, Helion, Gliwice, 2005.

Notes


Modified by dr Alina Szelecka (last modification: 05-05-2021 13:03)