-
Data: 2011-03-30 21:31:01
Temat: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Od: "Wiktor Zychla" <w...@n...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> oglosil ze pzrestaje uczyc programwoania obiektowego na wstepnych
> kursach programwoania
Jezeli celem "wstepnych kursów programowania" jest przeglad koncepcji
programowania, to usuwanie z niego któregokolwiek z paradygmatów jest
dyskusyjne. Mozna dyskutowac o "wyrównywaniu proporcji", jesli z jakiegos
powodu nauczanie mialo charakter zbyt "inzynierski" i opieralo sie na
przyklad wylacznie o jezyki obiektowe. Ale usuwac? To pachnie podejsciem
dogmatycznym, zamiast oczekiwanym - praktycznym.
Z wlasnego podwórka - w Instytucie Informatyki UWr, gdzie pracuje, od dawna
programowania nie uczy sie na przykladzie zadnego konkretnego jezyka -
zamiast tego studenci uczeszczaja na "Programowanie", gdzie
"Celem zajec jest przedstawienie studentom mozliwie szerokiego kregu
zagadnien zwiazanych z programowaniem komputerów, ze szczególnym
uwzglednieniem podstawowych konstrukcji wystepujacych w jezykach
programowania i zwiazanych z nimi technik tworzenia programów."
Program obejmuje:
Podstawy inzynierii oprogramowania. (3 godz.)
Definicje indukcyjne, rekursja i dowody przez indukcje strukturalna. (1
godz.)
Gramatyki regularne i bezkontekstowe. Analiza leksykalna i skladniowa.
Lekser. Parser. Konkretne i abstrakcyjne drzewa rozbioru. (3 godz.; Teoria
informatyki)
Metody opisu semantyki jezyków programowania. Strukturalna semantyka
operacyjna. Semantyka denotacyjna. Definicje rekurencyjne i funkcje
czesciowe. (5 godz.; Wstep do semantyki jezyków programowania)
Logika Hoare'a i dowodzenie poprawnosci programów. Metoda niezmienników.
Synteza programów metoda wstepujaca i zstepujaca. (5 godz.; Wstep do
semantyki jezyków programowania)
Struktura wspólczesnych jezyków programowania. Nazwy, komórki i wartosci,
struktury sterujace, funkcje i procedury, dynamiczne struktury danych,
wyjatki. Typy danych, mocna typizacja, rekonstrukcja typów. (7 godz.)
Pojecie translatora. Zasieg zmiennych, wywolywanie funkcji i zarzadzanie
pamiecia. Jezyki o strukturze blokowej, rekordy aktywacji, metody przydzialu
pamieci dla zmiennych lokalnych i globalnych. Funkcje wyzszego rzedu, funarg
problem. Automatyczne zarzadzanie pamiecia i odsmiecanie. (6 godz.;
Translatory)
Algebraiczne specyfikacje typów danych. Typy definiowane indukcyjnie (listy,
drzewa, stosy, kolejki itd.) Indukcyjne dowody ich wlasnosci. (4 godz.;
Algorytmy i struktury danych)
Moduly, rodzajowosc i abstrakcja danych. Ukrywanie (encapsulation) danych.
Rozwiazania w konkretnych jezykach (moduly, pakiety w Adzie, klastery w
Clu). Rodzajowosc (funktory, pakiety rodzajowe, wzorce (templates) w C++).
(6 godz.; Algorytmy i struktury danych)
Programowanie funkcjonalne. Programowanie deklaratywne a imperatywne. Skutki
uboczne. Porzadek wartosciowania. (4 godz.; Programowanie funkcjonalne)
Programowanie obiektowe, metodologia OO, obiekty i klasy, abstrakcyjne typy
danych a klasy, podtypowanie a dziedziczenie, jezyki bezklasowe, Smalltalk.
Obiektowy styl programowania w C++. Java. (6 godz.; Programowanie obiektowe)
Wspólbieznosc. Elementarne metody synchronizacji: semafory, monitory, rejony
krytyczne. CSP. CCS. Model asynchroniczny. Programowanie rozproszone.
Kanaly, watki, coroutines. Mechanizmy wspólbieznosci w Adzie i innych
jezykach programowania. Pieciu filozofów itp. Obliczenia sterowane
przeplywem danych. (6 godz.; Obliczenia równolegle i rozproszone, Systemy
operacyjne)
Programowanie w logice. Prolog. (4 godz.; Programowanie logiczne)
Mozna spierac sie o szczególy, ale jest tu dokladnie to, co daje podstawe do
studiowania wielu dalszych zagadnien zwiazanych z programowaniem.
I gdyby mój Szanowny Kolega prowadzacy wyklad oglosil wszem i wobec, ze z
programu nauczania usunal zagadnienia zwiazane z programowaniem obiektowym,
bo "it is both anti-modular and anti-parallel by its very nature, and hence
unsuitable for a modern CS curriculum" to - podobnie jak tam - zwyczajnie
"zubozylby" ten wyklad.
Jezyki funkcjonalne bronia sie same, nie trzeba im pomagac na sile usuwajac
z programu nauczania Jave. Efekt moze byc odwrotny od zamierzonego. W
kontekscie polskim nie mamy sie kompletnie czego wstydzic - zalaczony wyzej
przyklad pokazuje, ze tam gdzie sie chce, tam mozna.
pozdrawiam uprzejmie,
Wiktor Zychla
Następne wpisy z tego wątku
- 31.03.11 05:29 p...@p...onet.pl
- 31.03.11 05:45 p...@p...onet.pl
- 31.03.11 08:12 Maciej Sobczak
- 31.03.11 19:23 Wojciech Jaczewski
- 31.03.11 21:11 Paweł Kierski
- 31.03.11 21:26 Wojciech Muła
- 31.03.11 22:01 Wojciech Jaczewski
- 31.03.11 22:08 Michoo
- 31.03.11 22:18 Michoo
- 31.03.11 22:23 A.L.
- 31.03.11 22:29 A.L.
- 01.04.11 02:31 Mariusz Marszałkowski
- 01.04.11 07:24 Paweł Kierski
- 01.04.11 07:43 Paweł Kierski
- 01.04.11 08:14 Mariusz Kruk
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-06 Jeździ, skręca, hamuje
- 2025-01-06 Białystok => System Architect (Java background) <=
- 2025-01-06 Gliwice => Specjalista ds. public relations <=
- 2025-01-06 Białystok => Solution Architect (Java background) <=
- 2025-01-06 Zielona GĂłra => Konsultant WdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg