- Nazwa przedmiotu:
- Programowanie
- Koordynator przedmiotu:
- dr hab. inż. Barbara Putz, prof PW
- 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. 2020/2021
- 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:
- 3
- 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://inz.okno.pw.edu.pl/
- 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