Subiecte populare
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

Jeffrey Scholz
Ai avut experiența în care ai citit de 100 de ori cum funcționează un algoritm – fiecare pas are sens – dar nu pleci niciodată nici măcar simțind că îl înțelegi?
Poate traduceți cu atenție algoritmul în cod - luminează unele lucruri - dar algoritmul tot nu se potrivește?
Problema de bază este ceea ce voi numi "pragul de complexitate".
Unii algoritmi sunt atât de simpli încât este mai bine să-i memorați în loc să "învățați cum funcționează".
Să începem cu unul dintre cei mai simpli algoritmi de acolo: Teorema lui Pitagora.
Majoritatea oamenilor au memorat teorema lui Pitagore, dar aproape nimeni nu știe cum să o derive. Aceasta nu este o problemă, deoarece teorema lui Pitagora este suficient de mică încât să o puteți recupera din memorie, mai degrabă decât să o rederivați din mers. La fel și pentru ceva de genul sortare de fuziune.
Odată ce l-ai exersat, este suficient de mic pentru a se lipe.
Cu toate acestea, algoritmii mai complecși au prea multe părți în mișcare și dependențe pentru a fi pur și simplu memorați.
Algoritmii care depășesc "pragul de complexitate" nu pot fi pur și simplu memorați.
Astfel, pentru a preda cu adevărat un algoritm non-trivial, doar a arăta cum funcționează cu animații fanteziste și exemple lucrate este departe de a fi suficientă - trebuie să arăți studentului cum să-l descopere.
Și asta este excepțional de provocator pentru că trebuie să retrăiești procesul creativ! Algoritmii nu sunt ca teoremele pe care le poți deriva doar din axiome. Ele necesită creativitate pentru a fi "descoperite". Cu toate acestea, "descoperirea" vine dintr-o înțelegere profundă a componentelor necesare, apoi punându-ți o întrebare cheie care duce la stabilirea conexiunii corecte.
Nu poți doar să arăți pașii algoritmului - trebuie să creezi un mediu în care pașii să poată fi redescoperiți. Și asta crește materialul didactic cu cel puțin un ordin de mărime.
Deci, atunci când predăm ceva non-banal, cum ar fi ZK sau Uniswap V3, nu descriem doar cum funcționează - acest lucru nu este de fapt util. Încercăm să creăm un cadru în care elevul să aibă cunoștințele de bază pentru a redescopera ideile de bază pe cont propriu, dacă i se oferă îndemnul potrivit.
Este nevoie de mult mai multă muncă pentru a preda în acest mod.
Dar apoi elevul pleacă amintindu-și și înțelege în loc să se lovească cu capul pe tutorial după tutorial care (încearcă) să predea același lucru.
O notă de subsol importantă: multe lucruri fundamentale ar trebui pur și simplu memorate. Memorarea este foarte subestimată. Ceea ce descriu sunt subiecte care nu se pretează la memorare directă.
3,5K
Afirmațiile vagi în scrierea tehnică apar adesea pentru că autorul nu înțelege pe deplin despre ce vorbește, dar nu vrea să spună nimic incorect.
Câteva exemple:
- "acest parametru determină securitatea algoritmului"
- "procesul este similar cu transformata rapidă Fourier"
- "folosim această configurație pentru că vrem ca serializarea să fie deterministă"
Determină – cum?
Similar – atunci în ce fel este diferit?
Este posibil ca serializarea să fie non-deterministă atunci?
Afirmațiile vagi ridică mai multe întrebări în capul cititorului decât îl învață pe cititor, iar această confuzie face ca articolul să fie o pierdere netă de timp pentru a citi.
Acest tip de scriere poate apărea într-unul din două moduri:
1. Autorul este conștient că nu știe despre ce vorbește, dar nu vrea să depună efort (sau nu are timp), pentru a ajunge la fundul lipsei sale de înțelegere
2. Autorul crede că înțelege despre ce vorbește, dar nu și-a pus la îndoială cunoștințele despre subiect.
Doar pentru că cunoști bine un subiect nu înseamnă că îl poți explica. Dar pentru a o explica bine este nevoie mai întâi de o înțelegere profundă și precisă.
3,39K
Limită superioară
Clasament
Favorite