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=32520 |
| Punkty ECTS i inne: |
7.00
|
| 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. Łączna liczba godzin z udziałem nauczyciela akademickiego: 90. Liczba punktów ECTS z udziałem nauczyciela akademickiego: 3,60. 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: 5. Łączna liczba godzin niekontaktowych: 85. Liczba punktów ECTS za godziny niekontaktowe: 3,40. 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, U06), - kartkówki na laboratoriach, (W01-W07, U01, U03, U04, K03, U06), - 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. 3. Egzamin: - egzamin pisemny/ustny (próg zaliczenia >50% punktów) (W01-W07, U01, U02, U03, U04, K03, U06) Nieobecności mogą być usprawiedliwione wyłącznie w przypadku przedstawienia: - zwolnienia lekarskiego, - zaświadczenia o innej ważnej okoliczności, udokumentowane i zaakceptowane przez prowadzącego (np. udział w zawodach sportowych, konferencji, wydarzeniu uczelnianym, ważnym wydarzeniu rodzinnym, itp) , - w przypadku działania siły wyższej. |
| 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/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. Kernighan B., Ritchie D., „Język ANSI C”, Wydanie 2, Helion, 2010 (ebook, 2020). - wersja orginalna: "The C Programming Language". Second Edition, Prentice Hall, 1988. 2. Grębosz J., „Opus magnum C++. Programowanie w języku C++", Wydanie III,, Helion, 2024. 3. Prata S., „Język C++. Szkoła programowania”, Wydanie VI, Helion, 2012. - wersja orginalna: "C++ Primer Plus", Addison-Wesley Educational Publishers Inc; 6 Edition, 2011. 4. Krzaczkowski, J., „Zadania z programowania w jezyku C/C++”, cz. 1, Instytut Informatyki UMCS, Lublin, 2011. 5. Krzaczkowski, J., „Zadania z programowania w jezyku C/C++”, cz. 2, Instytut Informatyki UMCS, Lublin, 2012. |
| Efekty uczenia się: |
Wiedza: W01 - student zna pojęcie algorytmu i wie jak 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] U06 - student potrafi tworzyć algorytmy i programy komputerowe [K_U04] 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 2024/2025" (zakończony)
| Okres: | 2024-10-01 - 2025-02-03 |
Przejdź do planu
PN WT ŚR CZ PT |
| Typ zajęć: |
Laboratorium, 60 godzin
Wykład, 30 godzin
|
|
| 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 |
Zajęcia w cyklu "Semestr zimowy 2025/2026" (w trakcie)
| Okres: | 2025-10-01 - 2026-02-24 |
Przejdź do planu
PN W
WT ŚR LB
LB
LB
LB
LB
LB
LB
LB
CZ LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
PT |
| Typ zajęć: |
Laboratorium, 60 godzin
Wykład, 30 godzin
|
|
| Koordynatorzy: | Marcin Denkowski | |
| Prowadzący grup: | Emil Benedykciuk, Marcin Denkowski, Krzysztof Dmitruk, Łukasz Kurant, Rafał Niedziółka-Domański, Joanna Potiopa | |
| Lista studentów: | (nie masz dostępu) | |
| Zaliczenie: |
Przedmiot -
Egzamin
Laboratorium - Zaliczenie na ocenę Wykład - Egzamin |
Właścicielem praw autorskich jest Uniwersytet Marii Curie-Skłodowskiej w Lublinie.
