Uniwersytet Marii Curie-Skłodowskiej w Lublinie - Centralny System Uwierzytelniania
Strona główna

Podstawy programowania

Informacje ogólne

Kod przedmiotu: MFI-I.1Z.063
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Podstawy programowania
Jednostka: Instytut Informatyki
Grupy:
Strona przedmiotu: https://kampus.umcs.pl/course/view.php?id=1041
Punkty ECTS i inne: 7.00 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.
Język prowadzenia: polski
Wymagania wstępne:

Podstawy obsługi komputera

Godzinowe ekwiwalenty punktów ECTS:

Na przyznaną liczbę 7 punktów ECTS składają się :


1. Godziny kontaktowe (z udziałem nauczyciela akademickiego)

- wykład: 30

- laboratorium: 60

- konsultacje: 3

- egzamin: 3

- kolokwia: 4


Łączna liczba godzin z udziałem nauczyciela akademickiego: 100

Liczba punktów ECTS z udziałem nauczyciela akademickiego: 3,70


2. Godziny nie kontaktowe (praca własna studenta)

- samodzielne rozwiązywanie zadań projektowych: 50

- przygotowanie się do laboratorium: 10

- przygotowanie się do kolokwiów: 10

- przygotowanie się do egzaminu: 10

- studiowanie literatury: 10;


Łączna liczba godzin niekontaktowych: 90

Liczba punktów ECTS za godziny niekontaktowe: 3,30


Sumaryczna liczba punktów ECTS dla modułu: 7


Sposób weryfikacji efektów kształcenia:

Warunkiem zaliczenia przedmiotu jest udział studenta w przewidzianych planem studiów zajęciach dydaktycznych oraz uzyskanie pozytywnych ocen z prac objętych tymi zajęciami.


1. Wykład:

- obecność na zajęciach (w minimum 85% wymiaru godzinowego), (K01, K02, K03).


2. Laboratorium:

- frekwencja na poziomie ponad 85% (K01, K03),

- dwa śródsemestralne kolokwia, (W01-W07, U01, U02, U03, U04, K03),

- kartkówki na laboratoriach, (W01-W07, U01, U03, U04, K03),

- aktywność na laboratoriach, (U01, U03, U04, U05).


Warunkiem uzyskania zaliczenia z laboratorium będzie uzyskanie łącznie ponad 50 punktów (na 100 możliwych) z kolokwiów oraz od prowadzących laboratoria. W czasie trwania semestru będą przeprowadzone dwa kolokwia, z których można otrzymać łącznie 90 punktów. Prowadzący laboratoria może dodatkowo przyznawać lub odejmować dodatkowe punkty. Maksymalnie może odjąć 10 punktów i/lub dodać 10 punktów. Punkty będą przyznawane za krótkie testy oraz aktywność na zajęciach (również ujemne punkty).


Sumaryczna wartość punktów będzie przeliczona na ocenę zaliczeniową zgodnie z:

1) bardzo dobry > 90p

2) dobry+ > 80p

3) dobry > 70p

4) dostateczny+ > 60p

5) dostateczny > 50p

6) niedostateczny <= 50p


3. Egzamin:

- egzamin pisemny (próg zaliczenia >50% punktów)

(W01,-W07, U01, U02, U03, U04, K03)


Pełny opis:

Elementarne wprowadzenie do podstaw programowania. W trakcie kursu przedstawione zostaną podstawowe zagadnienia programowania, takie jak algorytm, kod źródłowy, program oraz podstawowe umiejętności pisania i debugowania programu.

Podczas kursu wprowadzony zostanie język C/C++, który będzie podstawowym narzędziem do implementacji poruszanych zagadnień.

Omawiane w czasie wykładu i laboratoriów tematy będą ilustrowane rzeczywistymi problemami programistycznymi, takimi jak: algorytmy wyszukiwania i sortowania, operacje na macierzach, całkowanie numeryczne, geometria wektorowa, symulacje fizyczne, analiza tekstu czy metody statystyczne.

Podczas zajęć będzie wykorzystywany system linux i pakiet kompilatorów GCC.

Zakres treści:

1. Wstęp i omówienie języka, przegląd.

2. Pojęcie zmiennej i typu, sposoby reprezentacji liczb całkowitych i zmiennoprzecinkowych, rzutowanie zmiennych, idea wyrażenia w języku C++.

3. Instrukcje sterujące (warunkowe, wyboru, iteracji, skoku).

4. Funkcje - definiowanie i użycie.

5. Tablice - automatyczne tablice jedno- i wielo-wymiarowe.

6. Operacje bitowe.

7. Wprowadzenie do algorytmów, sortowanie, wyszukiwanie, rekurencja, porównanie złożoności czasowej.

8. Obsługa napisów - podstawowe operacje przeprowadzane na łańcuchach znakowych.

9. Wskaźniki - operatory adresu i dereferencji, arytmetyka wskaźników, wskaźniki a funkcje.

10. Dynamiczna alokacja i zarządzanie pamięcią.

11. Dynamiczne tablice wielowymiarowe.

12. Biblioteka standardowa (funkcje matematyczne, liczby pseudolosowe, funkcje czasu i daty).

13. Struktury - implementacja podstawowych struktur danych.

14. Biblioteka wejścia/wyjścia (obsługa plików tekstowych i binarnych).

15. Sposoby projektowania i debugowania kodu, błędy kompilacji i wykonania.

Literatura:

1. Prata S., „Język C++. Szkoła programowania”, Wydanie VI, Helion, 2012.

2. Grębosz J., „Opus magnus C++”, Helion, 2017

3. Krzaczkowski, J., „Zadania z programowania w jezyku C/C++”, cz. 1, Instytut Informatyki UMCS, Lublin, 2011, (http://informatyka.umcs.lublin.pl/files/Skrypty/krzaczkowski_pop.pdf)

4. Krzaczkowski, J., „Zadania z programowania w jezyku C/C++”, cz. 2, Instytut Informatyki UMCS, Lublin, 2012, (http://informatyka.umcs.lublin.pl/files/skrypty2012/krzaczkowski_zbior_zadan_c.pdf)

5. Prata S., "C++ Primer Plus", Addison-Wesley Educational Publishers Inc; Edycja 6 (1 listopada 2011)

Efekty uczenia się:

Wiedza:

W01 - student zna pojęcie algorytmu i umie go zaprojektować [K_W05]

W02 - student zna podstawowe instrukcje sterujące [K_W03, K_W05]

W03 - student zna budowę i zastosowanie podstawowych i pochodnych typów danych [K_W01, K_W03]

W04 - student zna i rozumie ideę funkcji w języku programowania [K_W03, K_W05, K_W09]

W05 - student rozumie sposoby dynamicznego zarządzania pamięcią operacyjną [K_W04]

W06 - student wie jak realizować operacje wejścia/wyjścia i operować na plikach [K_W03, K_W04]

W07 - student rozumie paradygmat programowania proceduralnego i strukturalnego [K_W09]

Umiejętności:

U01 - student umie projektować i tworzyć kod w języku C++ [K_U01, K_U06]

U02 - student potrafi zaimplementować algorytm w języku C++ [K_U01]

U03 - student potrafi skutecznie wyszukiwać błędy w kodzie źródłowym [K_U01, K_U02]

U04 - student umie stworzyć praktyczną aplikację konsolową [K_U01]

U05 - student potrafi komunikować się z użyciem specjalistycznej terminologii programistycznej [K_U03]

Kompetencje społeczne:

K01 - student rozumie potrzebę samodoskonalenia i zna własne ograniczenia [K_K01]

K02 - student potrafi samodzielnie wyszukiwać informacje w literaturze [K_K02]

K03 - student rozumie pojęcia uczciwości intelektualnej i postępowania etycznego [K_K06]

Zajęcia w cyklu "Semestr zimowy 2022/2023" (zakończony)

Okres: 2022-10-01 - 2023-02-01
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 60 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Marcin Denkowski
Prowadzący grup: Emil Benedykciuk, Krzysztof Borzęcki, Marcin Denkowski, Arkadiusz Gwarda, Piotr Kosela, Bartłomiej Kotyra, Anna Sasak-Okoń, Piotr Schneider
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2023/2024" (zakończony)

Okres: 2023-10-01 - 2024-02-04
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 60 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Marcin Denkowski
Prowadzący grup: Emil Benedykciuk, Marcin Denkowski, Beata Dmitruk, Krzysztof Dmitruk, Piotr Kosela, Łukasz Kurant, Anna Sasak-Okoń, Krzysztof Wróbel
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2024/2025" (zakończony)

Okres: 2024-10-01 - 2025-02-03
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 60 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Marcin Denkowski
Prowadzący grup: Emil Benedykciuk, Marcin Denkowski, Beata Dmitruk, Krzysztof Dmitruk, Bartłomiej Kotyra, Łukasz Kurant, Rafał Niedziółka-Domański
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Marii Curie-Skłodowskiej w Lublinie.
kontakt deklaracja dostępności mapa serwisu USOSweb 7.1.1.0