Nazwa przedmiotu:
Programowanie
Koordynator przedmiotu:
prof. nzw.dr hab. inż. Barbara Putz
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Elektronika i Telekomunikacja
Grupa przedmiotów:
Przedmioty informatyki - obowiązkowe
Kod przedmiotu:
PRZ
Semestr nominalny:
1 / rok ak. 2019/2020
Liczba punktów ECTS:
5
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Zajęcia kontaktowe z nauczycielem: 1. konsultacje mailowe z nauczycielem: 20 h 2. zajęcia stacjinarne na uczelni: 4 h 3. egzamin: 2 h Zajecia bez kontaktu z nauczycielem: 1. praca z podręcznikiem: 80 h 2. praca wstępna i wykonanie dwu test on-line: 10 h 3. rozwiązywanie zadań - opracowywanie i uruchamianie programów: 50 h Łączna liczba godzin: 166
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
5
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia15h
  • Laboratorium0h
  • Projekt15h
  • Lekcje komputerowe0h
Wymagania wstępne:
Wymagane zaliczenie Zjazdu 1 oraz podstawowe wiadomości z Matematyki 1 i Architektury Systemów Komputerowych.
Limit liczby studentów:
-
Cel przedmiotu:
Celem przedmiotu jest przekazanie zasad i metod programowania strukturalnego oraz krótkiego wprowadzenia do programowania obiektowego. .Język traktowany jest jako środek zapisu, zatem prezentowane są tylko najważniejsze konstrukcje, wspólne dla różnych języków programowania, i zmuszające do algorytmicznego, logicznego myślenia. Zajęcia są prowadzone z wykorzystaniem języka C/C++.
Treści kształcenia:
===Lekcje podstawowe:=== Pojecie algorytmu, programu i danych. Kompilacja i wykonanie programu. Struktura programu, pojecie zmiennej, instrukcje wejścia/wyjścia, instrukcja przypisania. Wprowadzenie do środowiska kompilatora: edycja i uruchamianie programów jako aplikacji konsolowych. Wyrażenia arytmetyczne i logiczne, instrukcja if i instrukcja wielokrotnego wyboru. Pojecie instrukcji złożonej. Obliczenia cykliczne: pętle sterowane warunkiem i pętla for. Tablice jedno- i dwuwymiarowe. Indeksowanie i poruszanie się po tablicach. Rekordy jako złożone struktury danych. Definiowanie struktur i rekordów. Tablice rekordów. Obsługa plików tekstowych. Podprogramy - definicje i wywołania. Przekazywanie parametrów przez wartość i zmienną. Zasięg zmiennych. Modułowa budowa programów. Wstęp do programowania obiektowego: wprowadzenie pojęcia klasy i obiektu, przykład obiektowej analizy problemu. Ochrona danych i metod w obiektach, zasady dziedziczenia, idea polimorfizmu. ===Lekcje dodatkowe:=== Porównanie składni języka Pascal i C/C++ Alternatywne środowiska programistyczne Zadania egzaminacyjne z rozwiązaniami. Podręcznik zilustrowany jest licznymi animacjami wyjaśniającymi zasadę działania komputera, instrukcji podstawienia, instrukcji rozgałęzienia i pętli, zasady poruszania się w tablicach itp. Na końcu każdej lekcji oprócz zadań z rozwiązaniami znajdują się obszerne, interaktywne testy sprawdzające rozumienie materiału zawartego w lekcji.
Metody oceny:
Zaliczenie przedmiotu odbywa się na podstawie sumy punktów uzyskanych z: - dwu testów przeprowadzanych on-line (przez Internet) w trakcie półsemestru; z każdego z nich można uzyskać maksymalnie 5 pkt. Testy odbywają się w ściśle określonych dniach i polegają na napisaniu fragmentów kodu programu. - aktywności podczas trwania półsemestru, polegającej na nadsyłaniu rozwiązań 10 zadań semestralnych wymagających napisania i uruchomienia prostych programów. W przypadku systematycznej pracy podczas semestru można za to uzyskać max. 5 pkt - egzaminu przeprowadzanego na uczelni (nie ma innej możliwości). Maksymalna możliwa do uzyskania liczba punktów wynosi 43. Egzamin ma formę pisemną, wszystko rozwiązuje się na papierze, a nie na komputerze. Egzamin składa się z dwu części: 1. części testowej, trwającej 10 minut i zawierającej 15 pytań testowych - do uzyskania max. 15 pkt. 2. części zadaniowej, trwającej 60 minut i wymagającej rozwiązania 3 zadań - do uzyskania max. 28 pkt. Łącznie z testów on-line i egzaminu można otrzymać 53 pkt; do zaliczenia przedmiotu na ocenę 3.0 wystarczy 26 pkt.
Egzamin:
tak
Literatura:
1. Bruce Eckel: Thinking in C++. Edycja polska. Helion 2002. 2. Jerzy Grębosz - Symfonia C++ standard. t.I. Edition 2000, 2006. 3. Stephen Prata - Język C++. Szkoła programowania. Robomatic, 2006. 4. Walter Savitch - Programoeanie. W tonacji C++. Wydawnictwo RM, 2005.
Witryna www przedmiotu:
https://red.okno.pw.edu.pl/witryna/home.php, dostęp dla zalogowanych studentów
Uwagi:
-

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka [K_W04]
ma szczegółową wiedzę związaną z zagadnieniami tworzenia algorytmów i kodu źródłowego dla prostych zadań programistycznych oraz uruchamiania i testowania opracowanych programów
Weryfikacja: rozwiązania zadań semestralnych, egzamin
Powiązane charakterystyki kierunkowe: K_W04
Powiązane charakterystyki obszarowe: I.P6S_WG
Charakterystyka [K_W19]
ma uporządkowaną wiedzę ogólną z zakresu programowania strukturalnego w języku C/C++
Weryfikacja: rozwiązania zadań semestralnych, testy online, egzamin
Powiązane charakterystyki kierunkowe: K_W19
Powiązane charakterystyki obszarowe: I.P6S_WG

Profil ogólnoakademicki - umiejętności

Charakterystyka [K_U05]
umie ze zrozumieniem studiować podręcznik multimedialny i samodzielnie na tej podstawie konstruować programy
Weryfikacja: rozwiązania zadań semestralnych, testy online, egzamin
Powiązane charakterystyki kierunkowe: K_U05
Powiązane charakterystyki obszarowe: I.P6S_UU
Charakterystyka [K_U15]
potrafi formułować zadania w postaci algorytmów i zapisywać algorytmy w języku C/C++
Weryfikacja: rozwiązania zadań semestralnych, egzamin
Powiązane charakterystyki kierunkowe: K_U15
Powiązane charakterystyki obszarowe: III.P6S_UW.4.o
Charakterystyka [K_U20]
potrafi formułować algorytmy zgodnie z regułami logiki matematycznej
Weryfikacja: rozwiązania zadań semestralnych, testy online, egzamin
Powiązane charakterystyki kierunkowe: K_U20
Powiązane charakterystyki obszarowe: I.P6S_UW

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka [K_K01]
nawyk ustawicznego kształcenia się i wyszukiwania nowych informacji w podręczniku i w sieci na temat języka C/C++ i zasad tworzenia prostych programów
Weryfikacja: nadsyłanie komentarzy i pytań odnośnie treści podręcznika, nadsyłanie rozwiązań zadań semestralnych
Powiązane charakterystyki kierunkowe: K_K01
Powiązane charakterystyki obszarowe:
Charakterystyka [K_K06]
radzi sobie z rozwiązywaniem nowych, nietypowych zadań
Weryfikacja: rozwiązania zadań semestralnych, egzamin
Powiązane charakterystyki kierunkowe: K_K06
Powiązane charakterystyki obszarowe: I.P6S_KO