Uniwersytet w Siedlcach - Centralny System Uwierzytelniania
Strona główna

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) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
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
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet w Siedlcach.
kontakt deklaracja dostępności USOSweb 7.0.1.0-2d972b65e (2024-04-03)