Portal Dydaktyczny Katedry Informatyki

Personal tools
Document Actions

Podstawy Programowania 2

by Arkadiusz Chrobot last modified 2018-06-12 15:10

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.

 

Wykład

Warunki zaliczenia

  1. Wskaźniki i zmienne dynamiczne --- 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. Jednokierunkowe listy liniowe --- 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. 1 --- wersja do notowania
  10. Drzewa BST, cz. 2 --- wersja do notowania
  11. Algorytmy QuickSort i HeapSort --- wersja do notowania
  12. Grafy i ich reprezentacje --- wersja do notowania
  13. 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 (dwukierunkowa lista liniowa)
  9. Zadania na ósme laboratorium (dwukierunkowa lista cykliczna)
  10. Zadania na dziewiąte laboratorium (drzewa BST, cz. 1)
  11. Zadania na jedenaste laboratorium (drzewa BST, cz. 2)
  12. Zadania na dwunaste laboratorium (algorytmy QuickSort i HeapSort)
  13. Zadania na trzynaste laboratorium (Grafy)
  14. Zadania na czternaste laboratorium (algorytmy DFS i BFS)

 

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. Stephen Prata, ,,Język C. Szkoła programowania", Wydanie 6, Helion, Gliwice 2016

  3. Zed A. Shaw, ,,Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C)", Wydanie 1, Helion, Gliwice 2016

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

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

  6. 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. Kody źródłowe programów do piątego wykładu
  6. Kody źródłowe programów do szóstego wykładu
  7. Kody źródłowe programów do siódmego wykładu
  8. Kody źródłowe programów do ósmego wykładu
  9. Kody źródłowe programów do dziewiątego wykładu
  10. Kody źródłowe programów do dziesiątego wykładu
  11. Kody źródłowe programów do jedenastego wykładu
  12. Kody źródłowe programów do dwunastego wykładu
  13. Kody źródłowe programów do trzynastego wykładu
  14. Kody źródłowe programów do 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. www.algorytm.org
  2. 4programmers.net
  3. MIT OpenCourseWare (język angielski)
  4. Udacity (język angielski)
  5. Coursera (kilka różnych języków obcych)
  6. Wrocławski Portal Informatyczny