Podstawy programowania
Informacje ogólne
Kod przedmiotu: | WS-INF-SI-PPR |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Podstawy programowania |
Jednostka: | Instytut Informatyki |
Grupy: | |
Strona przedmiotu: | http://mirek.ii.uph.edu.pl/mirek |
Punkty ECTS i inne: |
0 LUB
6.00
LUB
5.00
(zmienne w czasie)
|
Język prowadzenia: | polski |
Bilans punktów ECTS: | Bilans punktów ECTS: |
Planowane formy/działania/metody dydaktyczne: | Planowane formy/działania/metody dydaktyczne: |
Rodzaj przedmiotu/modułu kształcenia (obowiązkowy/fakultatywny):: | obowiązkowy |
Rodzaj przedmiotu: | Kierunkowy |
Sposoby weryfikacji efektów kształcenia osiąganych przez studenta: | Sposoby weryfikacji efektów kształcenia osiąganych przez studenta: |
Wymagania wstępne i dodatkowe: | Wymagania wstępne i dodatkowe: |
Założenia i cele przedmiotu: | Założenia i cele przedmiotu: |
Pełny opis: |
1. Wstęp do programowania. Pojęcia podstawowe. Fazy powstawania programu (koncepcja, algorytm, kodowanie). Jednostki leksykalne. Struktura programu. 2. Instrukcje. Instrukcje decyzyjne. Instrukcje iteracyjne. Instrukcja wyboru. Instrukcje sterujące. Instrukcja grupująca. 3. Typy danych i zmienne. Standardowe typy danych. Zmienne i ich deklaracje. 4. Wyrażenia. Operatory. Konwersje. Wyrażenia arytmetyczne i logiczne. 5. Instrukcje. Instrukcje decyzyjne. Instrukcje iteracyjne. Instrukcja wyboru. Instrukcje sterujące. Instrukcja grupująca. 6. Funkcje Definicje funkcji. Specyfikatory funkcji. Parametry funkcji. Funkcje przeciążone. Funkcje biblioteczne. 7. Statyczne struktury danych. Tablice. Struktury. Unie. 8. Zasięg i widoczność zmiennych w programie. Zmienne statyczne. Zmienne automatyczne. 9. Metoda rekurencyjna w programowaniu. Definicja rekurencji. Rozwiązywanie problemów programistycznych metodą rekurencyjna. 10. Metody wstępujaca i zstępujaca w programowaniu strukturalnym. 11. Generacje języków programowania. Języki maszynowe i asemblerowe. Języki wyższego poziomu. Języki 4-ej generacji. Języki sztucznej inteligencji. Historia rozwoju języka C++ 12. Wskaźniki. Definicja wskaźnika. Zmienne wskaźnikowe i wskazywane. Tablice a wskaźniki. Przekazywanie parametrów do funkcji przez wskaźnik. Wskaźniki do funkcji i struktur (unii). Wskaźniki a referencje. 13. Zmienne dynamiczne. Przydzielanie i zwalnianie pamięci. Zagrożenia wynikające ze stosowania zmiennych dynamicznych. Dynamiczne struktury danych 14. Wprowadzenie do obiektowych struktur danych. Klasy i obiekty. Elementy analizy obiektowej. Klasy. Obiekty. 15. Pliki. Podejście proceduralne do przetwarzania plików. Algorytm przetwarzania operacji wejścia - wyjścia. |
Literatura: |
Literatura podstawowa: 1. Jerzy Grebosz - Symfonia C++ (wszystkie semestry); Edition 2000, 2005. 2. W.M. Turski, Metodologia programowania, WNT, Warszawa 1982. Literatura uzupełniająca: 1. Bjorne Stroustrup - Język C++ ; WNT 2002. 2. N. Wirth, Wstęp do programowania systematycznego, WNT, Warszawa 1987. 3. E. W. Dijkstra, Umiejętność programowania, WNT, Warszawa 1985. 4. A.Alagic, M.A.Arbib, Projektowanie programów poprawnych i dobrze zbudowanych, WNT 1982, 5. A.V. Aho, J.E. Hopcroft, J.D. Ullman, Projektowanie i analiza algorytmów komputerowych, PWN, Warszawa 1983. 6. Andrew Koenig, Barbara E. Moo - C++. Potęga języka. Od przykładu do przykładu, Helion 2004 |
Efekty uczenia się: |
WIEDZA W_01 Ma podstawową wiedze na temat algorytmów, ich własności oraz zna etapy rozwiązywania zadań W_02 Ma uporządkowaną wiedzę z zakresu podstawowych konstrukcji języka C/C++ W_03 Ma uporządkowaną wiedzę z zakresu typów danych w języku C/C++ W_04 Ma uporządkowana wiedzę na temat wykorzystania funkcji w językach programowania W_05 Ma uporządkowaną wiedze z zakresu rozwiązywania problemów za pomocą metody zstępującej i wstępującej W_06 Ma podstawową wiedzę na temat rekurencji i jej implementacji w języku C/C++ UMIEJĘTNOŚCI U_01 Potrafi na podstawie literatury formułować wnioski dotyczące najnowszych rozwiązań systemów komputerowych i wskazywać sposób ich powiązania z ogólnymi zasadami realizacji pracy systemu. U_02 Posiada umiejętność samokształcenia się, m.in. w celu podnoszenia kompetencji zawodowych U_03 Umie implementować proste algorytmy w języku C/C++ oraz dobrać odpowiednie struktury danych do rozwiązywanego problemu U_04 Umie weryfikować poprawność napisanego programu, potrafi dobrać odpowiednie dane testowe U_05 Umie rozwiązywać proste problemy algorytmiczne za pomocą języka C/C++ U_06 potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązywania prostych zadań inżynierskich, typowych dla informatyki oraz wybierać i stosować właściwe metody i narzędzia KOMPETENCJE SPOŁECZNE K_01 Zna ograniczenia własnej wiedzy i rozumie potrzebę dalszego kształcenia. K_02 Potrafi formułować opinie na temat podstawowych zagadnień związanych z programowaniem |
Metody i kryteria oceniania: |
Efekty W_01 – W_06 będą sprawdzane na egzaminie pisemnym i ustnym. Na egzaminie pisemnym zadania będą dotyczyły wybranych problemów algorytmicznych i typów danych, przykładowe zadania: • Dany jest ciąg n-elementowy liczb rzeczywistych. Napisz program, który znajdzie k-tą największą liczbę w tym ciągu. Liczby tworzące ciąg i liczba k są wczytywane z klawiatury, • Dana jest tablica liczb rzeczywistych. Napisz program wypisujący k-liczb znajdujących się najbliżej mediany. Na egzaminie ustnym student będzie odpowiadał na pytania dotyczące metod i technik programowania, przykładowe pytania: • Omów metodę zstępująca. Podaj przykłady jej stosowania, • Omów typ tablicowy. Metody inicjowania tablic, • Na czym polega przeciążanie funkcji, kiedy je stosujemy. Podaj przykłady. Przed egzaminem studenci będą mieli dostęp do pełnej listy pytań na egzamin ustny oraz do przykładowych zadań na egzamin pisemny. Efekt U_01 - U_02 będą systematycznie sprawdzane na zajęciach. Zadania na następne laboratorium muszą być dostępne co najmniej tydzień przed zajęciami. Student, na podstawie podanej literatury, musi się do nich samodzielnie lub korzystając z konsultacji przygotować. Efekt U_03 – U_05 będą sprawdzana systematycznie na zajęciach laboratoryjnych, przykładowe zadanie: • Dana jest lista osób o strukturze z poprzedniego zadania zapisana w tablicy. Napisz program obliczający: sumę brutto, osoby o maksymalnym, osoby o minimalnym brutto, osoby mieszkające w Siedlcach oraz osoby palące. Wypisz poszczególne wyniki na standardowym urządzeniu wyjscia, sprawdź działanie programu. Zadania na następne laboratorium muszą być dostępne co najmniej tydzień przed zajęciami. Efekt U_06 będzie sprawdzany na zajęciach, przykładowe zadanie: • Napisz program obliczający iloczyn dwu liczb całkowitych nie używając operacji mnożeni. Następnie w środowisku Dev wykonaj krok po kroku program dla przykładowych danych. W trakcie wykonania śledź wartość wybranej zmiennej. Efekty K_01, K_02 będą weryfikowane, w oparciu o posiadaną wiedzę i umiejętności w czasie zajęć laboratoryjnych, podczas zaliczania zadania indywidualnego, a także na egzaminie ustnym. Moduł kończy się egzaminem. Do egzaminu mogą przystąpić osoby, które uzyskały zaliczenie laboratorium. Na zaliczenie laboratorium składają się oceny cząstkowe uzyskane na regularnych zajęciach z nauczycielem akademickim oraz z samodzielnie wykonanego zadania indywidualnego według schematu: • Regularne zajęcia – 26 pkt., • Obrona zadania indywidualnego – 14 pkt. Zajęcia laboratoryjne będą zaliczone w wypadku uzyskania co najmniej połowy punktów z poszczególnych form aktywności studenta: regularne zajęcia – co najmniej 13 pkt., obrona indywidualnego zadania – co najmniej 7 pkt. Na tej formie zajęć student może maksymalnie uzyskać 40 pkt. Egzamin jest egzaminem pisemnym. Można na nim uzyskać do 60 pkt. Egzamin będzie zaliczony w przypadku uzyskania co najmniej 30 pkt. Ocena końcowa z modułu (wystawiana po zaliczeniu wszystkich części składowych), w zależności od sumy uzyskanych punktów (maksymalnie 100pkt.) jest następująca (w nawiasach ocena wg skali ECTS): Zakres Ocena Zakres Ocena 0-50 pkt. ndst (F) 71-80 pkt. db (C) 51-60 pkt. dst (E) 81-90 pkt. db+ (B) 61-70 pkt. dst+ (D) 91-100 pkt. Bdb (A) Poprawy: Jednorazowa poprawa każdego kolokwium w trakcie zajęć w semestrze. Dwie poprawy obu kolokwiów w sesji egzaminacyjnej, odpowiednio przed drugim i trzecim terminem egzaminu pisemnego. |
Zajęcia w cyklu "Semestr zimowy 2017/2018" (zakończony)
Okres: | 2017-10-01 - 2018-02-17 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Mirosław Barański | |
Prowadzący grup: | Mirosław Barański, Anna Kołkowicz, Ewa Szczepanik | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin | |
Rodzaj przedmiotu: | Kierunkowy |
Zajęcia w cyklu "Semestr zimowy 2018/2019" (zakończony)
Okres: | 2018-10-01 - 2019-02-17 |
Przejdź do planu
PN WYK
WT LAB
ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Mirosław Barański | |
Prowadzący grup: | Mirosław Barański, Anna Kołkowicz, Ewa Szczepanik, Anna Wawrzyńczak-Szaban | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin | |
Rodzaj przedmiotu: | Kierunkowy |
Zajęcia w cyklu "Semestr zimowy 2019/2020" (zakończony)
Okres: | 2019-10-01 - 2020-02-21 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Mirosław Barański | |
Prowadzący grup: | Mirosław Barański, Anna Kołkowicz, Ewa Szczepanik, Anna Wawrzyńczak-Szaban | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Zajęcia w cyklu "Semestr zimowy 2020/2021" (zakończony)
Okres: | 2020-10-01 - 2021-02-17 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Mirosław Barański | |
Prowadzący grup: | Mirosław Barański, Anna Kołkowicz | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Zajęcia w cyklu "Semestr zimowy 2021/2022" (zakończony)
Okres: | 2021-10-01 - 2022-02-18 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Mirosław Barański | |
Prowadzący grup: | Mirosław Barański, Anna Kołkowicz, Ewa Szczepanik | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Zajęcia w cyklu "Semestr zimowy 2022/2023" (zakończony)
Okres: | 2022-10-01 - 2023-02-26 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Mirosław Barański | |
Prowadzący grup: | Mirosław Barański, Anna Kołkowicz, Anna Wawrzyńczak-Szaban | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Zajęcia w cyklu "Semestr zimowy 2023/2024" (zakończony)
Okres: | 2023-10-01 - 2024-02-25 |
Przejdź do planu
PN WYK
WT LAB
ŚR LAB
LAB
CZ LAB
PT LAB
LAB
|
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Mirosław Barański | |
Prowadzący grup: | Mirosław Barański, Michał Seredyński, Tomasz Tarkowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Właścicielem praw autorskich jest Uniwersytet w Siedlcach.