Nazwa przedmiotu:
Podstawy programowania
Koordynator przedmiotu:
mgr inż. / Marek Malinowski
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Inżynieria Środowiska
Grupa przedmiotów:
Obowiązkowe
Kod przedmiotu:
ZISP72
Semestr nominalny:
1 / rok ak. 2011/2012
Liczba punktów ECTS:
3
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
Formy zajęć i ich wymiar w semestrze:
  • Wykład150h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
brak
Limit liczby studentów:
Cel przedmiotu:
Przyjęto założenie, że przedmiot ma charakter ogólnokształcący i podstawowym celem nauczania przedmiotu jest pogłębienie ogólnej wiedzy informatycznej, wyrobienie umiejętności algorytmicznego myślenia oraz przygotowanie do rozwiązywania nietypowych problemów oraz poszerzania posiadanej wiedzy i umiejętności w zakresie programowania. Studenci powinni poznać technikę abstrakcji i jej rolę w informatyce, powinni poznać techniki programowania i wykorzystywane formalizmy, powinni poznać na poziomie elementarnym przynajmniej jeden język algorytmiczny i związane z nim środowisko programowe.
Treści kształcenia:
W - Elementy algorytmiki: podstawowy aparat pojęciowy, reprezentacja algorytmu, konstruowanie algorytmów- przegląd metod algorytmicznych, struktury sterujące (wybór, iteracja i rekurencja), poprawność algorytów, złożoność obliczeniowa – notacja O(.). Języki programowania: model maszyny wirtualnej i warstwowy model oprogramowania; perspektywa historyczna – paradygmaty programowania; meta języki – notacja BNF i diagramy składniowe; przegląd głównych pojęć – zmienne , stałe i literały, typy danych, instrukcje sterujące w wybranym języku, technika podprogramów – procedury i funkcje, parametry; implementacja języków programowania – translacja, konsolidacja, przykładowe środowisko programowe; programowanie obiektowe; programowanie równoległe; programowanie deklaratywne – Prolog. Struktury danych: tablice, listy, stosy, kolejki, drzewa, wskaźniki, przykładowe implementacje struktur danych w wybranych językach programowania. Inżynieria oprogramowania: cykl życia oprogramowania, modularność, metodyka projektowania, aspekty prawne.
Metody oceny:
Formą oceny opanowania wymagań programowych dla przedmiotu jest zaliczenie wyrażone w skali ocen 2 – 5, będące średnią ocen cząstkowych ze sprawdzianów i przynajmniej jednego zadania projektowego. Sprawdziany w formie co najmniej dwóch testów wielokrotnego wyboru przeprowadzone będą w trakcie zajęć wykładowych w terminie ustalonym przez prowadzącego wykład. Odpowiedzi na pytania zawarte w testach oceniane będą w skali 0-1 punktów. Uzyskana ilość punktów odwzorowana będzie liniowo na skalę ocen 2 – 5, przy warunku uzyskania minimum połowy maksymalnej ilości punktów. Zadanie projektowe realizowane będzie w formie pracy domowej i oceniane będzie w skali ocen 2 – 5.Podstawową formą kontaktowania się studentów z prowadzącym zajęcia będą konsultacje i poczta elektroniczna.
Egzamin:
Literatura:
1. Wirth N., Algorytmy + struktury danych = programy, WNT, Warszawa 1980. 2. Wirth N., Wstęp do programowania systematycznego, WNT, Warszawa 1978.
Witryna www przedmiotu:
Uwagi:

Efekty uczenia się