-
Data: 2012-10-13 14:46:27
Temat: Re: sortowanie
Od: Edek Pienkowski <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Sat, 13 Oct 2012 13:52:31 +0200, Michoo napisal:
> On 13.10.2012 11:27, Edek Pienkowski wrote:
>> Dnia Fri, 12 Oct 2012 21:08:36 +0200, Michoo napisal:
>>
>>> Nie wiedzieć czemu w edukacji stosuje się bąble do nauczania na samym
>>> poczatku, mimo, że zasada działania jest świetnym przykładem "jak nie
>>> projektować algorytmów". A potem licealiści/studenci na pytanie o
>>> najprostszy algorytm sortowania odpowiadają "bąbelki"...
>>
>> Nie wiedzieć czemu w edukacji stosuje się sortowanie do nauczania
>> algorytmów. Poza złożonością obliczeniową sortowanie nie nadaje się
>> na przykład czegokolwiek.
>>
> Dlaczego? Mamy dane wejściowe, mamy predykat do spełnienia na wyjściu,
> mamy opis operacji, czyli algorytm. Łatwe do zrozumienia, łatwe do
> prezentacji, łatwe do sprawdzenia poprawności.
>
> Co Ty byś proponował do nauki algorytmów?
Coś co ma "contraints" do spełnienia [1], najlepiej nietrywialne [2]; może
być wykres Gannta z zadań, ale niektóre uczelnie preferują np. peephole.
Budowanie wykresu Gannta czy raczej samego przypisania może mieć
nietrywialne raguły typu "jeden z programistów, taki Edek [3], rzyga na
widok sortowania, więc niektóre zadania trzeba przypisać innej osobie".
Peephole natomiast uświadomiłoby niektórym "dzieciom Javy po studiach", że
JVM opiera się na modelu (trudne słowo przed nami, ech) procesora i że
tak, Java jest interpretowana.
Dodatkowym wnioskiem z zastosowania "constraints" jest uświadomienie sobie
różnicy pomiędzy "zawsze możliwym", "czasami możliwym"
i "niemożliwym" i odwrotności - spotkałem programistów, którzy tej logiki
w zaawansowanym umysłowo wieku jeszcze nie rozpracowało, przez co nie
rozumie zdania "to niemożliwe", albo "w niektórych przypadkach to nie
zadziała, pomimo tego że w testowanych działa", albo "do tego fragmentu
nie potrzeba unit testów, bo masz dowód" połączone z "nawet jeżeli
napisane testy przejdą, po każdej zmianie trzeba od nowa przeprowadzić
dowód". To ostatnie stosuje się m.in. do algorytmów wielowątkowych, ale
tak naprawdę takie potoczne programistyczne "rozpatrzenie wszystkich
możliwości" jak i na przykład refactoring opierają się na logice
constraints, trzeba umieć je składać, negować itd. .
Nie zaczynałbym edukacji od "zobacz, na ile możliwości można zrobić coś
tak banalnego jak sortowanie, jakie piękne metody".
[1] Gdyby ktoś mi zapodał polskie słowo będę wdzięczny,
ja mam tylko "ograniczenia". Constraints to moje ulubione podejście do
pisania programów w ogólności, _w pewnym sensie_ spełnienie wymagań,
zachowanie integralności sprzętu i inne takie oczywistości jak czas
implementacji można widzieć jako "constraints" - pisanie oprogramowania ma
je wszystkie spełniać i to jest pełna definicja jeżeli mamy dane wszystkie
"constraints".
[2] Stabilność sortowania - trywialne, w sensie mało złożone, pomijam
fakt, że algorytm może zmienić nietrywialnie
[3] Udało mi się do dziś uniknąć znajomości quick-sorta. Jak ktoś
chce z tego faktu wyciągać daleko idące wnioski na temat mojego
zrozumienia algorytmów - proszę bardzo. Po pierwsze, mi się
nie chce, po drugie, ja wciąż potrafię znaleźć szukanie O(n)
mediany znając tylko wybrane właściwości quick-sorta.
--
Edek
Następne wpisy z tego wątku
- 13.10.12 14:49 Edek Pienkowski
- 13.10.12 15:13 bartekltg
- 13.10.12 15:13 PK
- 13.10.12 15:26 kenobi
- 13.10.12 15:32 Edek Pienkowski
- 13.10.12 15:36 Edek Pienkowski
- 13.10.12 15:39 bartekltg
- 13.10.12 15:53 kenobi
- 13.10.12 15:58 PK
- 13.10.12 15:58 identyfikator: 20040501
- 13.10.12 16:13 Edek Pienkowski
- 13.10.12 16:13 bartekltg
- 13.10.12 16:58 Edek Pienkowski
- 13.10.12 16:58 Edek Pienkowski
- 13.10.12 18:49 kenobi
Najnowsze wątki z tej grupy
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
Najnowsze wątki
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-12-24 otwarcie drugiej obwodnicy Trójmiasta
- 2025-12-24 Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- 2025-12-23 Prezent dla kierowców od prezydenta Nawrockiego
- 2025-12-23 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-12-23 Warszawa => Senior IT Recruitment Consultant <=
- 2025-12-22 czy wiedziałeś że?
- 2025-12-22 Unijne KOOOORWY mówią że WYCOFUJĄ się z zakazu rejestracji elektryków
- 2025-12-22 Białystok => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-22 Lublin => Project Manager <=
- 2025-12-22 Warszawa => Project Manager (AI and innovation) <=
- 2025-12-22 TVN oczekuje: Za Ziobrem BĘDZIE czerwona nota Interpolu! Czy może Interpol da drugi raz (w) dupę? ;-)




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem