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 Computer Science, Electrical Engineering and Automatics
Field of study Computer Science / Embedded Microsystems Engineering
Education profile academic
Level of studies First-cycle studies leading to Engineer's degree
Beginning semester winter term 2016/2017
Course information
Semester 1
ECTS credits to win 5
Course type obligatory
Teaching language polish
Author of syllabus
  • dr inż. Wojciech Zając
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 studentów z architekturą systemu komputerowego pod kątem programowania. 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.

Prerequisites

-

Scope

Architektura i zasoby komputera. System operacyjny. Projektowanie programu. Pojęcie algorytmu.

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..

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: if-else, switch, instrukcja skoku. Pętle: do, while, for.

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

Funkcje - wprowadzenie. budowa, argumenty, rezultat, prototyp, deklaracja, wywołanie, zastosowanie funkcji.

Operatory arytmetyczne - hierarchia.

Wskaźniki. Zasady pracy ze wskaźnikami. Deklaracja, odwołanie do adresu i wartości wskazywanej. Komunikacja funkcji z otoczeniem za pomocą wskaźników.

Tablice. Deklaracja, zastosowanie, przykłady. String jako tablica znaków. Nazwa zmiennej tablicowej jako wskaźnik. Tablice tablic. Deklaracja, zastosowanie, przykłady.

Struktury danych. Właściwości. Tablice struktur. Pola. Unie.

Pliki. Pojęcia podstawowe, struktura logiczna, buforowanie danych. Ścieżka względna i bezwzględna. Praca z plikiem: kojarzenie strumieni z plikami, otwarcie (tryby), zapis, odczyt, zamknięcie. Tworzenie i korzystanie z pliku wykonywalnego programu. Parametry funkcji main.

Teaching methods

Wykład: wykład konwencjonalny/tradycyjny.

Laboratorium: ćwiczenia laboratoryjne.

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 pozytywnej oceny z egzaminu przeprowadzonego w formie pisemnej.

Laboratorium - warunkiem zaliczenia jest uzyskanie pozytywnej ocen z kolokwium zaliczeniowego na końcu semestru.

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

Recommended reading

  1. Materiały wykładowe udostępnione w sieci Internet przez wykładowcę
  2. Summit S.: Programowanie w języku C, Helion, 2003.
  3. Strzelecka N, Zając W.: Programowanie w języku Ansi C, Wydawnictwo Akademii Morskiej w Gdyni, Gdynia, 2006.
  4. Kisilewicz J. Język. w środowisku Borland C++, Wydanie IV, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 2003.

Further reading

1. Loudon K.: Algorytmy w C, Helion, 2003

Notes


Modified by dr inż. Wojciech Zając (last modification: 20-09-2016 18:45)