CS50, Harvards overtegnede og indflydelsesrige kodningskursus for verdens mest elitehoved er, overraskende, utrolig svært at komme videre. Derfor giver Harvard dig adgang til de rigelige CS50-ressourcer online gratis eller som et betalt kursus, hvis du vil modtage et formelt certifikat for dine færdigheder i slutningen.
Hvis du spekulerer på, hvordan du får adgang til CS50-indhold online, er der fire måder:
Tag CS50 online: Harvard Extension School
Harvards egen fjernundervisningsgren, Harvard Extension School, tilbyder forskellige varianter af CS50. Den semesterlange CSCI E-50 Intensive introduktion til datalogikursus tilbyder fire point mod en grad og koster $ 2.400. Pladsen er begrænset til 200 studerende, og kurser er dog stærkt overtegnet. Hold øje med extension.harvard.edu til hvornår tilmeldingen åbner til næste års efterårs- og forårskurser.
Tag CS50 online: edX
Alternativt tilbydes kurset gennem online uddannelseswebsted edX , hvor du kan tackle det i dit eget tempo. Ifølge edX-siden til CS50 modtager studerende, der tjener en tilfredsstillende score på ni problemstillinger (dvs. programmeringsopgaver) og et afsluttende projekt, et certifikat fra HarvardX. Studerende kan tage kurset gratis, men skal betale $ 90, hvis de ønsker at modtage et instruktør-underskrevet certifikat med institutionens logo for at bekræfte din præstation og øge dine jobmuligheder.
Tag CS50 online: iTunes U
Kurset og alt dets materiale er - ligesom mange andre Harvard-kurser - også tilgængeligt på Apples iTunes U. Du kan downloade appen gratis fra App Store (enten på iPhone, iPad eller Mac) og søge efter CS50 i kataloget. Alle videoforelæsninger, problemstillinger, quizzer og andet materiale er i pakken, selvom et relativt nyt redesign af iTunes U har gjort denne masse materiale meget sværere at navigere end den engang var.
Tag CS50 online: YouTube
Den sidste måde er blot at se alle forelæsningerne - hvilket i sig selv er en god indsats - på YouTube. Alle forelæsninger fra kurset Computer Science 50 i 2015 kan findes på Harvard-kanal . Der er mere end 20 timers optagelser at arbejde igennem, selvom hver enkelt forelæsning ikke er mere end en time eller deromkring.
LÆS NÆSTE: Lær at kode i Storbritannien gratis
når jeg klikker på startmenuen, sker der intet
Kunne du bestå CS50?
Bekymret for at du ikke har den mentale støj til at gå på Harvards elite kursus? Her er nogle eksempler på spørgsmål direkte fra Harvards kursus. Bare rolig, de giver heller ikke mening for mig.
1: Vigenère-kryptering
Din sidste udfordring i denne uge er at skrive, i vigenere.c, et program, der krypterer meddelelser ved hjælp af Vigeneres kryptering. Dette program skal acceptere et enkelt kommandolinjeargument: et nøgleord, k, der udelukkende består af alfabetiske tegn.
Hvis dit program udføres uden nogen kommandolinjeargumenter, med mere end et kommandolinjeargument eller med et kommandolinjeargument, der indeholder et ikke-alfabetisk tegn, skal dit program klage og afslutte straks med hovedretur 1 (derved betyder en fejl, som vores egne tests kan opdage).
Ellers skal dit program fortsætte med at bede brugeren om en streng ren tekst,
p, som den derefter skal kryptere i henhold til Vigenères chiffer med k, i sidste ende udskrive resultatet og afslutte, med hovedretur 0.
Hvad angår tegnene i k, skal du behandle A og a som 0, B og b som 1,… og Z og z som 25. Derudover skal dit program kun anvende Vigenères kryptering til et tegn i p, hvis det tegn er et brev. Alle andre tegn (tal, symboler, mellemrum, tegnsætningstegn osv.) Skal udgives uændret.
Desuden, hvis din kode er ved at anvende jth-tegnet af k til det ith-tegn på p, men sidstnævnte viser sig at være et ikke-alfabetisk tegn, skal du vente med at anvende det jth-tegn af k til det næste alfabetiske tegn i p ; du skal endnu ikke gå videre til næste tegn i k. Endelig skal dit program bevare tilfældet for hvert bogstav i s.
2. The Fifteen Game
The Game of Fifteen er et puslespil, der spilles på et firkantet bræt med nummererede fliser, der glider. Målet med dette puslespil er at arrangere brættets fliser fra mindste til største, venstre mod højre, top til bund, med et tomt rum i brættets nederste højre hjørne.
Implementér God Mode til dette spil.
Først implementerer init på en sådan måde, at tavlen initialiseres til en pseudorandom men løsbar konfiguration. Fuldfør derefter implementeringen af lodtrækning, flyt og vandt, så et menneske rent faktisk kan spille spillet.
Se relateret CS50: Inde i verdens mest elite computerkursus Lær at kode gratis: De bedste britiske kodning og app-udviklingskurser i den nationale kodningsuge Et år som kodende nomad
Men integrer et snyd i spillet, hvorved mennesket i stedet for at skrive et heltal mellem 1 og d2 - 1, hvor d er brættets højde og bredde, også kan skrive GUD for at tvinge 'computeren' til at tage kontrol over spillet og løse det (ved hjælp af enhver strategi, optimal eller ikke-optimal), idet vi kun siger fire bevægelser i sekundet, så mennesket kan se.
Formentlig bliver du nødt til at bytte GetInt ud for noget mere alsidigt. Det er fint, hvis din implementering af God Mode kun fungerer (utroligt hurtigt) i d ≤ 4; du behøver ikke bekymre dig om at teste God Mode for d> 4. Åh, og du kan ikke implementere God Mode ved at huske, hvordan init initialiserede bestyrelsen (som ved at huske rækkefølgen af bevægelser, der fik dit program til en eller anden pseudorandom men løsbar tilstand). Godt forsøgt.
Alle problemer ophavsret fra Harvard University. Fuldstændige problemstillinger offentliggøres på: cs50.harvard.edu