CS50, Harvardin ylitilattu ja vaikutusvaltainen koodauskurssi maailman eliitin mielille, on yllättäen uskomattoman vaikea päästä eteenpäin. Siksi Harvard antaa sinulle pääsyn runsaisiin CS50-resursseihin verkossa ilmaiseksi tai maksettuna kurssina, jos haluat saada muodollisen todistuksen taidoistasi lopussa.
Jos mietit kuinka päästä CS50-sisältöön verkossa, on neljä tapaa:
Ota CS50 verkossa: Harvard Extension School
Harvardin oma etäkäyttöinen haara, Harvard Extension School, tarjoaa erilaisia makuja CS50: stä. Lukukauden mittainen CSCI E-50 Intensive Introduction to Computer Science -kurssi tarjoaa neljä opintopistettä tutkintoon ja maksaa 2400 dollaria. Tilaa on rajoitettu 200 opiskelijaan, ja kursseja on kuitenkin merkittävästi ylimerkitty. Pitää silmällä extension.harvard.edu kun ilmoittautuminen alkaa ensi vuoden syksyn ja kevään kursseille.
Ota CS50 verkossa: edX
Vaihtoehtoisesti kurssi tarjotaan online-koulutussivusto edX , jossa voit käsitellä sitä omassa tahdissasi. CS50: n edX-sivun mukaan opiskelijat, jotka ansaitsevat tyydyttävän pistemäärän yhdeksästä ongelmajoukosta (eli ohjelmointitehtävistä) ja lopullisesta projektista, saavat HarvardX: ltä sertifikaatin. Opiskelijat voivat osallistua kurssille ilmaiseksi, mutta heidän on maksettava 90 dollaria, jos he haluavat saada kouluttajan allekirjoittaman todistuksen oppilaitoksen logolla todistamaan saavutuksesi ja parantamaan työmahdollisuuksiasi.
Ota CS50 verkossa: iTunes U
Kurssi ja kaikki sen materiaalit ovat - kuten monet muutkin Harvardin kurssit - saatavilla myös Applen iTunes U: ssa. Voit ladata sovelluksen ilmaiseksi App Storesta (joko iPhonessa, iPadissa tai Macissa) ja etsiä CS50: tä luettelosta. Kaikki videoluennot, ongelmakokonaisuudet, tietokilpailut ja muut materiaalit ovat pakkauksessa, vaikka suhteellisen äskettäinen iTunes U: n uudistaminen on tehnyt tästä materiaalimassasta paljon vaikeamman navigoida kuin se oli kerran.
Ota CS50 verkossa: YouTube
Viimeinen tapa on yksinkertaisesti katsoa kaikki luennot - mikä on itsessään kannattava harjoittelu - YouTubessa. Kaikki vuoden 2015 Computer Science 50 -kurssin luennot löytyvät Harvardin kanava . Materiaalia on työskenneltävä yli 20 tuntia, vaikka jokainen yksittäinen luento on enintään noin tunnin pituinen.
LUE SEURAAVA: Opi koodaamaan Isossa-Britanniassa ilmaiseksi
kuinka kiertokielto kiertää
Voisitko ohittaa CS50: n?
Huolestutko siitä, että sinulla ei ole henkistä syytä käyttää Harvardin eliittikurssia? Tässä on joitain esimerkkikysymyksiä suoraan Harvardin kurssilta. Älä huoli, heillä ei ole myöskään järkeä.
1: Vigenère-salaus
Viimeinen haastasi tällä viikolla on kirjoittaa vigenere.c-ohjelmassa ohjelma, joka salaa viestit Vigenèren salauksella. Tämän ohjelman on hyväksyttävä yksi komentoriviargumentti: avainsana k, joka koostuu kokonaan aakkosmerkeistä.
Jos ohjelma suoritetaan ilman komentoriviargumentteja, useammalla kuin yhdellä komentoriviargumentilla tai yhdellä komentoriviargumentilla, joka sisältää minkä tahansa muun kuin aakkosellisen merkin, ohjelmasi pitäisi valittaa ja poistua välittömästi päätuotteen palauttamalla 1 (siten mikä tarkoittaa virhettä, jonka omat testimme voivat havaita).
Muussa tapauksessa ohjelmasi on jatkettava pyytämällä käyttäjää kirjoittamaan tekstimerkkijono,
p, jonka sen on sitten salattava Vigenèren salakirjoituksen mukaisesti k: llä, tulostamalla lopputulos ja poistumalla, jolloin pää palauttaa 0.
Mitä tulee merkkiin k, sinun on käsiteltävä A: ta ja a: ta 0: na, B: tä ja b: tä 1,… ja Z: tä ja Z: tä 25. Lisäksi ohjelmasi on sovellettava Vigenèren salausta p-merkkiin vain, jos kyseinen merkki on kirje. Kaikki muut merkit (numerot, symbolit, välilyönnit, välimerkit jne.) On kirjoitettava muuttumattomina.
Lisäksi, jos koodisi aikoo soveltaa k: n j: n merkkiä p: n i: n merkkiin, mutta jälkimmäinen osoittautuu ei-aakkosmerkiksi, sinun on odotettava, että k: n j-merkki lisätään p: n seuraavaan aakkosmerkkiin. ; et saa vielä siirtyä seuraavaan merkkiin k: ssä. Lopuksi, ohjelman on säilytettävä jokaisen kirjaimen kirjainkoko sivulla.
2. Viidentoista peli
Game of Fifteen on palapeli, jota pelataan nelikulmaisella laudalla, jossa on numeroituja laattoja. Tämän palapelin tarkoituksena on järjestää levyn laatat pienimmistä suurimpiin, vasemmalta oikealle, ylhäältä alas, ja taulun oikeassa alakulmassa on tyhjä tila.
Toteuta Jumalan tila tähän peliin.
Toteuta init ensin siten, että levy alustetaan näennäissatunnaiseen, mutta ratkaistavaan kokoonpanoon. Suorita sitten vedon, liikkeen ja voiton toteutus loppuun, jotta ihminen voi todella pelata peliä.
Katso aiheeseen liittyvä CS50: Maailman eliitin tietokonekurssi Opi koodaamaan ilmaiseksi: Parhaat Ison-Britannian koodaus- ja sovelluskehityskurssit kansallisella koodausviikolla Vuosi koodaavana nomadina
Mutta upota peliin huijaus, jossa sen sijaan, että kirjoittaisit kokonaisluvun välille 1 ja d2 - 1, missä d on laudan korkeus ja leveys, ihminen voi myös kirjoittaa JUMALA pakottaakseen 'tietokoneen' ottamaan pelin hallinnan ja ratkaise se (käyttämällä mitä tahansa strategiaa, optimaalista tai ei-optimaalista), tekemällä esimerkiksi vain neljä liikettä sekunnissa, jotta ihminen voi katsella.
Oletettavasti joudut vaihtamaan GetIntin monipuolisemmaksi. On hienoa, jos Jumalan moodin toteutus toimii (siedettävän nopeasti) vain d ≤ 4; sinun ei tarvitse huolehtia Jumalan tilan testaamisesta arvolle d> 4. Voi, etkä voi toteuttaa jumaltilaa muistamalla, kuinka init aloitti levyn (kuten muistamalla siirtojen sarja, joka sai ohjelmasi johonkin näennäissatunnaisuuteen, mutta ratkaistavaan tilaan). Hyvä yritys.
Kaikki ongelmat Harvardin yliopiston tekijänoikeudet. Täydelliset ongelmakokonaisuudet julkaistaan osoitteessa: cs50.harvard.edu