Huvud Smartphones CS50: Hur man tar Harvards kodningskurs online

CS50: Hur man tar Harvards kodningskurs online



CS50, Harvards överprenumererade och inflytelserika kodningskurs för världens mest elitiska sinnen är, förvånansvärt, otroligt svårt att komma igång. Det är därför Harvard ger dig tillgång till de överflödiga CS50-resurserna online gratis eller som en betald kurs om du vill få ett formellt intyg om dina färdigheter i slutet.

none

Om du undrar hur du kommer åt CS50-innehåll online finns det fyra sätt:

Ta CS50 online: Harvard Extension School

Harvards egen distansutbildningsfilial, Harvard Extension School, erbjuder olika smaker av CS50. Den terminlånga CSCI E-50 Intensiv introduktion till datavetenskapskursen erbjuder fyra poäng mot en examen och kostar $ 2400. Utrymmet är begränsat till 200 studenter och kurser är dock kraftigt överprenumererade. Hålla ett öga på extension.harvard.edu för när anmälan öppnas för nästa års höst- och vårkurser.

Ta CS50 online: edX

Alternativt erbjuds kursen genom onlineutbildningswebbplats edX , där du kan hantera det i din egen takt. Enligt edX-sidan för CS50 får studenter som får en tillfredsställande poäng på nio problemuppsättningar (dvs. programmeringsuppgifter) och ett slutprojekt ett certifikat från HarvardX. Studenter kan ta kursen gratis, men måste betala $ 90 om de vill få ett instruktörssignerat certifikat med institutionens logotyp för att verifiera din prestation och öka dina jobbutsikter.

Ta CS50 online: iTunes U

Kursen och allt dess material finns - som många andra Harvard-kurser - också tillgänglig på Apples iTunes U. Du kan ladda ner appen gratis från App Store (antingen på iPhone, iPad eller Mac) och söka efter CS50 i katalogen. Alla videoföreläsningar, problemuppsättningar, frågesporter och annat material finns i förpackningen, även om en relativt ny redesign av iTunes U har gjort den här massan av material mycket svårare att navigera än den en gång var.

Ta CS50 online: YouTube

Det sista sättet är att helt enkelt titta på alla föreläsningar - som i sig är en givande strävan - på YouTube. Alla föreläsningar från kursen Datavetenskap 50 2015 finns på Harvard-kanal . Det finns mer än 20 timmars film att arbeta igenom, även om varje enskild föreläsning inte är längre än en timme eller så.

LÄS NÄSTA: Lär dig att koda gratis i Storbritannien

hur man skickar ett självförstörande textmeddelande

Kan du klara CS50?

Orolig att du inte har det mentala bruset att gå på Harvards elitkurs? Här är några exempel på frågor direkt från Harvards kurs. Oroa dig inte, de är inte heller vettiga för mig.

1: Vigenère-chifferet

Din sista utmaning den här veckan är att skriva, i vigenere.c, ett program som krypterar meddelanden med hjälp av Vigeneres chiffer. Detta program måste acceptera ett enda kommandoradsargument: ett nyckelord, k, som helt består av alfabetiska tecken.

Om ditt program körs utan några kommandoradsargument, med mer än ett kommandoradsargument eller med ett kommandoradsargument som innehåller något icke-alfabetiskt tecken, bör ditt program klaga och avsluta omedelbart, med huvudåtergivande 1 (därmed vilket innebär ett fel som våra egna tester kan upptäcka).

Annars måste ditt program fortsätta för att be användaren om en sträng av klartext,
p, som den sedan måste kryptera enligt Vigenères chiffer med k, i slutändan skriva ut resultatet och avsluta, med huvudretur 0.

När det gäller karaktärerna i k måste du behandla A och a som 0, B och b som 1, ... och Z och z som 25. Dessutom måste ditt program bara tillämpa Vigenères chiffer på en karaktär i p om den karaktären är ett brev. Alla andra tecken (siffror, symboler, mellanslag, skiljetecken osv.) Måste matas ut oförändrade.

Dessutom, om din kod är på väg att tillämpa j-tecknet på k på det ith-tecknet på p, men det senare visar sig vara ett icke-alfabetiskt tecken, måste du vänta med att tillämpa det j-tecknet på k på nästa alfabetiska tecken i p ; du får ännu inte gå vidare till nästa karaktär i k. Slutligen måste ditt program bevara fallet för varje bokstav på sid.

2. Fifteen Game

The Game of Fifteen är ett pussel som spelas på ett fyrkantigt bräde med numrerade brickor som glider. Målet med detta pussel är att ordna brädans brickor från minsta till största, vänster till höger, uppifrån och ned, med ett tomt utrymme i brädans nedre högra hörn.

Implementera Gud Mode för detta spel.

Först implementera init på ett sådant sätt att kortet initieras till en pseudorandom men lösbar konfiguration. Slutför sedan genomförandet av dragning, flytt och vann så att en människa faktiskt kan spela spelet.

Se relaterad CS50: Inuti världens mest elitdatorkurs Lär dig att koda gratis: De bästa kurserna i Storbritannien för kodning och apputveckling under den nationella kodningsveckan Ett år som kodande nomad

Men bädda in ett spel i spelet, där, i stället för att skriva ett heltal mellan 1 och d2 - 1, där d är brädans höjd och bredd, kan människan också skriva GUD för att tvinga 'datorn' att ta kontroll över spelet och lösa det (med vilken strategi som helst, optimal eller icke-optimal), gör, säg, bara fyra drag per sekund så att människan kan titta.

Förmodligen måste du byta ut GetInt mot något mer mångsidigt. Det är bra om din implementering av God Mode bara fungerar (otroligt snabbt) för d ≤ 4; du behöver inte oroa dig för att testa God Mode för d> 4. Åh, och du kan inte implementera God Mode genom att komma ihåg hur initierat styrelsen (som genom att komma ihåg sekvensen av drag som fick ditt program till ett pseudorandom men lösligt tillstånd). Bra försök.

Alla problem upphovsrätt till Harvard University. Fullständiga problemuppsättningar publiceras på: cs50.harvard.edu

Intressanta Artiklar

Redaktionen

none
Hur man får heliga stjärnor i Lords Mobile
Lords Mobile är fortfarande ett av de mest populära mobilspelen. En stor del av dess njutning kommer från skalningsmekanik och ständiga uppdateringar för att få in mer innehåll i spelet och hålla spelarna investerade. Spelare använder sin tid, sina pengar eller både och
none
Återställ mappvy för alla mappar i Windows 10
I alla Windows-versioner kan du anpassa en viss mappsvy för att göra den mer lämplig för innehållet i den mappen. Så här återställer du mappvyn till standardinställningar för alla mappar.
none
Taggarkiv: återställ klassiska flikar
none
Hur man lägger till mods till Minecraft
Minecraft är utan tvekan ett av de mest spännande spelen som utvecklats på senare tid. Det är vanligt eftersom det ger dig chansen att lägga till nya karaktärer, terräng, samlarobjekt, ändra färger och har många fler spännande funktioner. Allt detta är möjligt
none
Hur man tar bort ett måndagskonto
Som administratör på monday.com har du en hel del ansvar. Du måste hantera ditt team och andra användare tillsammans med att hantera kontosäkerhet, fakturering och en mängd andra ärenden. Men om monday.com inte gör det fullt ut
none
Hur man låser upp alla objekt i Sims 4
Kärnmålet med Sims 4 är att leva ditt bästa liv, vilket inkluderar att bygga ditt drömhus. Om du vill följa en realistisk spelväg måste du tjäna pengar för varje föremål för ditt hem. Men en av
none
Microsoft Windows Vista
Grundläggande information om Microsoft Windows Vista inklusive tillgängliga service pack, utgåvor, releasedatum, minimum (och maximal) hårdvara och mer.