Struktur och tolkning av datorprogram - gratis kurs från Hexlet, utbildning 9 timmar, datum 27 november 2023.
Miscellanea / / November 28, 2023
- 17 lektioner (video och/eller text)
- 4 övningar i simulatorn
- Ytterligare material
- Hjälp i "Diskussioner"
Vad kommer du att lära dig
- Arbeta med programmeringsspråket Scheme (Lisp).
- Skapa abstraktioner
- Implementera största gemensamma divisor, primatitetstestning och andra algoritmer
- Gör rekursiva beräkningar
Du kommer att lära dig mer om primitiva uttryck, kombinationer och abstraktioner, procedurer och de abstraktioner de genererar. Som ett resultat kommer du att lära dig hur du implementerar algoritmer för att hitta den största gemensamma divisorn och kontrollera primalitet, bygga procedurer med Lambda, göra rekursiva beräkningar och hitta roten med hjälp av en metod Newton. Den här kursen är användbar om du vill få en djupare förståelse för grunderna i programmering. Kunskapen från denna kurs hjälper utvecklare att utveckla sina programmeringsfärdigheter. Den här kursen är lämplig för både erfarna utvecklare och de som precis börjat lära sig programmering. För att klara det behöver du bara kunskaper i matematik och programmering från skolans läroplan.
SIKP: Vad är datavetenskap?
Bekanta dig med begreppet datavetenskap.
SIKP: Primitiva uttryck, kombination och abstraktion
Bekanta dig med språket Lisp, överväg primitiva uttryck, kombinationer, procedurer och abstraktioner.
SIKP: Procedurer som abstraktioner
Tänk på ett viktigt tillvägagångssätt för programmering: procedurer som abstraktioner.
SICP: Procedurer och processer som genereras av dem 1
Granska procedurer och processer, linjär rekursion och iteration.
SICP: Procedurer och processer som genereras av dem 2
Granska procedurer och processer, linjär rekursion och iteration.
SIKP: Trädrekursion
Som ett exempel på trädrekursion, överväg att beräkna en sekvens av Fibonacci-tal där varje tal är summan av de två föregående.
SIKP: Tillväxtorder
Bekanta dig med begreppet tillväxtordning, som ger en allmän uppskattning av de resurser som krävs av en process när dess indata ökar.
SIKP: Exponentiering
Tänk på problemet med att höja ett antal till en makt för att bättre förstå tillväxtordningar
GICP: Greatest Common Divisor
Överväg en algoritm för att hitta den största gemensamma divisorn och implementera den i Scheme-programmeringsspråket (LISP).
SICP: Simplicity Test
Implementera en algoritm för att kontrollera ett nummer för primalitet i Scheme-programmeringsspråket (LISP).
SICP: Procedurer som argument
Tänk på en viktig egenskap hos språket: förmågan att överföra en procedur som ett argument till en annan procedur.
SIKP: Byggprocesser med lambda
Lär dig att skapa procedurer i farten med lambda.
SICP: Skapa lokala variabler
Lär dig att skapa lokala variabler i procedurer.
SICP: Halvdelningsmetod
Överväg att implementera halvintervallsmetoden, ett enkelt men kraftfullt sätt att hitta rötterna till ekvationen f(x) = 0, där f är en kontinuerlig funktion.
SIKP: Hitta fasta punkter för funktioner
Överväg att hitta fasta punkter för funktioner. Ett tal x kallas en fixpunkt för en funktion f om det uppfyller ekvationen f (x) = x.
SIKP: Rutiner som returvärden
Uppnå ännu större uttryckskraft genom att skapa procedurer vars returvärden i sig själva är procedurer.
SICP: Newtons metod
Överväg och implementera det allmänna fallet att hitta en rot med hjälp av Newtons metod.
Ytterligare material
Artiklar och videor kurerade av Hexlet-teamet. Hjälper dig att dyka djupare in i kursens ämne