Języki programowania
Informacje ogólne
Kod przedmiotu: | 0800-12JPR |
Kod Erasmus / ISCED: |
(brak danych)
/
(0612) Database and network design and administration
|
Nazwa przedmiotu: | Języki programowania |
Jednostka: | Wydział Fizyki, Astronomii i Informatyki Stosowanej |
Grupy: | |
Punkty ECTS i inne: |
(brak)
|
Język prowadzenia: | polski |
Całkowity nakład pracy studenta: | - godziny realizowane z udziałem nauczycieli: 60h (30h wykład + 30h ćwiczenia), - czas poświęcony na pracę indywidualną potrzebny do pomyślnego zaliczenia przedmiotu: 50h - czasy wymagany do przygotowania się i uczestnictwa w procesie oceniania: 10 h - czas wymagany do odbycia obowiązkowych praktyk: 0 h |
Efekty uczenia się - wiedza: | W1 - posiada wiedzę z zakresu budowy i działania komputerów, posiada wiedzę teoretyczną i praktyczną w zakresie tworzenia i analizy algorytmów, ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie architektury systemów komputerowych, ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie języków programowania i inżynierii programowania, (informatyka_stosowana: K_W03, automatyka: K_W04, fizyka techniczna: K_W03, K_W04) W2 - ma wiedzę na temat projektowania i programowania strukturalnego(informatyka stosowana: K_W04, automatyka: K_W06) |
Efekty uczenia się - umiejętności: | U1 - potrafi wykorzystać nabytą wiedzę matematyczną do opisu procesów, tworzenia modeli, zapisu algorytmów oraz innych działań w obszarze informatyki, wykorzystuje wiedzę matematyczną do optymalizacji rozwiązań zarówno sprzętowych, jak i programowych, potrafi wykorzystać do formułowania i rozwiązywania zadań informatycznych metody analityczne i eksperymentalne (informatyka stosowana: K_U01, fizyka techniczna: K_U03) U2 - potrafi pozyskiwać informacje z literatury, baz danych oraz innych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie, potrafi zidentyfikować dyskretne struktury matematyczne w problemach i wykorzystać teoretyczną wiedzę dotyczącą tych struktur do analizy i rozwiązania tych problemów, potrafi wykorzystać do formułowania i rozwiązywania zadań informatycznych proste metody analityczne i eksperymentalne, w tym proste eksperymenty obliczeniowe, ma umiejętność samokształcenia (informatyka stosowana: K_U02) U3 - potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach, posługuje się językiem angielskim w stopniu pozwalającym na porozumienie się, przeczytanie ze zrozumieniem tekstów i opisów programowych ( informatyka stosowana: K_U03, automatyka: K_U04) U4 - ma umiejętność formułowania algorytmów i ich programowania z użyciem wybranych narzędzi programistycznych (informatyka stosowana: K_U06, automatyka: K_U02, fizyka techniczna: K_U06) |
Metody dydaktyczne podające: | - wykład informacyjny (konwencjonalny) |
Skrócony opis: |
Na wykładzie "Języki programowania" przedstawiony zostanie język C. Wykład zorganizowany jest w taki sposób aby był przystępny dla osób o bardzo małych umiejętnościach programistycznych (szczególnie w początkowej fazie wykładu), jak również przydatny dla osób zaawansowanych. W pierwszej części zaprezentowana zostanie semantyka i syntaktyka języka, podstawowe instrukcje i operatory, szczegółowo zostaną omówione zasady działania pętli. W dalszej części omówione zostaną sposoby budowania prostych i zaawansowanych struktur danych wraz z przykładami. W końcowej części wykładu przedstawione zostaną narzędzia pożyteczne w pisaniu dużych programów. |
Pełny opis: |
1) Historia języka C. 2) Model kompilacji. 3) Pliki nagłówkowe. 4) Zmienne, typy i rozmiary. 5) Tablice. 6) Deklaracja stałych. 7) Bajty, bity czyli wewnętrzna reprezentacja liczb. 8) Operatory i ich pierwszeństwo. 9) Instrukcje warunkowe. 10) Pętle: for, while, do-while 11) Funkcje i ich zastosowanie. 12) Instrukcje preprocesora. 13) Wskażniki i ich powiązanie z tablicami. 14) Przekazywanie wartości do funkcji. 15) Wskaźniki na funkcje. 16) Struktury. 17) Dynamiczne struktury danych (listy, drzewa, kolejki) i przykłady ich zastosowania. 18) Operacje na plikach. 19) Omówienie standardowej biblioteki języka C (funkcje związane z podstawowymi operacjami na łańcuchach, funkcje matematyczne, konwersje) 20) Omówienie funkcji bezpiecznych i niebezpiecznych (problemy z przepełnieniem bufora) 21) Pisanie dużych programów i zastosowanie gnu make, autoconf i configure. 22) Strategie poszukiwania błędów i zastosowanie narzędzi typu debuger, valgrind. Wykład dostępny jest w wersji elektronicznej na stronie: http://www.fizyka.umk.pl/~raad/jezyki.pdf |
Literatura: |
Kernighan B. W., Ritchie D. M. Jezyk ANSI C. Warszawa, WNT 1988 (Norma) S. Prata, Język C. Szkoła programowania. , Helion Delannoy C. Cwiczenia z jezyka C. Warszawa, WNT 1993 Summit S. Programowanie w jezyku C FAQ, Helion, 2003 Loudon K. Algorytmy w C, Helion, 2003. |
Metody i kryteria oceniania: |
Zaliczenie wykładu odbędzie się na podstawie testu. Test jest czysto teoretyczny i dotyczy pojęć i definicji występujących w języku C. Ćwiczenia - ocena na podstawie kolokwium i wykonanego projektu. Będzie 1 kolokwium w połowie semestru. Na ocenę końcową mają wpływ: aktywność na zajęciach 20% kolokwium - 30% projekt 50% Test sprawdza osiągnięcie efektów W1, W2, Kolokwium i projekt – U1, U2, U3,U4 |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.