Module also offered within study programmes:
General information:
Name:
Programming rules I
Course of study:
2012/2013
Code:
DGK-3-204-s
Faculty of:
Mining Surveying and Environmental Engineering
Study level:
Third-cycle studies
Specialty:
-
Field of study:
Geodesy and Cartography
Semester:
2
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr hab. inż, prof. AGH Preweda Edward (preweda@agh.edu.pl)
Academic teachers:
dr hab. inż, prof. AGH Preweda Edward (preweda@agh.edu.pl)
Module summary

Student zdobywa wiedzę i umiejętności dotyczące zasad programowania z wykorzystaniem rożnych języków. Poznaje zasady doboru języka programowania do specyfiki zadania programistycznego.

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 Ma świadomość odpowiedzialności autora programu za poprawność obliczeń i zagrożeń wynikających z błędów programu GK3A_K01, GK3A_K02, GK3A_K03 Participation in a discussion,
Activity during classes
Skills
M_U001 Umie stosować składnię i semantykę co najmniej jednego języka programowania dla budowania niezawodnego oprogramowania w tym języku. GK3A_U02, GK3A_U01 Presentation,
Activity during classes
M_U002 Potrafi pracować indywidualnie i w zespole, umie oszacować czas potrzebny na realizację zleconego zadania, potrafi opracować i zrealizować harmonogram prac zapewniający dotrzymanie terminów GK3A_U02, GK3A_U01, GK3A_U03, GK3A_U04 Involvement in teamwork,
Presentation,
Activity during classes
Knowledge
M_W001 Posiada wiedzę dotyczącą zasad algorytmizacji zadań i cyfrowego kodowania algorytmów, zasad programowania strukturalnego, proceduralnego i obiektowego GK3A_W04, GK3A_W02, GK3A_W01, GK3A_W03 Participation in a discussion,
Presentation
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 Ma świadomość odpowiedzialności autora programu za poprawność obliczeń i zagrożeń wynikających z błędów programu - - - - - + - - - - -
Skills
M_U001 Umie stosować składnię i semantykę co najmniej jednego języka programowania dla budowania niezawodnego oprogramowania w tym języku. - - - - - + - - - - -
M_U002 Potrafi pracować indywidualnie i w zespole, umie oszacować czas potrzebny na realizację zleconego zadania, potrafi opracować i zrealizować harmonogram prac zapewniający dotrzymanie terminów - - - - - + - - - - -
Knowledge
M_W001 Posiada wiedzę dotyczącą zasad algorytmizacji zadań i cyfrowego kodowania algorytmów, zasad programowania strukturalnego, proceduralnego i obiektowego - - - - - + - - - - -
Module content
Seminar classes:
  1. Zasady algorytmizacji problemów

    Pojęcie algorytmu, przykładowe algorytmy i sposoby ich przedstawiania. Zasady komputerowej realizacji algorytmów. Ćwiczenie umiejętności algorytmizacji zadań numerycznych, dyskusja zalet i wad możliwych wariantów algorytmów

  2. Ogólne zasady programowania

    Zasady implementacji algorytmów w językach programowania: podstawowe elementy i konstrukcje języków algorytmicznych (słowa kluczowe, operatory, nazwy, instrukcje, pętle, funkcje). Tryb przetwarzania kodu programu, kompilacja i łączenie, pliki źrodłowe, binarne i wykonywalne

  3. Charakterystyka i klasyfikacja języków programowania

    Języki strukturalne, proceduralne, obiektowe. Edycja wersji źródłowej – rola stylu programowania, diagnostyka poprawności syntaktycznej, podstawowe zasady. Zasady testowania oprogramowania

  4. Język Pascal (Delphi) jako przykład języka strukturalnego

    Zasady programowania w języku Pascal: struktura programu (pliki źrodłówe, funkcje, procedury, biblioteki). Struktura programu (deklaracje, instrukcje, zasięg, komentarze). Typy standardowe i struktury danych. Podstawowe operacje wejścia / wyjścia. Zmienne proste, tablice, rekordy, łańcuchy znaków. Instrukcje sterujące, pętle – zalecenia programistyczne związane z niezawodnością. Funkcje: celowość i zasady wydzielania funkcji i procedur, przekazywanie danych i wyników

  5. Zmienne wskaźnikowe

    Stos, lista, kolejka, drzewo

  6. Programowanie obiektowe

    Podejście obiektowe – wprowadzenie, od struktury i funkcji do klasy i metody. Podstawowe pojęcia: abstrakcja, enkapsulacja, dziedziczenie, polimorfizm

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 55 h
Module ECTS credits 2 ECTS
Participation in seminar classes 15 h
Contact hours 10 h
Preparation for classes 20 h
Preparation of a report, presentation, written work, etc. 10 h
Additional information
Method of calculating the final grade:

Ocena końcowa = 0.5(Ocena prezentacji) + 0.3(Ocena odpowiedzi na pytania
uczestników seminarium) + 0.2(Aktywnośc na zajęciach)

Prerequisites and additional requirements:

Studenci są zobowiązani do obecności na zajęciach. W przypadku nieobecności należy uzgodnić z prowadzącym formę odrobienia zajęć.

Recommended literature and teaching resources:

N. Wirth: Algorytmy+struktury danych = programy. WNT, Warszawa 2002
D. Van Tessel: Praktyka programowania. WNT Warszawa, 1989
A. Marciniak: Język programowania Delphi. Wyd. Nakom, 2012
Dattatri K., Język C++. Efektywne programowanie obiektowe, Helion, 2005
Signer A.: Programowanie w języku C++. Szybki start, Helion 2006

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

Preweda E.: Rachunek wyrównawczy ⇒ modele statystyczne. PROGRES, Kraków 2013.
Preweda E.: Estymacja parametrów kinematycznego modelu przemieszczeń. Rozprawy Monografie. AGH Kraków 2002.
Preweda E.: System pomiaru, obliczeń i wizualizacji zmian geometrycznych obiektów powłokowych o powierzchni stopnia drugiego. Rozprawa doktorska. AGH Kraków 1995.

Additional information:

1. Studenci, którzy opuścili więcej niż 30 % zajęć seminaryjnych bez usprawiedliwienia i odrobienia materiału nie będą klasyfikowani.
2 .Po konsultacji z prowadzącym zajęcia student samodzielnie opanowuje wskazany przez prowadzącego materiał.
3. Student wykonuje projekt indywidualny, który prezentuje podczas seminarium.
4. Złożenie projektu po wyznaczonym terminie skutkuje obniżeniem oceny o 20%, przy czym projekty
mogą być składane najpóźniej na 2 tygodnie przed ostatnimi zajęciami.
5.Terminem podstawowym zaliczenia jest ostatni dzień zajęć.