Harvard kurser. Gratis undervisning vid Harvard University

Harvard CS50 kurs är en legendarisk kurs om grunderna i programmering och datavetenskap. Det har undervisats vid Harvard i många år som obligatoriskt för alla huvudämne. Det är inte mindre efterfrågat bland studenter av andra specialiteter. CS50 - grundkurs Datavetenskap är en av de mest populära i världen.

CS50 är så cool att Yale University övergav sin egen kurs till förmån för den.

Harvard CS50 kurs på ryska

CS50 är väldigt progressiv, står inte stilla och uppdateras år efter år. Dessutom, till skillnad från de flesta universitetsprogram, kräver det inte kunskaper i universitetsmatematik - skolnivån är tillräcklig.

När kursen lades ut på Internet för fri tillgång, uppskattades den av miljontals lyssnare. Under en lång tid den var endast tillgänglig på engelska språket, men imponerade så mycket på publiken att ett team av frivilliga hittades för att översätta det till ryska. Gå bara in sökmotor Sök efter "Harvard CS50 programmeringskurs" så hittar du många nedladdningslänkar. Du kan se alla föreläsningar online här.

CS50 inkluderar omfattande studie informationsteknik: från talsystem och algoritmer till grunderna artificiell intelligens.

Specialister från CODDY barnprogrammeringsskola har anpassat kursen för barn över 12 år.

Under 8 månaders utbildning kommer vi att prata om:

  • talsystem och algoritmer;
  • operativsystem och bibliotek;
  • strängar och arrayer;
  • bubblesortering och rekursion;
  • hashbord och träd;
  • krypteringsprotokoll och databaser;
  • webbprogrammering och layout;
  • säkerhet och artificiell intelligens...

Och om många andra saker som ligger till grund för programmering och datavetenskap.

Kursen är idealisk för gymnasieelever. Unikt och prisvärt utbildningsmaterial kommer att vara av intresse både för dem som vill koppla sin framtid med tekniska specialiteter, och för humanitärer som vill vidga sina vyer.

Träning innehåller mycket övning - verkliga problem från olika områden Vetenskaper. Detta ökar värdet av kursen avsevärt, särskilt för rysktalande studenter som är vana vid ett överflöd av teori.

Hur förstår vi att en student behärskar programmet?

Under utbildningen utvärderar vi hur praktisk sida fråga (hur man gör detta?), och förståelse för ämnet (varför och varför).

Eleverna visar sina kunskaper genom att lösa problem på sitt eget sätt, förklara algoritmer med sina egna ord, hjälpa klasskamrater att rätta till misstag och skapa presentationer om sina avslutade projekt.

I fri tillgång redan för flera år sedan, men den översätts för första gången till ryska. Vi tog den senaste versionen som utgångspunkt – den som startade på självaste Harvard hösten 2015.

Vi ger ordet till killarna från JavaRush.

Innan han blir en typisk programmerare måste en person gå igenom en typisk student väg. Med "student" menar vi en person som grundligt lär sig något nytt. Han studerar inte nödvändigtvis vid ett universitet: han kanske självständigt letar efter Internet på jakt efter användbar information. Bland massor av informationsskräp kan du ibland hitta riktiga diamanter, men med nuvarande storlek och struktur globalt nätverk det här är väldigt, väldigt svårt att göra.

En dag, Zapp, chefen för JavaRush (mer om JavaRush kommer i slutet av artikeln), letade igenom Internet och försökte hitta sådana diamanter för nybörjare inom programmering - JavaRush-studenter - och stötte på CS50. Denna akronym är en introduktionskurs om grunderna i datavetenskap och konsten att programmera. Den läses upp för studenter vid Harvard University och på senare tid vid Yale. Och "in absentia" över hela världen, genom den pedagogiska internetplattformen edX. Och helt gratis!

Uppriktigt sagt fångade kursen Zapps uppmärksamhet, även om han vanligtvis inte (milt uttryckt) gynnar universitet som proppar studenter med teknologier som har tappat relevans förr i tiden. stormig ungdom deras föräldrar. Universitetets "IT"-föreläsningar är också oftast tråkiga. Så mycket att det krampar dina kindben. Men nej, CS50 är inte så, inte ens nära! Det är progressivt (uppdateras ständigt), föreläsningar kan ses som en häftig tv-serie (istället för att somna i bakre skrivbordet eller göra sin egen grej), uppdrag väljs med mening. Jag vill titta på kursen, studera den och... fortsätta engagera mig i IT.

Kort sagt, CS50 gör precis vad en introduktionskurs ska göra: ger dig grunderna och inspirerar dig att ta saker längre. Samtidigt är det universellt, det vill säga det kommer att vara användbart för absolut alla framtida IT-specialister, oavsett specialisering. Och för att behärska CS50 behöver du inte studera "kalkyl", "diskret" och annan universitetsmatematik. Kursen kan lätt bemästras av en humaniorastudent eller en gymnasieelev. Om han kan engelska förstås. Varom icke? Tidigare kunde de studenter som hade svårt att förstå föreläsarens energiska tal bara bli hjälpta av automatiskt översatta undertexter, från vilka det faktiskt är extremt svårt att få fram betydelsen.

Men nu behöver du inte ens lära dig engelska. Fast nej, förstås, men för arbete, inte för studier. Eftersom vi - JavaRush och VertDider studio - översatte CS50-föreläsningar till ryska.

Vad lärs ut på CS50

Det skulle vara fel att säga att CS50 kommer att lära dig hur man programmerar från topp till botten, men enligt min mening är det så här en ordentlig introduktion till datavetenskap ska se ut. Allt förklaras för eleverna lite i taget, men först och främst hur en dator "tänker". Hans alfabet - binärt tal och konceptet med algoritm och algoritmisering förklaras omedelbart, och binär sökning, ovan korrekt genomförande som du behöver tänka noga på, förklaras enkelt och snabbt direkt i introduktionsföreläsningen. Och även med specialeffekter i form av trasiga telefonkataloger och en speciell varm "rör" binär maskin. Till och med begreppet algoritmkomplexitet förklarades i tydligt exempel, som erbjuder ett sätt att snabbt räkna det ungefärliga antalet personer i publiken (det fanns ungefär ett halvt tusen personer i publiken, om så är fallet).

CS50 börjar introducera programmering som sådan under "noll"-veckan. För att inte skrämma ens de mest osäkra humanisterna visar Harvard-professorerna förmodligen eleverna det visuella språket Scratch, där du kan skapa program genom att helt enkelt dra och släppa grafiska element. Denna utveckling från Massachusetts Institute of Technology (MIT) är avsedd för undervisning av skolbarn, men de grundläggande begreppen för procedurprogrammering - alla möjliga slingor och villkor - hjälper till att förstå mycket snabbt. Ingen slutar dock använda Scratch länge utan byter genast till det "stora och underbara" C-språket, och de flesta praktiska uppgifter CS50-studenter löser det på det. Ett mycket bra val, om så bara för att C är lite lägre än de flesta andra populära språk, det vill säga är bra för att förstå hur en dator fungerar. Dessutom kommer kunskaper om grunderna i C inte att skada Linux-användare och andra administratörer. Förresten, Linux och dess kommandon uppmärksammas också i kursen.

Därefter berättas eleverna om begreppet en funktion, globala variabler, parametrar, returvärden. De kommer att förklara principen för stack och heap och vilken data som lagras där, prata om arrayer, strängar och kommandoradsargument, felsökning, inmatning och utdata till filer.

Naturligtvis kommer det inte att klara sig utan grunderna i algoritmer och datastrukturer. Eleverna kommer att få mycket tydliga och intressanta förklaringar av sökalgoritmer (linjär, binär) och sortering (bubbla, urval, sammanfogning), och bekanta sig med träd och hashtabeller.

Lär dig om du ska vara rädd för rekursion och när det behövs. Och även om sådana exotiska saker som pekare, som ger programmeraren enorm kraft, men som har en negativ inverkan på säkerheten.

Glada CS50-lyssnare kommer att få en förståelse för vetenskapen om kryptografi och förstå kraften i de mest kända chifferna - Caesar, Vigenère, DES.

På samma sätt – ytligt, men lagom för en första bekantskap – kommer kursen att prata om webbutveckling, grunderna i CSS, HTML, JavaScript och PHP. Och lite om SQL med databaser.

Mycket kortfattat, det här är vad CS50 handlar om:

  • Algoritmer och algoritmisering av problem.
  • Abstraktioner, datastrukturer, inkapsling, minneshantering.
  • Grunderna i programmeringsspråket C och programmering i allmänhet.
  • Koncept för webbutveckling och databaser: CSS, HTML, JavaScript, PHP, Ajax SQL.
  • "Riktig utveckling." Vad är MVC.
  • Artificiell intelligens.
  • Begreppet kryptering.

Vem undervisar, hur länge och till vem

CS50 har utvecklats från en grundläggande introduktionsprogrammeringskurs till en succé. Han har lästs på Harvard sedan 80-talet av förra seklet, men han började stadigt vinna popularitet efter att han blev dess huvud David Malan. Den här Harvardprofessorn är inte en gråhårig gammal man djupt inne i sig själv och sin vetenskap. Det här är en passionerad dirigent (eller regissör, ​​om du så vill), som vet hur man smittar med sin passion och helt enkelt berättar om svåra saker och inspirera till att fortsätta studera.

David läste först CS50 2007, och redan 2014 registrerade sig 12% av Harvard-studenter av alla specialiseringar, det vill säga mer än åttahundra personer, för "Programming Fundamentals", vilket ledde till att det blev toppen i popularitet bland alla högskolekurser. Innan detta var allt inte så roligt och trångt. Säg, på en föreläsning av skaparen Facebook varumärke Zuckerberg 2005, så många som 15 studenter deltog. Sant, då detta socialt nätverk Det höll bara på att ta fart. Varje år får David hjälp av många människor – både andra lärare och nyligen CS50-studenter. Och ett par muppar till =).

Du kanske har hört talas om Susan Wojcicki, vd för Youtube. Så 1990 tog hon examen från Harvard. Historiska och litteraturvetenskapliga fakulteten, konstigt nog. På förra året Flickan blev hänförd och bestämde sig för att lära sig mer om datorer, så hon valde CS50. Sedan var det Silicon Valley, vänskap med Larry och Sergei (samma Larry och Sergei), hans egen nöjespark, alla saker. Så här kan CS50 förändra liv.

Vilka är ni, mina herrar översättare?

VertDider är vår partner, en utmärkt översättnings- och voice-over-studio. Bland studions verk finns en hel del intressanta och användbara översättningar material om teknik, astronomi, religion, utbildning och neurovetenskap.

Var kan man hitta översatta föreläsningar

Här är sidan där kursföreläsningarna visas på ryska. De kommer att vara tillgängliga helt gratis för alla internetanvändare. Översättningen av den första föreläsningen dök upp den 20 juni, nästa kommer att vara den 27 juni och ytterligare kommer att följa när de är klara.

Följ uppdateringarna på JavaRush-sidorna på sociala nätverk.

Och JavaRush, för dem som inte vet ännu, är en helt automatiserad onlineutbildning i Java. En gång i tiden var det tack vare stödet från Habrousers och JavaRush som dök upp. På den tiden skulle vi omskola en miljon människor till att bli programmerare.

Mycket ambitiöst, eller hur? Men, som de säger, ”ett projekt som kan göras på två veckor, vi gjorde det i tre månader. För ingenting kan göras på två veckor.”

Vi tror fortfarande på vårt uppdrag att omskola en miljon Java-programmerare, men vi bestämde oss också för att sätta upp oss ett mer blygsamt taktiskt mål: att skapa en fantastisk onlinekurs i Java. Jag tycker att vi lyckades. Vi fortsätter att framgångsrikt såga och avsluta vår JavaRush, och har skaffat framgångsrika "akademiker"... Men nu om något annat.

Till poängen

En dag kom en person från vårt team av misstag över videoinspelningar av föreläsningar från Harvard-kursen CS50 ("Fundamentals of Programming and Computer Science"). Jag är faktiskt känd för att mycket hårt kritisera universiteten för deras tråkiga, ointressanta föreläsningar, som är 10 år inaktuella redan i det ögonblick då studenterna hör dem för första gången.

Men det finns inga regler utan undantag. Harvard CS50 är den typ av universitetskurs jag tar av mig hatten för. Jag vill att alla våra elever och lärare ska titta på det. Det är precis så en modern universitetskurs ska se ut: ljus, lärorik, inspirerande.

Kursen är helt enkelt fantastisk, även om erfarna programmerare inte hittar mycket användbar information för sig själva där: den är designad för nybörjare. Men jag rekommenderar att de – nybörjare – definitivt studerar CS50.

Kursen är så fantastisk att Yale University övergav sin egen introduktion till programmering till förmån för CS50. Sedan flera år tillbaka har CS50 dessutom varit tillgänglig inte bara för Harvard-studenter, utan även för alla intresserade, på edX-webbplatsen och helt gratis. Det enda "men": kursen är på engelska...


Kort sagt, vi var så imponerade av CS50 att vi bestämde oss för att översätta den till ryska, även om det inte finns ett ord om Java. Vi hittade några coola killar - översättningsstudion Vert Dider - och tillsammans satte vi igång med att anpassa föreläsningarna.

Och nu mer om CS50

Vem är den avsedd för?

Om du är nybörjare, ta CS50. Om någon du känner är intresserad av IT och programmering, rekommendera CS50 utan att ens titta. Jag är seriös.

CS50 passar alla som har bestämt sig för att bli IT-specialister. Kanske kan den rekommenderas till både duktiga 12-åringar och erfarna ”avhoppare” från andra yrken. Perfekt för gymnasieelever och högskolestudenter.

Kursen är mycket progressiv och uppdateras från år till år. Dessutom, till skillnad från de flesta liknande universitetsutbildningsprogram (till exempel MIT 6.00X), krävs det att studenten inte har kunskaper om universitetsmatematik, skolnivån är tillräcklig.


Vem leder

Professor i datavetenskap David Malan. Kanske när du ser honom kommer du att bryta "universitetsprofessorn" formen: han är extremt energisk och hans presentation av information är mycket livlig. Jag tror att framgången med kursen till stor del beror på honom. Han får också hjälp av många assistenter. Några av dem är erfarna killar, några är de som nyligen avslutat CS50.

Vad man ska studera på CS50

  • Grunderna i datavetenskap och programmering. Nummersystem, arbetar med kommandorad i Linux, loopar, villkorade hopp och andra glädjeämnen.
  • Begrepp om algoritmer och algoritmiskt tänkande. Du får lära dig om vilka problem som kan lösas med hjälp av programmering och hur. David Malan kommer att prata om binär sökning, som är enkel i grunden, men mycket effektiv och kräver noggrann implementering, direkt, direkt vid nollföreläsningen. Och försök sedan glömma uppbrottsscenen telefonkatalog, och med det - kunskapen som vunnits! I allmänhet täcker kursen alla grundläggande algoritmer som "IT-specialister" behöver känna till och förstå.
  • Abstraktionsbegrepp, datastruktur, inkapsling, minneshantering. Grunderna datorsäkerhet. Mjukvaruutvecklingsprocess och webbutveckling.
  • Grunderna i programmeringsspråket C och bildspråk Repa. Egentligen gör eleverna alla huvudexempel och uppgifter i C.
  • Databas och SQL Basics.
  • Webbutveckling: Grunderna i CSS, HTML, JavaScript och PHP. Naturligtvis bara det allra grundläggande.
  • Grunderna i att förbereda presentationer för programmeringsprojekt.
  • CS50-banan dök upp på Harvard på 80-talet av förra seklet.
  • 2014 beslutade Yale University att lägga ner sin egen kurs i Computer Science Foundations till förmån för CS50. Under höstterminen 2015 höll Dawid Malan en föreläsning varje vecka på Harvard och en annan på Yale.
  • Ja, CS50 blev omedelbart Yales mest populära kurs, med 510 studenter inskrivna på den hösten 2015, fler än någon annan kurs i någon huvudämne.
  • På Harvard 2012 var CS50 den näst mest populära kursen med 691 registrerade studenter, men samma år lanserades kursen på utbildningsplattformen edX, som utökade sin publik med ytterligare 53 000 studenter från hela världen.
  • Hösten 2014 blev CS50 ledande i sin hemstad Harvard med 818 inskrivna studenter. Det är 12 % av alla högskolestudenter.
  • En CS50-föreläsning hölls en gång av en ex-VD för Microsoft. Steve Ballmer. I din egen unika och minnesvärda stil ;).
  • 2005 var Mark Zuckerberg gästvärd för en av CS50-föreläsningarna. 15 personer kom för att lyssna på honom.
  • Kursen väljs inte bara av specialiserade studenter, utan också av de som vill vidga sina vyer och lära sig något om datorer. Ibland förändrar detta radikalt livet för dessa "icke-kärna" studenter. Till exempel tog historie- och litteraturstudenten Susan Wojcicki CS50 under sitt sista år. Och så flyttade hon till Silicon Valley. Idag är hon - Verkställande direktör Youtube.


Var kan man hitta översatta föreläsningar

Sidan där kursföreläsningarna kommer att publiceras på ryska: javarush.ru/cs50.html. De kommer att vara tillgängliga helt gratis för alla internetanvändare. Översättningen av den första föreläsningen den 20 juni har redan publicerats på resursen. Håll utkik efter nästa föreläsning den 27 juni, så dyker de upp ytterligare när de är klara.

Följ uppdateringarna på JavaRush-sidorna på sociala nätverk.

Vem riktar sig CS50-kursen till?

Om du är nybörjare, ta CS50. Om någon du känner är intresserad av IT och programmering, rekommendera CS50 utan att ens titta. Jag är seriös.

CS50 passar alla som har bestämt sig för att bli IT-specialister. Kanske kan den rekommenderas till både duktiga 12-åringar och erfarna ”avhoppare” från andra yrken. Perfekt för gymnasieelever och högskolestudenter.

Kursen är mycket progressiv och uppdateras från år till år. Dessutom, till skillnad från de flesta liknande universitetsutbildningsprogram (till exempel MIT 6.00X), krävs det att studenten inte har kunskaper om universitetsmatematik, skolnivån är tillräcklig.

Vad studerar du på CS50?

Grunderna i datavetenskap och programmering. Nummersystem, arbete med kommandoraden i Linux, loopar, villkorliga hopp och andra glädjeämnen;

Begrepp om algoritmer och algoritmiskt tänkande. Du får lära dig om vilka problem som kan lösas med hjälp av programmering och hur. David Malan kommer att prata om binär sökning, som är enkel i grunden, men mycket effektiv och kräver noggrann implementering, direkt, direkt vid nollföreläsningen. Och försök sedan glömma scenen med upprivningen av telefonkatalogen, och med den kunskapen som vunnits! I allmänhet täcker kursen alla grundläggande algoritmer som "IT-specialister" behöver känna till och förstå;

Abstraktionsbegrepp, datastruktur, inkapsling, minneshantering. Grunderna för datorsäkerhet. Mjukvaruutvecklingsprocess och webbutveckling;

Grunderna i programmeringsspråket C och det visuella språket Scratch. Egentligen gör eleverna alla huvudexempel och uppgifter i C;

Databas och SQL Basics;

Webbutveckling: Grunderna i CSS, HTML, JavaScript och PHP. Naturligtvis bara det allra grundläggande;

Grunderna i att förbereda presentationer för programmeringsprojekt.
Njut av att titta!

1:a föreläsningen: introduktion, introducerar allmänna begrepp programmeringsspråk, samt med ett team av lärare och systemet med kommande klasser.

2:a föreläsningen: även inledande och introducerar de allmänna begreppen programmeringsspråk, fortsättning på temat för den första föreläsningen.

3:e föreläsningen: introducerar konceptet och funktionerna för kompilering och förklarar hur buggar uppträder i program (med början från den allra första "datorbuggen"), hur man känner igen dem och vad som kan orsaka dem.

Föreläsning 4: introducerar datatyper och loopar, några grundläggande funktioner och den grundläggande designen av programmet, och visar också begränsningarna för datorer och historiska exempel på buggar som inte passerade spårlöst.

Föreläsning 5: fortsättning av buggar, plus avslöjar konceptet med programstruktur, förklarar varför funktioner behövs inuti koden, vikten av omfattningen av värden och introducerar strlen-funktionen. Dessutom kommer du att lära dig hur CS50 kämpar mot de som gillar att fuska, och lära dig hur du sparar Bagge dator för att undvika segmenteringsfel.

Föreläsning 6: om grunderna i kryptografi, arrayer och kommandoradsargument.

Föreläsning 7: introducerar de grundläggande metoderna för att sortera data. David Maylen pratar om bubbelsortering, urvalssortering, infogningssortering och sammanslagningssortering, och publiken sätter dem på prov.

Föreläsning 8: om sortering av data med merge-metoden, samt kort utflykt in i världen av bitvisa operationer.

Föreläsning 9: fortsatt introduktion till tillståndsoperatören - om, introduktion till begreppet rekursion, samt diskussion om Volkswagen-problemskandalen och datorsäkerhetsproblem. Föreläsaren undersöker i detalj swap-funktionen, demonstrerar tekniker för att arbeta med programfelsökaren och avslöjar strukturen och mekaniken i RAM.

Föreläsning 10: ca olika metoder göra listor, lagra programinformation och använda pekare och pekare.

Föreläsning 11: studera pekare, analysera strukturen för CS50-biblioteksfunktioner, introducera minnesläckor, introducera konceptet länkad lista och andra datastrukturer med en detaljerad demonstration.

Föreläsning 12: om funktionerna i stacken, kö och länkad lista. Parsing eventuella problem relaterat till minnesåtkomst. Strukturen för ett binärt träd, ett prefixträd och att arbeta med filkomprimering diskuteras också.

Föreläsning 13: om datahashing, nätverksprotokoll och hur du använder krypterade anslutningar för att skydda dig från misstänkta främlingar.

Föreläsning 14: Introduktion till webbprogrammering och introduktion till HTML-språk och CSS.

Föreläsning 15: ämnet för det femtonde avsnittet av serien är en introduktion till webbprogrammering och bekantskap med språket PHP programmering och HTML-markeringsspråk.

Föreläsning 16: Det sextonde avsnittet av serien fortsätter att undersöka PHP-språk, nu för att utveckla webbapplikationer, och introducerar även databaser och MySQL.

Föreläsning 17: Det sjuttonde avsnittet av serien fortsätter att introducera tittarna till SQL-databaser.

Föreläsning 18: ämnet för det artonde avsnittet av serien är en introduktion till JavaScript och programmering på klientsidan.

Föreläsning 19: i det nittonde avsnittet av serien fortsätter bekantskapen med JavaScript-språket och visar också användningen datateknik inom arkeologiområdet.

Föreläsning 20: det tjugonde avsnittet av serien diskuterar ämnet datorsäkerhet: grunderna för personlig säkerhet på Internet beskrivs, principerna för att arbeta med lösenord och detaljerna för skadlig programvara. Föreläsningen berör också problemen med personuppgiftsintegritet i modern tid. digital ålder, inklusive i det sociopolitiska sammanhanget.

Föreläsning 21: I det tjugoförsta avsnittet av serien berättar professor Scazelatti från Stanford om naturliga språkbehandlingssystem. Föreläsningen diskuterar taligenkänningsalgoritmer och förklarar konceptet statistiska modeller taligenkänning, dolda Markov-modeller, frågesvarssystem, semantisk textbearbetning och berör även ämnet att skapa icke-verbala kommunikationssystem.

Föreläsning 22: I det tjugoandra avsnittet av serien demonstrerar professor Scazelatti från Yale University användningen av artificiell intelligens i spel.

Föreläsning 23: det tjugotredje avsnittet av cykeln sammanfattar kursen, i spelform Vissa ämnen upprepas och det är slentrianmässig kommunikation.

Och JavaRush, för dem som inte vet ännu, är en helt automatiserad onlineutbildning i Java. En gång i tiden var det tack vare stödet från Habrousers och artiklar om Habré som JavaRush dök upp. På den tiden skulle vi omskola en miljon människor till att bli programmerare.
Mycket ambitiöst, eller hur? Men, som de säger, ”ett projekt som kan göras på två veckor, vi gjorde det i tre månader. För ingenting kan göras på två veckor.”

Vi tror fortfarande på vårt uppdrag att omskola en miljon Java-programmerare, men vi bestämde oss också för att sätta upp oss ett mer blygsamt taktiskt mål: att skapa en fantastisk onlinekurs i Java. Jag tycker att vi lyckades. Vi fortsätter att framgångsrikt såga och avsluta vår JavaRush, och har skaffat framgångsrika "akademiker"... Men nu om något annat.

Till poängen

En dag kom en person från vårt team av misstag över videoinspelningar av föreläsningar från Harvard-kursen CS50 ("Fundamentals of Programming and Computer Science"). Jag är faktiskt känd för att mycket hårt kritisera universiteten för deras tråkiga, ointressanta föreläsningar, som är 10 år inaktuella redan i det ögonblick då studenterna hör dem för första gången.

Men det finns inga regler utan undantag. Harvard CS50 är den typ av universitetskurs jag tar av mig hatten för. Jag vill att alla våra elever och lärare ska titta på det. Det är precis så en modern universitetskurs ska se ut: ljus, lärorik, inspirerande.

Kursen är helt enkelt fantastisk, även om erfarna programmerare inte hittar mycket användbar information för sig själva där: den är designad för nybörjare. Men jag rekommenderar att de – nybörjare – definitivt studerar CS50.

Kursen är så fantastisk att Yale University övergav sin egen introduktion till programmering till förmån för CS50. Sedan flera år tillbaka har CS50 dessutom varit tillgänglig inte bara för Harvard-studenter, utan även för alla intresserade, på edX-webbplatsen och helt gratis. Det enda "men": kursen är på engelska...

Kort sagt, vi var så imponerade av CS50 att vi bestämde oss för att översätta den till ryska, även om det inte finns ett ord om Java. Vi hittade några coola killar - översättningsstudion Vert Dider - och tillsammans satte vi igång med att anpassa föreläsningarna.

Och nu mer om CS50

Vem är den avsedd för?

Om du är nybörjare, ta CS50. Om någon du känner är intresserad av IT och programmering, rekommendera CS50 utan att ens titta. Jag är seriös.

CS50 passar alla som har bestämt sig för att bli IT-specialister. Kanske kan den rekommenderas till både duktiga 12-åringar och erfarna ”avhoppare” från andra yrken. Perfekt för gymnasieelever och högskolestudenter.

Kursen är mycket progressiv och uppdateras från år till år. Dessutom, till skillnad från de flesta liknande universitetsutbildningsprogram (till exempel MIT 6.00X), krävs det att studenten inte har kunskaper om universitetsmatematik, skolnivån är tillräcklig.

Vem leder

Professor i datavetenskap David Malan. Kanske när du ser honom kommer du att bryta "universitetsprofessorn" formen: han är extremt energisk och hans presentation av information är mycket livlig. Jag tror att framgången med kursen till stor del beror på honom. Han får också hjälp av många assistenter. Några av dem är erfarna killar, några är de som nyligen avslutat CS50.

Vad man ska studera på CS50

  • Grunderna i datavetenskap och programmering. Nummersystem, att arbeta med kommandoraden i Linux, loopar, villkorliga hopp och andra glädjeämnen.
  • Begrepp om algoritmer och algoritmiskt tänkande. Du får lära dig om vilka problem som kan lösas med hjälp av programmering och hur. David Malan kommer att prata om binär sökning, som är enkel i grunden, men mycket effektiv och kräver noggrann implementering, direkt, direkt vid nollföreläsningen. Och försök sedan glömma scenen med upprivningen av telefonkatalogen, och med den kunskapen! I allmänhet täcker kursen alla grundläggande algoritmer som "IT-specialister" behöver känna till och förstå.
  • Abstraktionsbegrepp, datastruktur, inkapsling, minneshantering. Grunderna för datorsäkerhet. Mjukvaruutvecklingsprocess och webbutveckling.
  • Grunderna i programmeringsspråket C och det visuella språket Scratch. Egentligen gör eleverna alla huvudexempel och uppgifter i C.
  • Databas och SQL Basics.
  • Webbutveckling: Grunderna i CSS, HTML, JavaScript och PHP. Naturligtvis bara det allra grundläggande.
  • Grunderna i att förbereda presentationer för programmeringsprojekt.
  • CS50-banan dök upp på Harvard på 80-talet av förra seklet.
  • 2014 beslutade Yale University att lägga ner sin egen kurs i Computer Science Foundations till förmån för CS50. Under höstterminen 2015 höll Dawid Malan en föreläsning varje vecka på Harvard och en annan på Yale.
  • Ja, CS50 blev omedelbart Yales mest populära kurs, med 510 studenter inskrivna på den hösten 2015, fler än någon annan kurs i någon huvudämne.
  • På Harvard 2012 var CS50 den näst mest populära kursen med 691 registrerade studenter, men samma år lanserades kursen på utbildningsplattformen edX, som utökade sin publik med ytterligare 53 000 studenter från hela världen.
  • Hösten 2014 blev CS50 ledande i sin hemstad Harvard med 818 inskrivna studenter. Det är 12 % av alla högskolestudenter.
  • En CS50-föreläsning hölls en gång av en ex-VD för Microsoft. Steve Ballmer. I din egen unika och minnesvärda stil ;).
  • 2005 var Mark Zuckerberg gästvärd för en av CS50-föreläsningarna. 15 personer kom för att lyssna på honom.
  • Kursen väljs inte bara av specialiserade studenter, utan också av de som vill vidga sina vyer och lära sig något om datorer. Ibland förändrar detta radikalt livet för dessa "icke-kärna" studenter. Till exempel tog historie- och litteraturstudenten Susan Wojcicki CS50 under sitt sista år. Och så flyttade hon till Silicon Valley. Idag är hon VD för YouTube.

Var kan man hitta översatta föreläsningar

Sidan där kursföreläsningarna kommer att publiceras på ryska: javarush.ru/cs50.html. De kommer att vara tillgängliga helt gratis för alla internetanvändare. Översättningen av den första föreläsningen den 20 juni har redan publicerats på resursen. Håll utkik efter nästa föreläsning den 27 juni, så dyker de upp ytterligare när de är klara.