Portal Dydaktyczny Katedry Informatyki

Personal tools
Document Actions

Podstawy Programowania 2

by Arkadiusz Chrobot last modified 2017-07-02 20:11

Strona z materiałami dydaktycznymi do przedmiotu Podstawy Programowania 2

Uwaga: Zamieszczone tu materiały nie mają charakteru podręcznika akademickiego. Stanowią jedynie uzupełnienie wykładu i literatury wymienionej na stronie.

 

Uwaga: Wpisy z wykładu odbędą się 03.07.2017. Więcej informacji na ten temat przeczytacie Państwo w terminarzu pod tą datą.

 

Wykład

 

Warunki zaliczenia

  1. Wskaźniki --- wersja do notowania
  2. Stos i jego zastosowania --- wersja do notowania
  3. Rekurencja, metoda dziel i zwyciężaj --- wersja do notowania
  4. Kolejki i ich zastosowania --- wersja do notowania
  5. Jednokierunkowa lista liniowa --- wersja do notowania
  6. Jednokierunkowa lista liniowa i rekurencja --- wersja do notowania
  7. Dwukierunkowa lista liniowa --- wersja do notowania
  8. Dwukierunkowa lista cykliczna --- wersja do notowania
  9. Drzewa BST, część pierwsza --- wersja do notowania
  10. Drzewa BST, część druga --- wersja do notowania
  11. Algorytmy Quicksort i Heapsort --- wersja do notowania
  12. Grafy i ich reprezentacje --- wersja do notowania
  13. Przechodzenie grafów: algorytmy DFS i BFS --- wersja do notowania
  14. Algorytmy z nawrotami --- wersja do notowania

 

 

Propozycje zadań na laboratoria

  1. Zadania powtórkowe
  2. Zadania na pierwsze laboratorium (wskaźniki)
  3. Zadania na drugie laboratorium (stos)
  4. Zadania na trzecie laboratorium (rekurencja)
  5. Zadania na czwarte laboratorium (kolejki)
  6. Zadania na piąte laboratorium (jednokierunkowe listy liniowe)
  7. Zadania na szóste laboratorium (jednokierunkowe listy liniowe i rekurencja)
  8. Zadania na siódme laboratorium (dwukierunkowe listy liniowe)
  9. Zadania na ósme laboratorium (dwukierunkowe listy cykliczne)
  10. Zadania na dziewiąte laboratorium (drzewa BST, cz. 1)
  11. Zadania na dziesiąte laboratorium (drzewa BST, cz. 2)
  12. Zadania na jedenaste laboratorium (algorytmy QuickSort i HeapSort)
  13. Zadania na dwunaste laboratorium (grafy)
  14. Zadania na trzynaste laboratorium (przechodzenie grafów)

 

 

Literatura i inne materiały

 

 

Literatura podstawowa:

 

  1. Brian W. Kernighan, Denis M. Ritchie, ,,Język ANSI C. Programowanie'', Wydanie 2, Helion, Gliwice 2010

  2. Piotr Wróblewski, ,,Algorytmy, struktury danych i techniki programowania'', Helion, Gliwice 1997

  3. Jon Bentley ,,Perełki oprogramowania'', WNT, Warszawa 1992

  4. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, ,,Algorytmy i struktury danych'', Helion 2003

 

Literatura uzupełniająca:

 

  1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest  ,,Wprowadzenie do algorytmów'', WNT, Warszawa 1998
  2. Donald E. Knuth ,,Sztuka programowania'', WNT, Warszawa 2002
  3. Steven S. Skiena "The Algorithm Design Manual", Springer-Verlag, Londyn, 2008 (język angielski)

 

Kody źródłowe:

 

  1. Kody źródłowe programów z pierwszego wykładu
  2. Kody źródłowe programów z drugiego wykładu
  3. Kody źródłowe programów z trzeciego wykładu
  4. Kody źródłowe programów z czwartego wykładu
  5. Kod źródłowy programu z piątego wykładu
  6. Kod źródłowy programu z szóstego wykładu
  7. Kod źródłowy programu z siódmego wykładu
  8. Kod źródłowy programu z ósmego wykładu
  9. Kod źródłowy programu z dziewiątego wykładu
  10. Kod źródłowy programu z dziesiątego wykładu
  11. Kody źródłowe programów z jedenastego wykładu
  12. Kod źródłowy programu z dwunastego wykładu
  13. Kody źródłowe programów z trzynastego wykładu
  14. Kod źródłowy programu z czternastego wykładu

 

Zasoby internetowe:

  • dotyczące języka C
  1. Wikibooks: Język C (język polski)
  2. The GNU C programming tutorial (język angielski)
  3. Learning GNU C (język angielski)
  4. The GNU C Library (język angielski)
  • dotyczące ogólnie programowania
  1. Programmers Heaven (język angielski)
  2. www.algorytm.org
  3. 4programmers.net
  4. MIT OpenCourseWare (język angielski)
  5. Udacity (język angielski)
  6. Coursera (kilka różnych języków obcych)
  7. Wrocławski Portal Informatyczny