2007-02 Error501 Tematy

Lista będzie ulegać zmianom.

Przykładowa częściowa lista podstawowych zagadnień

Z zagadnień podstawowych, które powinien każdy mieć przerobione (w większym bądź mniejszym stopniu) mogę wymienię :

  • Podstawy / nacisk na programowanie.
    • Tablice
      • Przykładowe problemy programowania dynamicznego.
    • Funkcje
      • Rekurencja - konstrukcja rekurencyjnych rozwiązań problemów (przykład zastosowania metody "dziel i rządź")
    • Listy
      • Jako przykładowa struktura danych.
  • Grafy
    • Reprezentacje problemów za pomocą grafów.
    • Reprezentacje grafów w komputerze
      • reprezentacja listowa
      • reprezentacja macierzowa
    • Podstawowe algorytmy grafowe… (kilka z poniższych)
      • BFS - wszerz
      • DFS - w głąb
      • Bellmana-Forda
      • Dijkstra
      • (Bellmana-Forda + Dijkstra -> Johnsona )
  • "Duże" liczby
    • Implementacja podstawowych działań : +,-,*,/
  • Struktury danych - nacisk na implementację z zastosowaniami w zadaniach.
    • Listy jedno/dwu kierunkowe.
    • Kopiec binarny reprezentacja tablicowa
    • Graf (j.w.)

Przykładowy plan zajęć

Pierwsze - rozgrzewka / przypomnienie

Nacisk na część komplementacyjną w znaczeniu by każdy uczestnik koła potrafił zaimplementować sam w domu (a najlepiej zaimplementował) rzeczy związane z następującymi zagadnieniami:
Tablice, Funkcje, Listy.
Można w ramach takich zajęć wykonać:

  • Operacje +, -, * na "dużych" liczbach (ew. macierzach).
  • Zadać do domu do zrobienia samodzielnego (kto potrafi w ramach przypomnienia na zajęciach) zadanie na programowanie dynamiczna , OPSS-Żabka http://opss.safo.biz/?menu=comp&sub=prob&comp=0&prob=1010
  • rekurencja - np. merge sort
  • reprezentacja grafów - na razie tylko utworzenie struktur i wczytanie do pamięci. (By na kolejnych zajęciach było łatwiej).
  • Listy - co to jest, jak to się robi.

Drugie - dalsza rozgrzewka / ćwiczymy

Grafy temat przewodni.
Czyli
Reprezentacja : Macierzowa, listowa
I umiejętność zrobienia w każdej z nich, takich rzeczy jak :

  • BFS
  • DFS
  • Bellman-Ford
  • (ew. jak komuś by było mało najprostsza t.j. n2 Dijkstra).

Trzecie

Uporządkowanie wiedzy z rozgrzewki.
Wyjaśnianie problemów - dyskusja.
Zagadnienia stare do przećwiczenia plus ew:

  • Kopiec

Uwagi do szkicu planu

Oczywiście nie da się na krótkich spotkaniach koła przerobić tyle materiału na raz… więc trzeba mieć na uwadze że nie będzie on przerabiany, a powtarzany po poprzednim semestrze w którym powinien być już przerobiony - przynajmniej teoretycznie.
Teraz nacisk byłby położony na połączenie tej wiedzy z umiejętnościami programistycznymi.
Tak więc część materiału mogłaby być przerabiana poza ramami czasowymi spotkań koła.
Punkty te nakreślają mniej więcej rozłożenie w czasie przebiegu powtórki.
Po dwóch tygodniach powinno być jaśniejsze na czym się stoi i co dalej robić.

Linki

Linki do przykładowych stron koła związanych z powyższą listą:
(na dole stron linki do rozwiązań na http://error501.wikidot.com/problemset )

Zadania:
http://error501.pjwstk.edu.pl/zadania/oi7/e1/bro
http://error501.pjwstk.edu.pl/zadania/oi10/e1/cze
http://error501.wikidot.com/problemset
http://error501.pjwstk.edu.pl/zadania/oi9/e1/wys
http://error501.pjwstk.edu.pl/zadania/oi12/e1/ska
http://error501.pjwstk.edu.pl/zadania/oi11/e1/szp
http://error501.pjwstk.edu.pl/zadania/oi11/e2/tur

Struktury:
http://error501.pjwstk.edu.pl/baza-wiedzy

Spotkania:
http://error501.pjwstk.edu.pl/spotkania

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License