Programowanie 1 3.4.KRK.12NX.PRG1
1. Problematyka wykładu i konwersatorium.
Programowanie niskopoziomowe – maszyna RAM, pojęcie algorytmu, znane algorytmy iteracyjne, implementacja algorytmów z wykorzystaniem podstawowych konstrukcji programistycznych w języku niskiego poziomu, dynamiczny przydział pamięci, paradygmat programowania imperatywnego, podstawowe struktury danych i wykonywane na nich operacje, podstawowe konstrukcje programistyczne w języku wysokiego poziomu, w tym instrukcje warunkowe i iteracyjne, funkcje i procedury, zakres działania zmiennych, rekurencja i jej implementacja, metody weryfikacji poprawności programów, typ wskaźnikowy i referencyjny, alokacja i zwalnianie pamięci dynamicznej.
2. Problematyka laboratorium.
Praktyczne wykorzystanie wiedzy nabytej na wykładzie w celu zapisywania algorytmów w języku programowania niskiego i wysokiego poziomu oraz kompilowania, uruchamiania i testowania programów komputerowych w zintegrowanym środowisku programistycznym.
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Efekty kształcenia
Wiedza
1. Zna pojęcie algorytmu
2. Zna podstawowe konstrukcje programistyczne
3. Zna podstawowe struktury danych i wykonywane na nich operacje
4. Zna wskaźniki i referencje oraz dynamiczny przydział pamięci
5. Zna rekurencję w programowaniu imperatywnym
6. Zna metody weryfikacji poprawności programów
Umiejętności
1. Potrafi zapisać proste algorytmy w postaci schematu blokowego
2. Potrafi pisać, uruchamiać i testować proste programy wykorzystujące instrukcje warunkowe i konstrukcje pętli w wybranym środowisku programistycznym
3. Potrafi pisać, uruchamiać i testować programy zawierające własne procedury/ funkcje w wybranym środowisku programistycznym
4. Potrafi pisać, uruchamiać i testować programy wykorzystujące procedury/funkcje rekurencyjne w wybranym środowisku programistycznym
5. Potrafi czytać ze zrozumieniem programy zapisane w języku programowania imperatywnego
6. Umie pisać proste programy w kodzie maszyny RAM
Postawy
1. Potrafi wykonywać proste zadania w małym zespole
2. Rozumie potrzebę pogłębiania swej wiedzy w zakresie programowania
Kryteria oceniania
Na ogólnych zasadach określonych w programie kształcenia, a w szczególności ustalenie oceny zaliczeniowej na podstawie ocen cząstkowych otrzymywanych w trakcie trwania semestru za wystąpienia ustne i za prace pisemne, w tym programy komputerowe.
Literatura
1. N. Wirth, Algorytmy + struktury danych = programy, Wyd. Naukowo-Techniczne 2004.
2. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi, Projektowanie oprogramowania. Wstęp do programowania i techniki komputerowej, Helion 2003.
3. Edsger W. Dijkstra, Umiejętność programowania, Wyd. Naukowo-Techniczne 1985.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: