Programowanie 1 3.4.KRK.12SX.PRG1
A. 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.
B. 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
W cyklu 2023/24-Z: | W cyklu 2022/23-Z: |
Efekty kształcenia
Wiedza:
W01 Zna pojęcie algorytmu
W02 Zna podstawowe konstrukcje programistyczne
W03 Zna podstawowe struktury danych i wykonywane na nich operacje
W04 Zna wskaźniki i referencje oraz dynamiczny przydział pamięci
W05 Zna rekurencję w programowaniu imperatywnym
W06 Zna metody weryfikacji poprawności programów
Umiejętności:
U01 Potrafi zapisać proste algorytmy w postaci schematu blokowego
U02 Potrafi pisać, uruchamiać i testować proste programy wykorzystujące instrukcje warunkowe i konstrukcje pętli w wybranym środowisku programistycznym
U03 Potrafi pisać, uruchamiać i testować programy zawierające własne procedury/ funkcje w wybranym środowisku programistycznym
U04 Potrafi pisać, uruchamiać i testować programy wykorzystujące procedury/funkcje rekurencyjne w wybranym środowisku programistycznym
U05 Potrafi czytać ze zrozumieniem programy zapisane w języku programowania imperatywnego
U06 Umie pisać proste programy w kodzie maszyny RAM
U07 Potrafi programować w małym zespole
Kompetencje społeczne (postawy):
K01 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
A. Sposób zaliczenia
• (W, K, L) zaliczenie z oceną.
B. Formy zaliczenia
• (W, K, L) 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.
C. Podstawowe kryteria
• (W, K, L) uzyskanie pozytywnej oceny zaliczeniowej.
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. Jon Bentley, Perełki oprogramowania, Helion 2012 (lub wydania wcześniejsze).
4. Jon Bentley, Więcej perełek oprogramowania: wyznania programisty, WNT 2007.
5. Edsger W. Dijkstra, Umiejętność programowania.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: