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
|
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 |
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, 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 |
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, 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 |
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 |
Właścicielem praw autorskich jest Uniwersytet Marii Curie-Skłodowskiej w Lublinie.