Na Wydziale
07 Jan 2009 19:52
TAGS: nauka polish wydział
Jakich przedmiotów powinno się uczyć na informatyce:
Powinny być
- projektowanie i tworzenie serwisów internetowych
- język Python (1 semestr?)
- programowanie urządzeń mobilnych
- systemy autoryzacji, szyfrowania i bezpiecznej transmisji danych
- nowoczesne bazy danych (czyli nierelacyjne)
Dodatkowe pomysły:
- TRZEBA zrewidować programowanie równoległe i rozproszone. Bazowanie na MPI jest nieludzkie. Należy przedstawić język Erlang oraz biblioteki do równoległego przetwarzania w Javie (tematyka seminarium Bały)
- zwrócenie uwagi na styl programowania — główny problem z kodem, który produkują studenci
- zadanie dla inżynierii oprogramowania — w praktyce jest ona równie ważna (a może i ważniejsza) już w trakcie realizowania projektu, co przed
- zadanie dla każdego przedmiotu "programowanie *" — zwrócić uwagę na elegancję kodu, ale również pokazywać jak elegancko programować
- tworzenie przydatnych rzeczy na zajęciach
- rozwijanie projektów open-source, posiadanie specjalistów nie tylko w systemach komercyjnych typu Oracle, ale również (przede wszystkim!) w dziedzinach otwartego oprogramowania — uczmy się na cudzych błędach i ogarnijmy cały ten darmowy kod, gdyż można z niego sporo wykorzystać (ale i poprawić)
- szukanie optymalnych rozwiązań — jeśli można coś zrobić w języku X, ale w języku Y jest to rozwiązanie, które ma jedną linię, to jaki jest sens zadawanie studentowi napisanie tego w języku X
- lepsze motywowanie do działania — np. przez robienie rzeczy, które nie są trywialne, realizują pomysły studentów, lub rzeczy przydatnych/potrzebnych
Nie powinny być obowiązkowe
- analiza matematyczna 2, równania różniczkowe
- podstawy przetwarzania sygnałów
- rachunek prawdopodobieństwa i statystyka matematyczna — wstęp do statystycznej analizy danych wystarcza, aby ogarnąć temat statystyki (laboratoria są OK, choć mogłyby pokazać również inne środowiska niż SPSS)
Potrzebne matematyczne przedmioty
Wydaje się, że przydatne są następujące przedmioty matematyczne:
- algebra — głównie macierze
- analiza matematyczna — pochodne, całki, być może transformata Fouriera
- matematyka dyskretna — bardzo przydatne, można nawet pójść dalej w kierunku kryptografii
- logika matematyczna i teoria mnogości — dość sensowne, można iść troszeczkę dalej (ale niezbyt głęboko): logika trójwartościowa (występuje w systemach bazodanowych)
Dobrze gadasz, ale brakuje mi jeszcze jednego:
W zasadzie, to nie uczą nas w ogóle jak projektować aplikację. Dostajemy wyłącznie zadania w stylu "Zrób cośtam używając [JOIN w SQL/friend w C++/#pragma omp parallel for w OpenMP/etc], ale praktycznie nie ma zadań, w których sam wybierasz narzędzia i techniki, a to jest ekstremalnie ważne.
To o czym mówisz było chyba tylko zrealizowane na zespołówce, gdzie sami wybraliśmy co chcemy robić i jak. Chociaż pytanie, czy ktoś to w ogóle ocenił projekt po czymś więcej niż po prezentacji (chyba tylko opiekun).
Piotr Gabryjeluk
visit my blog
Post preview:
Close preview