CS50, pretplaćeni i utjecajni tečaj kodiranja na Harvardu za najelitnije svjetske umove je, iznenađujuće, nevjerojatno teško dobiti. Zato vam Harvard daje besplatan pristup bogatim CS50 resursima na mreži besplatno ili kao plaćeni tečaj ako na kraju želite dobiti formalnu potvrdu o svojim vještinama.
Ako se pitate kako pristupiti sadržaju CS50 na mreži, postoje četiri načina:
Uzmite CS50 na mreži: Harvard Extension School
Harvardova vlastita podružnica za daljinsko učenje, Harvard Extension School, nudi razne okuse CS50. Semestarski tečaj CSCI E-50 Intenzivan uvod u računalne znanosti nudi četiri kredita za stjecanje diplome i košta 2.400 američkih dolara. Prostor je ograničen na 200 studenata, a tečajevi su pretjerano pretplaćeni. Pratiti produžetak.harvard.edu kada se otvori registracija za jesenski i proljetni tečaj sljedeće godine.
Uzmite CS50 na mreži: edX
Alternativno, tečaj se nudi putem internetska obrazovna stranica edX , gdje ga možete riješiti vlastitim tempom. Prema stranici edX za CS50, studenti koji ostvare zadovoljavajući rezultat na devet skupova problema (tj. Programske zadatke) i završnom projektu dobit će certifikat od HarvardX-a. Studenti mogu pohađati tečaj besplatno, ali moraju platiti 90 američkih dolara ako žele dobiti potvrdu s potpisom instruktora s logom ustanove kako bi potvrdili vaše postignuće i povećali šanse za posao.
Take CS50 online: iTunes U
Tečaj i svi njegovi materijali su - kao i mnogi drugi tečajevi na Harvardu - također dostupni na Appleovom iTunes U. Aplikaciju možete besplatno preuzeti iz App Storea (bilo na iPhoneu, iPadu ili Macu) i potražiti CS50 u katalogu. Sva video predavanja, skupovi problema, kvizovi i drugi materijali nalaze se u paketu, iako je relativno nedavni redizajn iTunes U ovu masu materijala učinio mnogo težom za navigaciju nego nekada.
Uzmite CS50 na mreži: YouTube
Konačni način je jednostavno gledati sva predavanja - što je samo po sebi vrijedno bavljenje njima - na YouTubeu. Sva predavanja iz kolegija Računarstvo 50 za 2015. godinu mogu se naći na Harvardski kanal . Potrebno je više od 20 sati snimljenih materijala, iako svako pojedino predavanje nije dulje od sat vremena.
PROČITAJTE DALJE: Naučite besplatno kodirati u Velikoj Britaniji
kako koristiti baterijsku svjetiljku u mrtvom dnevnom svjetlu
Možete li položiti CS50?
Zabrinuti ste što nemate mentalnu rodbinu za pohađanje elitnog tečaja Harvarda? Evo nekoliko primjera pitanja izravno s tečaja Harvarda. Ne brinite, ni oni nemaju smisla za mene.
1: Vigenèreova šifra
Vaš posljednji izazov ovog tjedna je napisati u programu vigenere.c program koji šifrira poruke pomoću Vigenèreove šifre. Ovaj program mora prihvatiti jedan argument naredbenog retka: ključnu riječ k, koja se u potpunosti sastoji od abecednih znakova.
Ako se vaš program izvršava bez ikakvih argumenata naredbenog retka, s više od jednog argumenta naredbenog retka ili s jednim argumentom naredbenog retka koji sadrži bilo koji abecedni znak, vaš bi se program trebao žaliti i odmah izaći, s glavnim povratkom 1 (pri čemu što označava pogrešku koju naši vlastiti testovi mogu otkriti).
U suprotnom, vaš program mora od korisnika tražiti niz otvorenog teksta,
p, koju zatim mora šifrirati prema Vigenèreovoj šifri s k, u konačnici ispisujući rezultat i izlazeći, s glavnim povratkom 0.
Što se tiče znakova u k, A i a morate tretirati kao 0, B i b kao 1, ..., a Z i z kao 25. Osim toga, vaš program mora primijeniti Vigenèreovu šifru samo na znak u p ako je taj znak slovo. Svi ostali znakovi (brojevi, simboli, razmaci, interpunkcijski znakovi itd.) Moraju se prikazati nepromijenjeni.
Štoviše, ako se vaš kôd sprema primijeniti j-ti znak k na i-ti znak p-a, no potonji se pokazuje kao neabecedni znak, morate pričekati da primijenite taj j-ti znak k na sljedeći abecedni znak u p ; još ne smijete napredovati do sljedećeg znaka u k. Konačno, vaš program mora sačuvati mala i velika slova na str.
2. Igra petnaest
Igra petnaest godina slagalica je koja se igra na četvrtastoj ploči s numeriranim pločicama koje se klize. Cilj ove slagalice je raspored pločica ploče od najmanjeg do najvećeg, slijeva nadesno, odozgo prema dolje, s praznim prostorom u donjem desnom kutu ploče.
Primijenite način Boga za ovu igru.
Prvo implementirajte init na takav način da se ploča inicijalizira u pseudo slučajnu, ali rješivu konfiguraciju. Zatim dovršite provedbu izvlačenja, pomicanja i pobjede tako da čovjek zapravo može igrati igru.
Pogledajte povezani CS50: Unutar najelitnijeg računalnog tečaja na svijetu Naučite besplatno kodirati: Najbolji tečajevi kodiranja i razvoja aplikacija u Velikoj Britaniji u nacionalnom tjednu kodiranja Godina kao kodirajući nomad
Ali u igru ugradite varalicu, pri čemu, umjesto da upiše cijeli broj između 1 i d2 - 1, gdje je d visina i širina ploče, čovjek također može upisati BOG da natjera 'računalo' da preuzme kontrolu nad igrom i riješite ga (koristeći bilo koju strategiju, optimalnu ili neoptimalnu), čineći, recimo, samo četiri poteza u sekundi kako bi čovjek mogao gledati.
Vjerojatno ćete morati zamijeniti GetInt za nešto svestranije. U redu je ako vaša implementacija Božjeg načina funkcionira (podnošljivo brzo) samo za d ≤ 4; ne trebate brinuti o testiranju načina boga za d> 4. Oh, i ne možete implementirati način rada boga prisjećajući se kako je inicijalizacija ploče inicirala (kao sjećanjem na slijed poteza koji su vaš program doveli u neko pseudo slučajno, ali rješivo stanje). Dobar pokušaj.
Svi problemi autorska prava Sveučilišta Harvard. Cjeloviti skupovi problema objavljeni su na: cs50.harvard.edu