Webdesignere er pålagt å tenke gjennom problemer på en måte som datamaskiner kan forstå, og derfor er "beregningstanker" et uunnværlig ferdighetssett for dem å ha. Den tilbyr systematiske verktøy som trengs for å løse komplekse oppdrag fra klienter.
Beregningstendens gjør det mulig for webdesignere å bryte ned et problem, kartlegge mønstre i data, identifisere og fokusere på absolutt nødvendige aspekter av et oppdrag, mens du forlater unødvendig informasjon som vil falle ned i prosessen.
Som et verktøy for grundig planlegging unngår det kostbare feil som kommer som et resultat av rushing for å fullføre et prosjekt uten å ha vurdert ulike aspekter av problemet ved hånden.
Computational tenking som et konsept kan høres skremmende. Men hver dag, i alle aspekter av våre liv, utfører vi beregningstanker. Tenk på følgende handlinger og beslutninger som går inn i dem:
Prosessen med å planlegge og nå disse målene innebærer beregningstanker av noe slag.
Planlegging innebærer å bryte ned disse problemene i håndterbare deler og komme opp med sett med løsninger som gjør at vi kan nå målet vi har i tankene.
Bryter ned problemerFor våre formål, siden webdesignere ønsker vi å bruke datamaskiner for å hjelpe oss med å løse problemer ved hånden, tar beregningstanker seg om å forstå det komplekse problemet ved hånden, og bryte det ned i en rekke mindre håndterbare problemer. Vi utvikler deretter ideer om hvordan du løser disse mindre individuelle problemene, og endelig kommuniserer de resulterende ideene i en rekke trinn som kan forstås og behandles av en datamaskin.
Denne tilnærmingen følger hva vi kaller "prinsippene for beregningstanker".
Det er fire slike prinsipper:
Dette er nøkkelteknikker som vil hjelpe deg med å tenke beregningsfullt gjennom et komplekst problem (utfordring eller oppgave) før du skriver en enkelt linje med kode. La oss undersøke dem.
Dette er å bryte ned et komplekst problem eller system i mindre, lettere løste deler. Disse mindre problemene løses en etter en til det større komplekse problemet er løst.
"Hvis et problem ikke brytes ned, er det mye vanskeligere å løse. Å håndtere mange forskjellige stadier på en gang er mye vanskeligere enn å bryte et problem ned i en rekke mindre problemer og løse hverandre, en om gangen. "- BBC Bitesize
Når du har spalt det komplekse problemet i mindre problemer, er neste trinn å se på likheter de deler.
Mønstre er felles egenskaper som oppstår i hvert enkelt problem. Hvilke likheter ser du på? Å finne disse likhetene i små nedbrytte problemer kan hjelpe oss med å løse komplekse problemer mer effektivt.
"Abstraksjon" refererer til bare å fokusere på viktig informasjon, uten å ignorere irrelevante detaljer. For å nå en løsning må vi ignorere unødvendige egenskaper for å fokusere på de som vi gjør.
Så hva er denne viktige informasjonen vi trenger å fokusere på? I abstraksjon er fokuset hovedsakelig på generelle egenskaper som er vanlige for hvert element, i stedet for bestemte detaljer.
Når du har de generelle egenskapene, kan du opprette en "modell" av problemet; en modell er den generelle ideen om problemet vi prøver å løse.
"Hvis vi ikke abstrakterer, kan vi ende opp med feil løsning på problemet vi prøver å løse." - BBC Bitesize
Når vi har en modell, kan vi designe en algoritme
Du har brutt ned det store problemet i mindre, lett håndterbare problemer. Du har identifisert likheter mellom disse problemene. Du har fokusert på relevante detaljer og etterlatt noe irrelevant.
Nå er det på tide å utvikle trinnvise instruksjoner for å løse hvert av de mindre problemene, eller de regler som skal følges når du løser problemet. Disse enkle trinnene eller reglene brukes til å programmere en datamaskin for å løse et komplekst problem på den beste måten. De kalles også "algoritmer".
Definisjon: En algoritme er en plan, et sett med trinnvise instruksjoner som brukes til å løse et problem.
"Algoritmer involverer ikke alltid kompliserte programmeringsprogrammer; i hjertet er de sekvenser av trinn for å bevege seg mot et mål. "- John Villasenor
Å skrive en algoritme krever omfattende planlegging for at den skal fungere riktig. Løsningen datamaskinen tilbyr er like god som algoritmen du skriver. Hvis algoritmen ikke er bra, vil ikke løsningen din heller være bra.
Flowcharts tilbyr en perfekt måte å representere algoritmer på.
"Et flytskjema er en type diagram som representerer en algoritme, arbeidsflyt eller prosess, som viser trinnene som bokser av forskjellige slag, og deres rekkefølge ved å koble dem med piler. Denne diagrammatiske representasjonen illustrerer en løsningsmodell for et gitt problem. "- Wikipedia
Flowcharts er en enkel måte å plotte ut algoritmer, spesielt hvis de trenger å sende forskjellige resultater underveis. De bruker standard styling konvensjoner. Flowcharts flyter fra topp til bunn og venstre til høyre.
Flowchart-element eksempler fra UX KitsMens du bryter opp problemet ved hånden i mindre håndterbare deler, har du kommunisert dine funn, ideer og mulige løsninger på vanlig engelsk (eller hvilket språk du bruker til å kommunisere).
Datamaskiner forstår ikke instruksjonene på engelsk. De forstår kode. Kode eller algoritmer som danner et sett med instruksjoner med svært spesifikk syntaks.
Men før du bruker funnene dine til å skrive kode som datamaskinen vil forstå, er det vanligvis tilrådelig å skrive dem ned i pseudo.
Pseudokode hjelper deg med å planlegge løsningene på problemet ditt for å unngå feil når du skriver kode. Det er en måte å skrive instruksjoner på en forenklet måte som leser som kode. Pseudokode er ikke kode, men den har ikke spesifikk syntaks som koden bruker.
Pseudokode er best skrevet ved hjelp av søkeord og variabler. Variabler i programmering står for en verdi, et ord eller en del av koden. I programmeringen endres verdien av variabler avhengig av hvor du er i koden.
For eksempel kan denne pseudokoden (hentet fra University of Tennessee) beregne lønn:
Begynn INPUT timer INPUT rate pay = timer * rate OUTPUT betale slutt
Og dette, litt mer komplisert eksempel kan beregne lønn med overtid:
Begynn INPUT timer, rate IF timer ≤ 40 THEN pay = timer * rate ELSE lønn = 40 * rate + (timer - 40) * rate * 1,5 OUTPUT lønn END
Pseudokode benytter kode-lignende termer som er nyttige når du oversetter det til kode.
STOP / END
Datamaskiner er bokstavelig. Du må fortelle dem når en uttalelse eller instruksjon er gjort. Gjør dette ved å skrive STOPPE
eller SLUTT
.IF / ELSE / THEN
Datamaskiner forstår forholdene: hvis A skjer, gjør du B, hvis ikke, gjør da C.INPUT / OUT
Noen kode krever innspilling for å kunne kjøre og opprette et resultat. Input er for data som en bruker eller en annen kilde vil gi til datamaskinen. Output brukes til å indikere sluttresultatet av en rekke kommandoer. STORE / LAGRE
Pseudocode term som instruerer en datamaskin for å lagre eller lagre en verdi når det er nødvendig. Det er faktisk en femdel del i hele prosessen. Du har brukt beregningstanker for å komme frem til en løsning. Løsningen er en algoritme som kan brukes til å programmere datamaskinen.
Du er kløe for å starte programmeringen, men før du går videre må du vurdere løsningen. Hvorfor?
"Uten evaluering vil eventuelle feil i algoritmen ikke bli hentet opp, og programmet kan ikke løse problemet på riktig måte, eller kanskje ikke løse det på den beste måten." - BBC Bitesize
Tenk på å evaluere algoritmen som "feilsøking".
Beregningstanker går gjennom alle aspekter og funksjoner av 21st århundre virksomhet. Det er en uunnværlig problemløsning ferdighet for webdesignere som til slutt må representere løsninger på et språk som datamaskiner kan forstå og behandle.
Husk at beregningstanker innebærer følgende trinn: