Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

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)
zobacz reguły punktacji
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 kształcenia - 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 kształcenia - 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

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.