**Program:**
1. Formułowanie specyfikacji problemow, rożne sposoby zapisu algorytmow, podstawowe konstrukcje imperatywnych językow programowania.
2. Abstrakcyjne typy danych, modularyzacja i programowanie rodzajowe.
3. Złożoność i efektywność algorytmow na przykładzie algorytmow sortowania i programowania dynamicznego.
4. Metody opisu składni językow programowania. Notacja BNF i EBNF.
5. Model komputera von Neumanna, podstawowe zasady budowy i działania procesora, pamięci operacyjnej i urządzeń wejścia/wyjścia.
6. Zarządzanie pamięcią operacyjną podczas działania programu.
7. Komputerowa reprezentacja informacji, język maszynowy. Interpretowanie, kompilowanie i uruchamianie programow. Maszyna RAM (można wykorzystać symulator maszyny RAM dostępny w [5]; dzięki temu można wprowadzić podstawowe konstrukcje językow pascalo-podobnych, takie jak pętle i tablice).
8. Podstawy układow logicznych (układy kombinacyjne, proste układy synchroniczne).
**Wymagania:** Przedmiot nie wymaga żadnych podstaw informatycznych. Jednak w
drugiej części zajęć i na egzaminie do zapisu algorytm ow może być
wykorzystywany język programowania wyższego rzędu, np. C lub Pascal.
sem. letni 2023/24: piątki, godz. 12.30-13.30, pokój 311, a także konsultacje zdalne za pośrednictwem MSTeams, w piątki, godz. 19.15 - 19.30 i dłużej, jeżeli będą zainteresowani.
Zapraszam też na konsultacje zdalne lub w Instytucie w terminach uzgodnionych ze stosownym wyprzedzeniem np. pocztą elektroniczną.