SylabUZ

Generate PDF for this page

Principles of programming - course description

General information
Course name Principles of programming
Course ID 11.3-WE-AiRP-PP
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Automatic Control and Robotics / Industrial Control
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ż. Grzegorz Łabiak
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 Exam
Laboratory 30 2 18 1,2 Credit with grade

Aim of the course

Celem przedmiotu jest nauka programowania w języku C. Nauka polega w pierwszej kolejności na zapoznaniu się ze składnią i semantyką języka oraz na kształceniu umiejętności implementowaniu prostych algorytmów. Dodatkowo studenci zaznajamiani są z podstawowymi elementami złożoności obliczeniowej, które pozwalają na pobieżną ocenę implementowanych algorytmów.

Prerequisites

Brak wymagań.

Scope

Wstęp do programowania w języku C. Środowisko programistyczne, pliki źródłowe, kompilacja, podstawowe elementy budowy programu, funkcja główna, funkcje i procedury.
Typy podstawowe, deklaracje zmiennych i ich zasięg. Stałe i preprocesor.
Operacje wejścia/wyjścia. Pliki i działania na plikach. Funkcje printf() i scanf().
Operatory, wyrażenia, instrukcje. Konwersje typów.
Pętle iteracyjne: for, while, do-while. Instrukcje decyzyjne. if, switch.
Tworzenie własnych funkcji. Argumenty i zmienne lokalne. Zmienne automatyczne i zmienne statyczne. Wartość zwracana.
Tablice i łańcuchy znaków. Inicjowanie tablic. Tablice wielowymiarowe. Operacje na ciągach znaków. Operacje bitowe.
Wskaźniki. Deklaracje i operacje na wskaźnikach.
Struktury. Inicjowanie struktur. Tablice struktur. Struktury struktur. Struktury zawierające tablice.
Kolejne elementy języka są ilustrowane zaimplementowanymi prostymi algorytmami: sortowanie (bąbelkowe, wybór prosty, qsort); działanie na listach (tworzenie, dodawanie, usuwanie, sortowanie, wyświetlanie); drzewa binarne (tworzenie drzewa, wstawianie, przeszukiwanie, wyświetlania); grafy w pamięci komputera i ich algorytmy: macierz incydencji, macierz sąsiedztw.

Teaching methods

wykład: wykład konwencjonalny

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 lub ustnej

Laboratorium – warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich ćwiczeń laboratoryjnych, przewidzianych do realizacji w ramach programu laboratorium

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

Recommended reading

1. Kernighan B. W., Ritchie D. M.: Język ANSI C, WNT, Warszawa 1994. Wydział Informatyki, Elektrotechniki i Automatyki Kierunek: automatyka i robotyka

2. Sielicki A.: Laboratorium programowania w języku Pascal, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 1994.

Further reading

1. Aho A. V., Hopcroft J. E., Ullman J. D.: Projektowanie i analiza algorytmów, Helion, Gliwice, 2003.

2. Banachowski L., Diks K., Rytter W.: Algorytmy i struktury danych, WNT, Warszawa, 2001.

3. Roszkowski J.: Analiza i projektowanie strukturalne, Helion, Gliwice, 2002.

4. Wirth N.: Algorytmy + struktury danych = programy, WNT, Warszawa, 1989

Notes


Modified by dr inż. Grzegorz Łabiak (last modification: 15-09-2016 14:10)