-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
s.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!news-zh.switch.
ch!switch.ch!feeder.news-service.com!feeder.news-service.com!postnews.google.co
m!news4.google.com!news1.google.com!npeer03.iad.highwinds-media.com!news.highwi
nds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshostin
g.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neos
trada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "Wiktor Zychla" <w...@n...com>
Newsgroups: pl.comp.programming
References: <1...@4...com>
In-Reply-To: <1...@4...com>
Subject: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Date: Wed, 30 Mar 2011 23:31:01 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="ISO-8859-1"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 14.0.8117.416
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8117.416
Lines: 78
Message-ID: <4d93a115$0$2450$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 195.116.95.201
X-Trace: 1301520661 unt-rea-b-01.news.neostrada.pl 2450 195.116.95.201:45139
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:189585
[ ukryj 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 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
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją