Module also offered within study programmes:
General information:
Name:
Procedural programming
Course of study:
2015/2016
Code:
BIT-1-304-s
Faculty of:
Geology, Geophysics and Environmental Protection
Study level:
First-cycle studies
Specialty:
-
Field of study:
Applied Computer Science
Semester:
3
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Bała Justyna (jbala@geol.agh.edu.pl)
Academic teachers:
dr Onderka Zdzisław (zonderka@agh.edu.pl)
Module summary

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student posiada umiejętność współpracy i posiada zdolność do samokształcenia IT1A_K01, IT1A_K03 Test,
Project
Skills
M_U001 Student potrafi zaprojektować oraz zrealizować prostą aplikację informatyczna, używając właściwych metod, technik i narzędzi IT1A_U13 Test,
Execution of a project
M_U002 Student potrafi łączyć znane algorytmy obliczeniowe i tworzyć własne w celu rozwiązywania prostych zagadnień obliczeniowych IT1A_U15 Test,
Execution of a project
M_U003 Student potrafi zastosować zasady rozumowania algorytmicznego do rozwiązywania problemów IT1A_U16 Project,
Participation in a discussion
Knowledge
M_W001 Student ma uporządkowana wiedzę w zakresie metodyki i technik programowania IT1A_W11 Test
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student posiada umiejętność współpracy i posiada zdolność do samokształcenia - - + - - - - - - - -
Skills
M_U001 Student potrafi zaprojektować oraz zrealizować prostą aplikację informatyczna, używając właściwych metod, technik i narzędzi - - + - - - - - - - -
M_U002 Student potrafi łączyć znane algorytmy obliczeniowe i tworzyć własne w celu rozwiązywania prostych zagadnień obliczeniowych - - + - - - - - - - -
M_U003 Student potrafi zastosować zasady rozumowania algorytmicznego do rozwiązywania problemów - - + - - - - - - - -
Knowledge
M_W001 Student ma uporządkowana wiedzę w zakresie metodyki i technik programowania + - + - - - - - - - -
Module content
Lectures:

1. Przypomnienie podstawowych elementów języka C (typy danych, instrukcje proste i strukturalne, operacje we/wy standardowe i strumieniowe).
2. Przypomnienie problematyki tablic jednowymiarowych i dwuwymiarowych. Generowanie liczb pseudolosowych. Operacje na tablicach jednowymiarowych i dwuwymiarowych
3. Tablice wielowymiarowe
4. Wskaźniki, adresy pamięci. Typ wskaźnikowy, wskaźniki zmiennych, arytmetyka na adresach, wskaźnikach. Praca z tablicami w zapisie indeksowym i wskaźnikowym. Tablica a wskaźnik
5. Zarządzanie pamięcią. Alokacja i zwalnianie pamięci przydzielonej dynamicznie.
6. Tworzenie własnych funkcji. Sposoby przekazywania parametrów, przekazywanie tablic do funkcji.
7. Operacje na znakach i tablicach znaków.
8. Operacje na plikach tekstowych i binarnych.
9. Struktury, tablice struktur, wskaźniki do struktur, zapis struktur do pliku.
10. Dynamiczne struktury: listy jedno- i dwukierunkowe, drzewa binarne.
11. Optymalizacja kodu.
12. Profilowanie funkcji i pamięci.

Laboratory classes:

1. Przypomnienie podstawowych elementów języka C (typy danych, instrukcje proste i strukturalne, operacje we/wy standardowe i strumieniowe).
2. Przypomnienie problematyki tablic jednowymiarowych i dwuwymiarowych. Generowanie liczb pseudolosowych. Operacje na tablicach jednowymiarowych i dwuwymiarowych
3. Tablice wielowymiarowe
4. Wskaźniki, adresy pamięci. Typ wskaźnikowy, wskaźniki zmiennych, arytmetyka na adresach, wskaźnikach. Praca z tablicami w zapisie indeksowym i wskaźnikowym. Tablica a wskaźnik
5. Zarządzanie pamięcią. Alokacja i zwalnianie pamięci przydzielonej dynamicznie.
6. Tworzenie własnych funkcji. Sposoby przekazywania parametrów, przekazywanie tablic do funkcji.
7. Operacje na znakach i tablicach znaków.
8. Operacje na plikach tekstowych i binarnych.
9. Struktury, tablice struktur, wskaźniki do struktur, zapis struktur do pliku.
10. Dynamiczne struktury: listy jedno- i dwukierunkowe, drzewa binarne.
11. Optymalizacja kodu.
12. Profilowanie funkcji i pamięci.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 126 h
Module ECTS credits 5 ECTS
Participation in lectures 14 h
Realization of independently performed tasks 25 h
Participation in laboratory classes 42 h
Preparation for classes 45 h
Additional information
Method of calculating the final grade:

Ocena końcowa odpowiada ocenie z zaliczenia

Prerequisites and additional requirements:

Podstawowa wiedza informatyczna. Podstawy języka C
Student powinien mieć zaliczony przedmiot: „Wstęp do informatyki”.

Recommended literature and teaching resources:

 Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C
 R. Jones, I. Stewart, Sztuka programowania w języku C
 C. Delannoy, Ćwiczenia z języka C
 R. Konieczny, Wprowadzenie do programowania w języku C
 J. Bielecki, Język C – interpretacja standardu
 N.Wirth, Algorytmy + Struktury Danych = Programy

Scientific publications of module course instructors related to the topic of the module:

Additional scientific publications not specified

Additional information:

udział „praktycznych” punktów ECTS: 3,5
udział „teoretycznych” punktów ECTS: 1,5