Va bene >>.
Benvenuti in Computer Science 164.
Quindi, prima di tuffarci in una panoramica
di ciò che il corso sarà di questo semestre e un po '
di materiale in questo primo giorno, Io ho pensato di dare un senso
di come abbiamo trascorso la scorsa notte.
Non è tanto come sfida server-side che abbiamo affrontato
ma un lato client.
Così hanno qualcuno di voi scoperto questo particolare sito web appena ancora
o tela che alcuni Harvard corsi sono ora muovendo per?
Così iSites sta per morire una lenta morte se hai ottenuto allegato
ad esso, è probabile essere sostituito con Canvas.
E così abbiamo pensato di saltare a bordo ed essere parte
di questo beta test usando Canvas che è uno strumento open source.
E 'sponsorizzato da una società chiamata Instructure.
Quindi c'è una aziendale appoggio dietro di esso.
Ma per la maggior parte stiamo usando in questo modo.
Ma ieri sera, quando stavamo cercando
per ottenere il sito web corsi finalizzato, ci siamo imbattuti in un sacco
di frustrazioni perché questo è un sistema di gestione dell'apprendimento
il che significa che è un pezzo di software
con la quale è possibile gestire i contenuti
tramite interfaccia web-based.
Non dovete usare file di configurazione arcane.
Non dovete sapere nulla di basi di dati,
è praticamente punto e scegliere in maniera siti di Google
o qualcosa del genere potrebbe essere.
Ma come risultato era dannatamente difficile di fare qualcosa di semplice come -
andiamo al sito corsi.
Ora, basta mettere le opzioni del menu in questa sinistra.
Caso in questione, non c'è niente c'è in realtà in questo momento
perché il modo in cui il software è stato progettato è che se si vuole
per installare le cose in il vostro menu di sinistra,
si deve effettivamente installare questi moduli
o applicazioni nel software.
E noi non vogliamo farlo.
Volevamo solo un collegamento a come il programma.
Volevamo un link per il personale.
Volevamo un link a video e simili.
Quindi, se tu fossi di fronte i siti web,
è dal sito di terze parti
ma si ha alcun controllo sul codice sorgente.
Tu non hai accesso al server, non è possibile connettersi via SSH,
si può SFTP, tutto si può utilizzare è l'interfaccia web locale
e si vuole cominciare a cambiare
o alterare l'utente interfacciarsi con altri mezzi.
Che cosa potrebbe essere il vostro primo istinto di essere?
Quali domande potreste chiedere di Instructure in questo caso,
la società in modo che è possibile tipo di lavoro
attorno a queste limitazioni come abbiamo fatto noi?
Vogliamo aggiungere opzioni di menu
ma non possiamo cambiare il loro codice server.
Allora quale soluzione può che suggerire che?
Già.
[Inaudible Osservazione]
OK.
[Inaudible Osservazione]
Già. Così abbiamo potuto prendere in considerazione qualcosa
come una estensione Chrome.
Se non lo conoscesse, un Chrome estensione è essenzialmente un pezzo
del software dal Chrome Browser generalmente scritto
in JavaScript.
Ed è solo un modo di iniettare codice tipicamente JavaScript forse
alcuni CSS in una rete La pagina che si visita.
Per cui l'estensione Chrome è solo monitorando costantemente cosa
siti web visitati e cercando di individuare.
Oh, se siete facebook.com fare questo.
Oh, se siete in isites.harvard.edu fare questo.
Così quelli di voi che potrebbe hanno usato 2x spina di CS50
in che consente di velocizzare Video Up è esattamente questo.
Ecco, questo è interessante ed è tipo sulla strada giusta.
Perché se non si dispone di accesso al server, si vuole solo
di cambiare in qualche modo il DOM della albero che l'utente sta vedendo,
si può tranquillamente farlo solo sul lato client.
Ora, naturalmente, un fermo evidente
di utilizzare un Chrome estensione è quello?
Giusto. Quindi non tutti utilizzano Chrome e se si sente un po 'stupido
se si ordina di avere di incaricare che tutti
dei vostri utenti possono utilizzare solo per il sito
e visualizzare le opzioni di menu se hanno Chrome.
Quindi, che cosa potrebbe potremmo vogliamo chiedere Instructure?
>> Quindi una cosa è suppongo probabilmente è possibile aggiungere un testo
sul sito web, giusto?
>> OK.
>> Scopri se potete effettivamente messo HTML in testo.
>> OK. Buona.
Così potremmo chiedere loro se potevamo mettere HTML nel testo stesso.
Quindi, piuttosto che pubblicare un testo annuncio, possiamo aggiungere collegamenti?
Possiamo aggiungere le immagini?
Possiamo aggiungere proiettili?
Tutto ciò che potremmo vogliono fare esteticamente.
E la risposta è sì.
Vi è infatti un sorta di WYSIWG,
Ciò che vedi è ciò che Prendi editor che viene
con questo particolare pezzo di software
che consente di modificare.
Cose come home page con il mio nome e Rob
e Tim e così via.
E che ci ha ottenuto parte della strada.
Purtroppo questo non fa mettiamo qualcosa qui
per esempio.
Questo non mettiamo nulla ecco perché siamo costretti
da ciò l'originale autori hanno voluto che noi facciamo.
Quindi siamo un passo più vicini.
Che altro potremmo chiedere alla società?
Quali sono gli altri soluzioni temporanee, forse?
E poi per essere risolvibile.
Che altro si potrebbe fare?
Quindi eri sulla destra seguire con questa nozione
di client-side JavaScript iniezione.
In quale altro modo potremmo avere JavaScript nel sito forse, giusto?
Perche 'una volta che hai JavaScript,
si può praticamente fare nulla anche se il vissuto
con JavaScript è limitato a 50 o qualche altra esperienza precedente,
si sa, che si può attraversare l'albero
che è una pagina web, il DOM.
Probabilmente ricorderete che si può aggiungere nodi o rimuovere i nodi.
È possibile iniettare le cose in una pagina web.
In realtà questo è esattamente ciò i 2x CS50 plug in fa.
Si strappa le iSites ' lettore video e mette
in una diversa tutti insieme.
Così che cosa se la società Instructure voi permesso
per iniettare il JavaScript nel tuo sito web corso?
In altre parole, se si è permesso tramite la loro interfaccia grafica,
loro interfaccia WYSIWG a incollare l'URL di un file JS
e forse anche un file css. e poi si sono presi cura
del processo di inserendolo in cima ad ogni pagina.
Quindi abbastanza sicuro, questo è stato l'unico modo siamo stati in grado
per raggiungere questo obiettivo.
Se visualizzo il sorgente della pagina qui - e fammi ingrandire e cerco
per cs164.net che è un dominio abbiamo il corso possediamo.
Si noti che tramite alcune serie di passi, ci è voluto un po 'per capire
con la loro documentazione.
Noi siamo in grado di dire, in cima a ogni La pagina web che cosa uscite Canvas
per questo corso, uscita. file css.
E se facciamo un altro comando f e cercare un po 'oltre,
vedrai che qui,
nidificato in alcuni JavaScript codice c'è anche parlare
di questo URL qui.
Quindi, in altre parole, sorta di averli ingannati
in iniettare qualunque CSS,
qualunque JavaScript noi vuole nel sito.
In modo che poi pone la domanda, che cosa fa?
Bene, andiamo avanti e basta afferrare questa fonte,
incolla questo qui.
E 'vietato perché simulare questo,
I chmoded [fonetica] tutto.
Quindi lasciatemi fare quella posteriore.
L'accesso in lettura e ora ricaricare.
Allora cosa abbiamo fatto?
Quindi, si otterrà meglio a questo particolare di metà semestre
quando spendiamo un sacco di il nostro tempo su JavaScript.
Ma cosa significa questo sembrano fare?
Così uno in cima di questa Il file JS che ancora una volta è incluso
in ogni pagina web che l' Naturalmente ora corre sul web.
Abbiamo controllato per vedere se il tipo di jQuery non è definito.
Quindi, in termini profani che cosa significa?
Cosa significherebbe se jQuery è definito?
Beh, avete JavaScript caricato.
Non hai jQuery caricato.
Quindi stiamo solo sperare che Instructure,
la società è in realtà utilizzando jQuery stessi.
In caso contrario, avremmo dovuto incollare la libreria jQuery in cima
di questo file in modo da di avere accesso ad esso.
E questo non è perché semplicemente vogliono avere accesso a cose
come il segno notazione dollaro e altri funzionalmente
che viene fornito con jQuery.
Se vi ricordate questa biblioteca e se sconosciuto
o se è stato un po 'di riposo assicurato che verremo a questo
con in poche settimane.
Quindi quali sono le cose stiamo facendo qui?
Quindi, per quelli che potrebbero ricordare, cosa significa questa sintassi qui dire?
Quando hai appena passa un anonimo funzione o funzione lambda?
In CS51 parlare con il funzione jQuery come questo.
Quando questo codice andando ottenere giustiziato?
Già.
[Inaudible Osservazione]
Esattamente. Quindi questo codice per natura
di questa chiamata di funzione predefinito è solo andare per avere eseguito
quando il DOM in modo da parlare è a pieno carico.
Tutte all'inizio HTML a fondo, a sinistra oa destra è stato letto
in memoria e ci sono alcune struttura ad albero all'interno della memoria.
Ora, questo è un bene perché se voglio iniziare a giocare
con essa e cambiando la Le opzioni di menu, eliminando le cose,
aggiunta di cose, farei meglio aspettare
almeno fino alla predefinito DOM è a posto.
Quindi questo è solo norma sintassi di jQuery.
E 'equivale a dire quando il DOM è pronto.
E ora è davvero solo una combinazione
sintassi di jQuery e alcuni HTML.
Così, per esempio, ho deciso che questo è stato solo a me dà fastidio.
Nessuno nel campus, dice, oh, stai prendendo Comp Sci 164,
o Comp Sci qualunque, è dire CS164 CS o qualsiasi altra cosa.
Poco fastidio così piccola, vogliamo cambiare questo,
così come potremmo farlo con qualcosa di simile a JavaScript?
Beh, bando, se io vai alla pagina qui
e in cima alla pagina in precedenza era CS164.
Se apro Chrome, che è un browser utile
per fare ispezioni DOM e si ingrandisce qui.
Si noti che all'interno di questo HTML era un elemento che ha un ID
di pangrattato e ID che fa cosa?
Si identifica in modo univoco una di tali nodi dell'albero
e appena ho l' identificatore univoco per qualche pezzo
di HTML nel DOM, ora Posso fare tutto quello che voglio
con questa pagina web.
Ho potuto eliminare ogni nodo DOM.
Ogni tag HTML dalla pagina e mettere tutto ciò che voglio
ma bisogni che sono abbastanza umili.
Volevo semplicemente per il frammento di codice qui.
Volevo trovare prima l'intestazione della sezione schede
che era uno dei genitori elementi appena sopra quella.
E volevo andare avanti e il cambiamento -
Ho voluto piuttosto il cambiamento il contenuto
di che attraverso questo HTML funzionamento di un collegamento a CS164
e poi volevo modificare il CSS su di esso
avere un peso font grassetto.
E noi non andremo in grande dettaglio il resto di questo qui.
Ma si noti questa linea qui.
Ho fatto sostituire globale ovunque.
In sostanza dicendo: ovunque si vede un arco
che ha una classe chiamato ellipsible,
che non è una cosa normale,
questo è solo ciò che il Canvas software chiama certe classi.
Se contiene la chiave frase COMPSCI164 andare avanti
e sostituire l'HTML all'interno di tale lunghi, con solo CS164.
E il resto di questo è abbastanza ben commentato.
Ma il risultato finale, quello che sto facendo è manualmente con Chrome
o qualsiasi altro browser per capire ciò che gli identificatori unici sono
vari nodi DOM nella albero e li mutando
nel modo in cui volevo.
E il risultato finale, ora che abbiamo chmoded cose correttamente è
che ora posso mettere un arbitrario pezzo di HTML qui.
Posso strappare le cose come il piè di pagina.
Posso strappare HTML qui e Dovrei sventolare una enorme responsabilità.
Questo è un hack completo
da attuare un sito come questo.
Ma è una sorta di parla al processo di pensiero
che dovrebbero verso l' metà del semestre,
soprattutto quando passiamo il tempo su JavaScript farti pensare
su come è possibile risolvere i vari problemi si spera migliore
che in questo modo.
Ma gli ingredienti per risolvere un problema
come questo davvero solo ridotta ad alcuni principi fondamentali.
L'apertura verso qualcosa come ispettore di Chrome
e comprensione ciò che l'albero DOM è.
Conoscere ciò che il Selettori CSS sono
per gli ID unici o per i nomi delle classi.
Conoscendo un po 'la sintassi se è in JavaScript puro
o in jQuery biblioteca per cambiare effettivamente il DOM.
E alla fine della giornata, siamo praticamente in grado
piegare il software alla nostra volontà.
Ma probabilmente c'è un fermo.
Qual è il prezzo che siamo probabilmente pagando per questo hack completo?
Qual è il rischio?
Già.
[Inaudible Osservazione]
Esattamente. Se Instructure rinomina una delle loro classi
o rinomina uno dei loro ID o semplicemente riorganizza loro HTML
che è totalmente loro prerogativa,
tutto questo potrebbe rompersi e poi uno di noi sta per avere
notarlo o uno di voi ragazzi sta per avere a riferire
e stiamo per avere per riflettere su quello nuovo.
Quindi forse non è un grande affrontare ma ancora una minaccia.
Cos'altro potrebbe succedere?
Che altro è cattivo su questo approccio?
E 'meno comune in questi giorni.
Già. È un po ' più lenta in quanto -
piuttosto che ottenere l' sorgente originale dal server.
Si sta ora facendo ulteriori modifiche sul lato client.
E in effetti se avessimo un modo connessione internet molto lenta,
si potrebbe effettivamente vedere probabilmente alcuni flash
sullo schermo come DOM i nodi stanno cambiando.
Abbiamo appena capita di avere una connessione,
un computer abbastanza veloce e quindi è abbastanza sfuggente all'utente.
Ma cosa succede se hanno JavaScript disabilitato?
Ora, questo è un estremo caso angolo in questi giorni.
La maggior parte delle persone sono - la maggioranza quando escono JavaScript.
Ma se è fuori cosa succede?
Noi non vediamo alcun di quella sorta.
Così, in breve, basandosi su JavaScript per qualcosa
in questo modo ottiene il lavoro fatto
ma l'asporto è come siamo andati su questo dong.
E si può vedere di persona semplicemente visualizzando la sorgente
e poi rovistando in qualsiasi dei due URL del cs164.net.
Come abbiamo effettivamente fatto questo?
Ma la sua illustrativi di come si può iniziare a costruire più
DOM interessanti e anche nel caso
siti web di guidati dinamicamente come l'applicazione Facebook,
o Gchat o simili che sono costantemente tirando in più dati,
come si può effettivamente modificare tale interfaccia.
Ma ora, diamo un'occhiata al modo giusto per iniziare a fare le cose.
Così quest'anno, il corso, a differenza di due anni fa
quando voi ragazzi principalmente in PHP per il primo semestre
e JavaScript per l'ultima metà che due anni fa,
ci siamo concentrati più sul cellulare con un po 'di PHP, quest'anno,
abbiamo deciso di cambiare cose a concentrarsi più
su applicazioni web-based.
Implementato non in coppie di persone
ma in squadre specificamente squadre di quattro
e le motivazioni erano diversi.
Ma tra loro erano che,
con una squadra di quattro persone c'è solo molto di più pezzi si può mordere
fuori come un gruppo.
Facendo sviluppo di siti web tende a si terra a diversi aspetti
del progetto che si può poi delegare tra il vostro team.
Ad esempio, faremo probabile avere uno o due di voi
in un dato gruppo di lavoro sul front-end, il codice JavaScript,
il CSS, l'estetica.
Su questo stesso progetto un altro uno o due di voi si concentrerà
sul back-end, il database progettazione dello schema, la convalida
dei dati, scrivendo l'API che il popolo front-end funzionerà.
E così abbiamo ottenuto un sacco più respiro di opportunità
per le persone a collaborare.
E quindi troverete se hai fatto progetti
con un solo partner in passato,
che con quattro sarà un poco più impegnativo,
più interessante ma molto più potente per avere tutte
di voi ragazzi collaborare insieme.
In termini di presupposti, noi probabilmente atterremo a questi
per il catalogo quattro corsi CS precedenti.
E questa è basata sull'esperienza.
Un paio di anni fa come alluso a voi in precedenza,
abbiamo praticamente permesso chi ha preso solo 50
o forse qualche classe in alta scuola per partecipare al corso
ma c'era solo una tale spread delle abilità e livelli di comfort.
E 'reso difficile avere alcune conversazioni e molto
degli studenti nel classe lottato.
Così abbiamo pensato in questo modo,
possiamo fare una sorta di tutti un favore collettiva.
Modo da tenere a mente.
In termini di dimensioni del team, quattro sarà il default
se si dispone di tre amici con i quali si sarebbe
come a partner, questo è del tutto soddisfacente.
Noi non mandato particolari squadre per voi.
Se non avete amici o partner in mente per la classe,
un grosso problema, continueremo che la mente come bene e provare
per facilitare quelle forme di partenariato.
In termini di struttura classe, questo è molto anomalo.
Il percorso non sarà strutturato per la maggior parte
intorno lezioni e non sarà strutturata
intorno a voi ragazzi seduti lì a guardare in questo modo
e mi parla in questo modo.
Piuttosto la maggior parte del sessioni di classe saranno
in forma di incontri di gruppo.
Sia il team raccoglierà qui o altrove nel campus
per un paio d'ore il Lunedi pomeriggio o per una coppia
di ore il Mercoledì pomeriggio.
Nelle prossime settimane, faremo capire quale giorno
e che ora ogni la gente sarà.
Se la necessità di essere, siamo in grado di modificare la volte, ma vedremo Based
su un sondaggio che voi ragazzi in ultima analisi compilare.
Cosa succede in questi incontri?
Così le riunioni settimanali è
dove voi ragazzi principalmente presentare i progressi
su vari progetti, più su quelle in un momento.
Così, in queste riunioni di squadra, uno del personale docente e
o me sarà presente e l'obiettivo sarà per ciascun
dei quattro persone squadra di riferire in merito tappe
che avete o non hanno raggiunto.
Qualora il traguardo saranno definite
come ricerca di qualcosa, attuare qualcosa,
progettazione di qualcosa, pensando di qualcosa o simili,
difendendo decisioni di progettazione.
Così E'- intendevamo questa classe
di particolarmente critica o impegnativo.
Quindi la sua non solo andando a essere parlare la vostra giornata
e come effettivamente è scelto di implementare questo ma io e Rob
e Tim che incontreremo in un po ' sarà lì a sfidare voi.
In modo che se avete preso una decisione
e non è necessariamente il meglio che bene.
Se effettivamente avete un forte parere sul motivo per cui l'hai fatto.
E in risposta della forma, bene, funziona
ma io non sono davvero sicuro è Non ciò che è veramente atteso
durante tali riunioni.
Quindi è veramente destinata a essere una conversazione bidirezionale
in cui difendete la vostra decisioni e anche convincerci
che il percorso che hai presa è idealmente migliore
o è un'opportunità per voi per sollecitare le risposte da noi
e anche i vostri partner
da quello che si potrebbe essere fare in modo diverso.
E poi, in particolare, questi saranno opportunità
per la revisione del codice.
Quindi voi ragazzi scriverà Codice e PHP codice JavaScript
e altre tecniche aspetti di ogni progetto
e l'obiettivo sarà in davanti ad un grande schermo TV,
attorno al tavolo come questo per uno di voi a distinguersi
fino alla volta chi ha sta facendo la maggior parte del lavoro
su qualche aspetto il progetto ha previsto
e presentare il codice.
E darci un tour verbale del codice e ci danno l'opportunità
dire perché hai sei cicli annidati attuazione
qualcosa di simile?
O perché non avete indici
nella tabella di database diversi argomenti che noi esploreremo
nel corso del semestre.
Così di tanto in tanto ci sarà avere colloqui tecnici sia
nella forma di questi in incontri di persona di stile
dove tutti noi riuniamo insieme o via video
per rendere le cose un poco asincrono
per comodità su temi particolarmente tecnici
e gli strumenti che useremo durante questo semestre.
Alcuni popolari JavaScript biblioteche
per esempio sono Backbone.js e Bookshelf.js e Express.js.
Questi sono tutti strumenti con che si può fare web-based
applicazioni che utilizzano JavaScript.
Non sul lato client se
ma sul lato server utilizzando un quadro chiamato Node.js
che è un'alternativa alla usando qualcosa come Apache
o Microsoft IIS o altro software del server web.
Quindi dovremo effettivamente scrivere a il codice JavaScript di classe,
sia sul lato client come nonché sul lato server.
Parleremo strumenti con cui alcuni
di si conoscono già.
Cose del genere Git.
Ci immergeremo in profondità alle cose come SQL e dei vincoli
e transazioni e molto dei dettagli che certamente
in una classe come 50, ci genere di agitare le mani per i tempi amor
ma sono sempre più importanti
quando in realtà l'attuazione di un progetto che sta per essere usato
dal reale e si spera gran numero di utenti
dove le prestazioni sta per iniziare a fare la differenza.
Nel mondo PHP, useremo un framework chiamato Laravel.
Si tratta di una architettura MVC.
Se sapere o ricordare che la sigla.
Ed è solo un mucchio di Codice PHP per fare un sacco
di posti di lavoro più facile e per rendere più facile
scrivere più complessa software per progetti particolarmente
che vengono attuate da più persone.
Per il test, useremo strumenti come Mockery in unità di PHP
e ci arriveremo l'abitudine di non solo la scrittura di codice e ordinare
di battere su di esso e anecdotally cercando di cercare di capire,
funziona come previsto.
Ma piuttosto fa superare alcuni test.
Così che, soprattutto se un tuo amico
nel tuo gruppo cambia del codice, si può essere sicuri
che qui non ha rotto niente semplicemente
eseguendo nuovamente le prove
che hai già scritta per tale codice.
In modo che non hanno regressioni a buggy stati di software.
Inoltre, i progetti è
dove passeremo la maggior parte del nostro tempo.
Quindi non ci sono esami.
Il tutto guidato da progetti in questa categoria
e c'è davvero essere solo due team per ogni.
In sostanza il primo semestre del semestre si concentrerà
su uno siti web basati su PHP
che avrà utente finale anteriore interfacce sia per tavolo
e facoltativamente mobile.
Quindi questa sarà l'occasione, seppur tangenziale alla classe
di fare effettivamente qualcosa di simile una interfaccia mobile web-based
o se siete veramente determinato, Android
o iOS sarebbe perfettamente bene.
Basta rendersi conto che il curva di apprendimento non
Se non si conosce sarebbe essere un po 'più alto.
Ma sarebbe giocare molto bene con la visione
di avere anche ogni progetto per avere qualche API di back-end.
Così che si può avere una separazione,
Astrazione tra ciò che si stanno facendo e quello che Alice e Bob
e Charlie nella vostra gruppo sono anche pure.
In modo che ciascuno dei vostri front-end
o back end può in qualche modo comunicare tra loro.
In termini di specifiche, per il quadro,
ci affidiamo a Laravel e Eloquente che è un ORM,
un Mapper Object-rapporto che è solo uno strato di software
che affronta l' M in MVC, il Modello.
Si rende un po 'più facile soprattutto per i grandi progetti
per interrogare i dati da database e scrivere i dati
e di rappresentare mondo reale enti senza dover
scrivere il codice SQL crudo.
Nel mondo di JavaScript, saremo di nuovo usiamo espresso
e Bookshelf che sono analoghi
nel mondo JavaScript.
Ma utilizzando al posto di Apache con Node.js
che è sempre più popolare e permette soprattutto
per applicazioni che prevedono interazioni in tempo reale,
camere grafici e simili.
Il nodo è molto meglio di Apache quando si usa -
in sede di attuazione progetti come quello
perché è possibile inviare messaggi utilizzando modelli come pub e sub,
pubblicare e sottoscrivere, se familiarità con quelle frasi.
Quindi, più che verso la metà del semestre.
In termini di aspettative, questi loro sono per il corso.
Partecipare o guardare questi occasionale colloqui, colloqui tecnici.
Il calendario per il quale alla fine mettere
sul sito web corsi.
Partecipare a tutte delle riunioni.
Quindi la partecipazione è richiesto al ciascuna delle cause delle riunioni del team '
dopo tutto quello che è dove la maggior di insegnamento del corso
e feedback e interazioni accadrà.
Tappe settimanali, useremo uno strumento che farò menzione
di in un momento per genere si assegnare da uno o due
dei membri del personale a ciascuno di le quattro persone del gruppo.
Cose da fare e quelle cose verranno in forma
del perché non è vero vet andare questa opzione.
Perché non vai vet questa opzione e capire che
di questi due attuazione possibilità sono meglio
tra oggi e dire la prossima settimana.
Perché non vai implementare questo?
Oppure si progetta questi tabelle del database.
E così in breve il programma nel corso sta andando
per essere abbastanza organico funzione dei progetti
che ogni squadra affronta seconda che cosa i vostri risultati sono
quando vagliare qualche implementazione opzione e seconda potenzialmente
su ciò che gli utenti finali in definitiva vuole il progetto di fare.
E così verso quella fine, sono scadenze fisse per dire.
Ci saranno più o meno essere in un'assegnazione rotolamento
di scadenze ogni pochi giorni, ogni settimana in base
le conversazioni che avete con uno o due
dei membri del personale al vostro tavolo.
Alla fine, però ciò che è causa è la presentazione
di questi due progetti finali.
In termini di ciò che l' progetti saranno,
I progetti saranno essere o proposti
e selezionati da voi.
In realtà, la forma di lotteria per esempio, vi verrà chiesto
su quali sono uno o più progetti particolare che in qualche modo riguardano
al campus che si pensa possa essere convincente da implementare.
Dal momento che una delle speranze per il corso è
che qualunque progetti fanno venire
da questo corso sopravvivere la fine del semestre.
E così particolare se sono i temi del campus,
se se questo è un altro catalogo corsi, strumento commerciale
o eventi o servizio navetta o un qualsiasi numero
dei progetti finali popolari.
La speranza dopo la fine di questo semestre è
che tale progetto di vivere.
E infatti verso quel fine,
quello che abbiamo pensato che facciamo è rendere un po 'interessante.
E anche una sorta di opportunità di insight
per i dibattiti per cui per la maggior parte qualsiasi progetto che
come classe di affrontare questo semestre,
ci saranno due squadre assegnato alla stessa progetto.
L'idea generale è che non sono realmente dovrebbero
per parlare del loro varie scelte progettuali,
piuttosto il suo vuole essere più di un concorso per
che in ultima analisi può produrre l' migliore progettazione, realizzazione.
Così che alla fine del semestre, vieni maggio, spediamo uno
e non entrambe queste soluzioni.
E noi come un corso prenderemo cura di hosting e così via
in modo che le vostre vite precedenti sulla alla fine della molla.
Che cosa fanno queste applicazioni fanno?
Può essere qualsiasi cosa, qualcosa per un reparto,
qualcosa per un gruppo di studenti,
qualcosa per gli studenti più in generale, che sarà parte
della conversazione la prossima settimana
fino a quando la testa prima immersione
dopo aver ricevuto un pugno di tali progetti.
In termini di personale, lasciare Mi presento Tim e Rob
che vorrebbe dire ciao.
Ed è di questi ragazzi che per uno dei progetti saranno -
per entrambi i progetti sarà il vostro consulente principale.
Essenzialmente per uno dei progetti, Rob si riuniranno
con voi settimanale per queste chat.
Per uno dei progetti, Tim sarà raccolta con voi
per le chat e faremo scambiare circa di metà semestre
come abbiamo transizione progetti.
Se vi piace parlare solo vicino a questo microfono.
>> Ciao, sono Rob.
Mi sono laureato lo scorso maggio da [incomprensibile].
Sono precettore in CS qui ora.
Eccitato per il corso.
>> E io sono Tim e sono effettivamente completamente nuovo della zona.
Sono originario di Philadelphia così ho appena iniziato
qui un paio di settimane fa e sono davvero
nel software open source.
Io aiuto con il mantenimento della Progetto Backbone.js dove alcuni
di voi potrebbe avere familiarità con
e ho anche creato l' Bookshelf.js progetto
che Davide era menzionare.
Quindi, io sono entusiasta di vedere i progetti.
Infatti >>.
Per ulteriori informazioni su Tim almeno se si va
alla home page del corso e scegliere il suo nome porterà
al suo repository GitHub se vuoi guardare alcuni
della sua open source strumenti e progetti.
Quindi, in termini di voti, appena Perche 'questa è una FAQ ancora
se sorta di tangente al visione più grande di una classe,
Come potranno voto finale essere determinato?
Allora cosa faremo alla fine essere abbastanza soggettive basate
sulle interazioni noi si nel corso -
con il vostro nel corso del semestre sulla base
su vostri contributi sia per repository di codice
e alle conversazioni che abbiamo.
E in un guscio di noce, sarà basata
sui vostri contributi ai progetti.
Il delta tra il primo settimana e la scorsa settimana.
Quindi non preoccuparti se hanno solo quattro corsi
sotto la cintura, mentre alcuni altri studenti
nella classe potrebbe avere otto,
saremo certamente teniamo questo in mente.
La portata, la correttezza, la progettazione e lo stile del vostro progetto,
così gli assi familiari.
Il grado in cui si preparare per la riunione.
Quindi questa realtà è destinata a essere un'opportunità per noi
per raccogliere settimanale e hanno intelligente e divertente e ordinamento
dibattiti dei idealmente emozionali.
A volte in cui voi ragazzi proponi come si potrebbe risolvere
qualcosa e poi difendere ciò che si potrebbe fare e il ruolo di Tim
e il mio ruolo e il ruolo di Rob sarà essere quello di sfidare te speriamo.
In modo che sia possibile essere convinto ad andare via
in altre implementazioni direzione o può essere fiduciosi
e sento abbastanza bene circa il fatto che, sì,
si pensa di avere la migliore attuazione possibile
per questo.
In particolare e per quanto ci sarà un altro lavoro di squadra
sullo stesso progetto da proprio angolo individuo.
In termini di strumenti, quindi questo sarà forse di tutti gli straordinari
e siete invitati a utilizzare tutto ciò che è di interesse
Per per il proprio team interno.
Ma per la maggior parte, faremo uso
di uno strumento gratuito chiamato Asana per la gestione delle attività.
Vedrete più su questa via email nei prossimi giorni
ed è essenzialmente uno strumento tramite il quale si può lavorare spazi
e progetti per squadra.
Così, se il progetto è quello di attuare pieno [fonetica].
I tuoi quattro membri del team saranno essere all'interno di quel progetto,
in quella cartella per così dire.
E voi e sarà in grado di assegnare le tappe e fare di
e le date e commenti.
Ed è bello perche 'e' integrata con la posta elettronica.
Così si può o non si può visitare il Sito è totalmente a voi.
E si può anche ottenere un senso di aggregazione
di ciò che la gente sono di lavoro e ottenere un senso
di quello che sta succedendo al di là il proprio particolare bolla
se la testa va giù dopo un po focalizzazione
su una cosa particolare.
Per GitHub anche, se sconosciuto, GitHub è una
delle più popolari, se non il repository più popolare
là fuori per fonte codificare in questi giorni.
Useremo che come centrale repository per ogni squadra di quattro
in modo tale che quattro e poi noi tre abbiamo accesso a
e può commentare in forma
di revisioni del codice utilizzando L'interfaccia di GitHub.
Ma noi presentiamo a quell'hotel
Se non si conosce quando arriva il momento.
E questo è solo un breve un assaggio di Asana.
Sguardo veloce a GitHub e ora mi permetta di pausa per tutte le domande.
Già.
[Inaudible domanda]
Buona domanda cosa pensiamo dei quadri Python o Ruby?
Potevano raggiungere l' stessi obiettivi in ​​particolare.
Ci capita di utilizzare PHP in 164 perché un sacco
di persone prima web esperienze che esce 50
che utilizza PHP adesso.
Ma assolutamente, potrebbe qualsiasi questi progetti da fare in Ruby,
Python, anche Java o altro quadri, Node.js certamente.
Ma ci capita di utilizzare PHP e ci capita di usare Node.js
e vogliamo standardizzare quelli per entrambi i progetti
in modo che sia molto più facile come una classe
avere molto simile conversazioni
e non avere troppe mele e arance in classe.
Anche se non ci sarà discrezionalità quando si tratta
alle particolari add-on in librerie che si potrebbe utilizzare
per uno di questi ambienti.
Quindi, nessuna pretesa che uno è particolarmente meglio
rispetto agli altri.
E PHP ha una sorta di brutta storia, ma è diventato molto,
molto meglio negli ultimi anni.
Quindi, quello che ci aspetta?
Nessuna casa o qualsiasi cose stasera altro
oltre a visitare questo URL se davvero di interesse.
Postiamo il link sul sito
se si dimentica dove si trova.
Il termine per questo sta andando per essere 06:00 il Mercoledì
così che Rob e Tim ed io può sedersi la sera
e rivedere le osservazioni e capire come meglio
per ottimizzare gruppi e così via.
Ti faremo sapere da Giovedi anche se non abbiamo mai avuto
alla lotteria e se abbiamo un posto
in modo che voi potete ottenere schede di studio firmato da figura
che cosa si vuole fare.
E nel frattempo, se avete tutte le domande,
vai al sito del corso.
Staff Email a cs164.net.
Quando siamo tornati il ​​Mercoledì, sarà ancora questo formato.
Ma probabilmente a partire a metà della prossima settimana o la settimana
dopo dove abbiamo divvy in gruppi molto più piccoli
con solo quattro di voi incontro a un tempo con me
e o Tim e Rob o.
Grazie mille a la squadra in tornato oggi.
Ci vediamo il Mercoledì.