SylabUZ

Generate PDF for this page

Principles of Programming - course description

General information
Course name Principles of Programming
Course ID 11.3-WI-INFP-PP
Faculty Faculty of Engineering and Technical Sciences
Field of study computer science
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 inż. Andrzej Popławski
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 18 1,2 Credit with grade
Laboratory 30 2 18 1,2 Credit with grade

Aim of the course

Zapoznanie ze specyfiką projektowania programu w języku C. Ukształtowanie umiejętności projektowania programu w C. Ukształtowanie umiejętności właściwego stosowania poleceń i struktur danych oraz wykorzystania technik programowania do rozwiązywania postawionych problemów. Zapoznanie studentów z architekturą systemu komputerowego pod kątem programowania.

Prerequisites

-

Scope

Architektura i zasoby komputera. Systemy operacyjne. Projektowanie programu. Pojęcie algorytmu. Programowanie strukturalne.

Języki programowania. Implementacje algorytmów w językach programowania. Środowisko programistyczne. Struktura programu w języku C. Przykład programu w C.

Programowanie w języku C. Składnia poleceń. Stałe i zmienne, typy danych, rozmiary. Operatory, wyrażenia i podstawowe instrukcje języka C. Podstawowe konstrukcje programistyczne: pobieranie i wyświetlanie danych. Struktura programu w języku C.

Typy danych. Zmienne i podstawowe operacje na zmiennych. Operatory arytmetyczne i ich hierarchia. Przykłady.
Formatowanie wydruku printf. Pełna składnia funkcji printf: flaga, szerokość pola, dokładność, znak formatujący. Tabela kodów ASCII.

Instrukcje złożone. Instrukcje: wyrażeniowe, pusta, grupująca. Instrukcje sterowania przebiegiem programu: instrukcja warunkowa if, if-else, else-if; instrukcja wyboru switch. Instrukcje iteracyjne (pętle): for, while, do-while. Instrukcje break i continue.

Wyrażenia i operatory. Operatory indeksowania, wyboru i wywołania. Operatory jednoargumentowe, arytmetyczne, logiczne. Operator warunkowy, przypisania, połączenia. Operatory bitowe. Inne operatory.

Wskaźniki. Zasady pracy ze wskaźnikami. Deklaracja, odwołanie do adresu i wartości wskazywanej.

Funkcje - budowa, argumenty, rezultat, prototyp, deklaracja, wywołanie, zastosowanie funkcji. Komunikacja funkcji z otoczeniem za pomocą wskaźników.

Tablice. Deklaracja, zastosowanie, podstawowe operacje, arytmetyka wskaźników, przekazywanie tablic do funkcji, przykłady. Nazwa zmiennej tablicowej jako wskaźnik. Tablice dwuwymiarowe. Deklaracja, zastosowanie, przykłady. Tablice dynamiczne, alokacja pamięci i jej zwalnianie. Funkcje: malloc(), calloc(), free().

Łańcuchy znaków. Podstawowe operacje na łańcuchach znakowych. Parametry funkcji main. Tworzenie i korzystanie z pliku wykonywalnego programu.

Struktury danych. Właściwości, dostęp do składowych struktury. Tablice struktur. Pola bitowe. Unie.

Pliki. Pojęcia podstawowe, struktura logiczna, pliki tekstowe i binarne. Ścieżka względna i bezwzględna. Praca z plikiem: kojarzenie strumieni z plikami, tryby otwarcia plików, zapis, odczyt, zamknięcie. Wybrane funkcje plikowe.

Teaching methods

Wykład: wykład konwencjonalny/tradycyjny.

Laboratorium: ćwiczenia laboratoryjne przy komputerze.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład - warunkiem zaliczenia jest uzyskanie pozytywnych ocen z kolokwiów pisemnych przeprowadzonych co najmniej raz w semestrze.

Laboratorium - warunkiem zaliczenia jest uzyskanie pozytywnych ocen z laboratoriów przewidzianych do realizacji w ramach programu zajęć.

Składowe oceny końcowej = wykład: 50% + laboratorium: 50%

Recommended reading

  1. Język ANSI C. Programowanie. Wydanie II, Brian W. Kernighan, Dennis M. Ritchie, Helion, 2010.
  2. Programowanie w C. Sprytne podejście do trudnych zagadnień, Zed A. Shaw, Helion 2016.   
  3. Język ANSI C, Brian W. Kernighan, Dennis M. Ritchie, WNT, 2004.
  4. Marek Tłuczek, Programowanie w języku C. Ćwiczenia praktyczne, Helion, 2011.
  5. Język C. Programowanie dla początkujących, Greg Perry, Dean Miller, Helion, 2016.
  6. Język C. Szkoła programowania, Stephen Prata, Helion, 2016.
  7. Programowanie w języku C, Steve Summit, Helion, 2003.
  8. Connor Sexton, Język C - to proste, Read Me, Warszawa 2001.
  9. Andrzej Sibik, Język C, Helion, Gliwice 1993.

Further reading

  1. Algorytmy w C, Loudon Kyle, Helion, 2003.

Notes


Modified by prof. dr hab. inż. Andrzej Obuchowicz (last modification: 20-04-2021 08:55)