Nazwa przedmiotu:
Podstawy programowania (I)
Koordynator przedmiotu:
Henryk DOBROWOLSKI
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne
Kod przedmiotu:
PRI
Semestr nominalny:
1 / rok ak. 2012/2013
Liczba punktów ECTS:
6
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
15..30 h samodzielnej pracy (poza zajęciami)
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ład30h
  • Ćwiczenia15h
  • Laboratorium30h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
brak - przedmiot I semestru
Limit liczby studentów:
przedmiot obowiązkowy dla kierunku informatyki
Cel przedmiotu:
• Nauczenie podstaw algorytmizacji problemów • Zapoznanie z techniką programowania strukturalnego • Wprowadzenie do programowania w językach wysokiego poziomu • Praktyczna nauka podstaw programowania w oparciu o język C • Zapoznanie z wybranymi algorytmami i konstrukcjami danych w oparciu o reprezentację składniową języka C (z odniesieniami do C++ i Pascal’a) • Wprowadzenie do podstawowych pojęć inżynierii oprogramowania – specyfikacja, dokumentacja, testowanie i pielęgnacja oprogramowania
Treści kształcenia:
Pojęcia podstawowe (algorytm, program, proces. Reprezentowanie algorytmów. Translacja. Kompilacja i konsolidacja programu. Biblioteki. Środowisko kodowania i uruchamiania programów – edytor, kompilator, debuger). Podstawy algorytmizacji (Dekompozycja problemu. Podejście strukturalne do projektowania algorytmów. Konstruowanie prostych algorytmów. Iteracja i rekursja. Ocena jakości algorytmu. Testowanie algorytmu; dobór danych wejściowych, badanie przypadków granicznych i wyjątków. Sprawność i złożoność algorytmu). Języki programowania (Przegląd – od maszynowo zorientowanych do proceduralnych. Syntaktyka i sposoby jej opisu – diagramy syntaktyczne, notacja BNF. Semantyka. Typy instrukcji/operacji – składnia dla języka C. Struktura programu ). Elementy języka C (Pojęcia podstawowe - deklaracje i definicje; struktury danych i funkcje. Funkcja main. Symbole i komentarze. Liczbowe typy danych. Wyrażenia arytmetyczne i logiczne - operatory; priorytety i łączność. Instrukcje, ich klasyfikacja, składnia i semantyka. Funkcje - budowa, parametry, wartości zwracane itd. Agregaty danych - tablice i struktury. Wejście/wyjście w C) Przegląd wybranych algorytmów (Elementarne algorytmy iteracyjne. Manipulacje na tekstach, algorytmy sortowania itd. Iteracja a rekurencja. Algorytmy z powrotami. Dynamiczne struktury danych – algorytmy dla list i drzew. Wyszukiwanie) Elementy wstępu do inżynierii oprogramowania (Paradygmaty programowania. Modele - kaskadowy, spiralny. Testowanie. Cykl życia oprogramowania).
Metody oceny:
Na ocenę składają się elementy: 1. oceny z kolokwiów wykładowych (2 kolokwia) 2. ocena z ćwiczeń audytoryjnych 3. oceny z zadań laboratoryjnych (w ciągu semestrui - 4 indywidualne zadania o sukcesywnie wzrastającym stopniu złożoności)
Egzamin:
nie
Literatura:
Literatura podstawowa - B.W.Kernighan, D.M.Ritchie Język ANSI C Do samodzielnej nauki: - S.Prata Szkoła Programowania – Język C - H.Schildt Programowanie C (ale tłumaczenie wydania amerykańskiego z 2000 roku – uwzględnia standard C99) Dla zaawansowanych: - Aho – Ullman Wykłady z informatyki z przykładami w języku C - B.W,Kernighan, R.Pike Lekcja programowania
Witryna www przedmiotu:
http://studia.elka.pw.edu.pl
Uwagi:
Przedmiot jest pierwszym z ciągu poświęconego programowaniu.

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt Wpisz opis
Znajomość podstawowych pojęć związanych z cyklem życia oprogramowania
Weryfikacja: Ćwiczenia
Powiązane efekty kierunkowe:
Powiązane efekty obszarowe:

Profil ogólnoakademicki - umiejętności

Efekt Wpisz opis
Kodowanie algorytmów z zastosowaniem języka C
Weryfikacja: Zadania olaboratoryjne, kolokwia
Powiązane efekty kierunkowe:
Powiązane efekty obszarowe:

Profil ogólnoakademicki - kompetencje społeczne

Efekt Wpisz opis
Projektowanie, kodowanie, uruchamianie i testowanie prostych programów aplikacyjnych (tryb tekstowy) z zastosowaniem języka C
Weryfikacja: Zadania laboratoryjne, ćwiczenia
Powiązane efekty kierunkowe:
Powiązane efekty obszarowe: