DAVID J. MALAN: Γεια σας κόσμο. Αυτό είναι CS50 ζωντανή και αυτό είναι το Μάρτιο 14, πράγμα που σημαίνει, ευτυχισμένη ημέρα pi. Τώρα είναι μια στιγμή δεδομένου ότι έχω δει, επειδή την περασμένη Παρασκευή, Rob Bowden και εγώ ήμασταν πραγματικά μακριά σε ένα συνέδριο στην Ατλάντα, Γεωργία. Ένα συνέδριο είναι γνωστή ως SIGCSE, η Ειδικού Ενδιαφέροντος Ομάδα για την Επιστήμη των Υπολογιστών Εκπαίδευση, που κάθε χρόνο συγκεντρώνει περίπου τα 1.000 εκπαιδευτικούς να μιλούν και να εργαστούν για βελτιώσεις επιστήμη των υπολογιστών της εκπαίδευσης. Ένας από τους κεντρικούς ομιλητές αυτό το έτος, στην πραγματικότητα, Ήταν ο ιδρυτής της code.org, το οποίο ίσως έχουν δει στον Τύπο κατά το παρελθόν έτος. Έχουν κάνει ένα εξαιρετικό εργασίας κατά το παρελθόν έτος να πάρει άνθρωποι ενθουσιασμένοι για την επιστήμη των υπολογιστών, και σχετικά με τον προγραμματισμό ειδικότερα. Στην πραγματικότητα, ένα από τα πιο τους γνωστό πρωτοβουλίες είναι γνωστό ως The Hour του Κώδικα, το οποίο είναι ένα ευκαιρία και ένα πρόγραμμα σπουδών μέσω της οποίας σας, ή ένα φίλο, ή ένα μέλος της οικογένειας, ή συνάδελφο, θα μπορούσε να πάρει τα χέρια σας βρώμικα με ένα κομμάτι της επιστήμης των υπολογιστών και του προγραμματισμού για μόλις μία ώρα για να δείτε αν μπορείτε να το πάρετε. Στην πραγματικότητα, αν εσείς οι ίδιοι έχει ένα φίλο, μέλος της οικογένειας, ή συνάδελφο που θα θέλατε να δοκιμάσετε του ή το χέρι της σε κάποια επιστήμη των υπολογιστών, αλλά νομίζετε ότι τους ρίχνουν σε CS50 του πρόγραμμα σπουδών μπορεί να είναι λίγο πάρα πολύ πάρα πολύ σύντομα, και με όλα τα μέσα, να τους παραπέμψει να code.org / μάθουν πού μπορούν να δοκιμάσουν το χέρι τους για μόλις μία ώρα σε ένα κομμάτι της επιστήμης των υπολογιστών. Ή ακόμα καλύτερα, να τους δείξουμε αυτό το κλιπ. [VIDEO PLAYBACK] -Γεια σου, είμαι η Λία. -Και είμαι Tonya. -Και είμαστε αρκετά τυχεροί να να σπουδάζουν επιστήμη των υπολογιστών. Πιστεύουμε ότι είναι τρομερό ότι 90% των σχολικών δεν το διδάσκουν. -Σίγουρα δεν έκανε προσφέρετε στο λύκειο μου. -Έτσι προσπαθούμε να κάνει αυτό το βίντεο για να δείξει ότι ο καθένας μπορεί να μάθει. Θέλουμε να φτάσουμε τα 10 εκατομμύρια μαθητές να κάνουν την ώρα του Κώδικα. Ώρες του Κώδικα. Ώρες του Κώδικα. -Η Ώρα του Κώδικα. Ώρες του Κώδικα. Ώρες του Κώδικα. Ώρες του Κώδικα. Ώρες του Κώδικα. -Η Ώρα του Κώδικα. -Πώς θα τον πάρει για να φτάσετε στο ηλιέλαιο. Αυτός πρέπει να κάνει κάποιες ενέργειες. -Το βρήκα. Yay. -Και τότε θα το τρέξει και να δούμε τι θα συμβεί. -Εκπληκτικός. -Εκεί πάμε. -Απλά έγραψε το πρώτο σας πρόγραμμα. -Εγώ το έγραψα; -Ναι. -Αυτός είναι ο κώδικας που μόλις έγραψε. -Πολύ φοβερό. -Νόμιζα όπως, κωδικός ήταν σαν FBI hacker, τα σύμβολα και τα πράγματα. -Ένα μικρό κομμάτι του προβλήματος προβλημάτων, ένα μικρό κομμάτι της λογικής. -Είναι σαν οδηγίες. -Ο προγραμματισμός είναι πολύ πιο εύκολο σήμερα. -Μην παίζουν μόνο στο τηλέφωνό σας. Προγραμματίστε το. -Εντάξει. -Φοβερό. -Πώς πάει κάποιος για να πάρει μια δουλειά; -Ίσως να λάβει μια ηλεκτρονική τάξη, να βρείτε μια τάξη σε ένα κολλέγιο της κοινότητας. -Μπορείτε να πάρετε ένα από τα καλύτερα αμειβόμενες θέσεις εργασίας στον κόσμο. -Νομίζω κινούμενο ιατρικής σε όλη την εποχή των ηλεκτρονικών υπολογιστών. -Τεχνολογία πινελιές κάθε μέρος της ζωής μας. Εάν μπορείτε να δημιουργήσετε την τεχνολογία, μπορείτε να αλλάξετε τον κόσμο. -Έτσι, είμαστε ενθουσιασμένοι που είστε συμμετέχουν στη σημερινή ώρα του κώδικα. -Κάναμε μόνο δύο γραμμές κώδικα. -Τρεις γραμμές κώδικα. -Τέσσερις γραμμές. -Επτά γραμμές. -Πέντε γραμμές. -16 Γραμμές των κωδικών. -99 Γραμμές κώδικα. -60 Γραμμές. -18 Γραμμές κώδικα. -75 Γραμμές κώδικα. -Δεν έχει σημασία πόσο χρονών είσαι. Ώρες του Κώδικα. Ώρες του Κώδικα. -Η Ώρα του Κώδικα. -Η Ώρα του Κώδικα. -Η Ώρα του Κώδικα. -Είτε είστε νέοι άνδρας ή μια νεαρή γυναίκα. Είτε ζείτε σε μια πόλη ή αγροτική περιοχή. -Όλοι σε αυτή τη χώρα θα πρέπει να μάθετε πώς να προγραμματίσετε έναν υπολογιστή. -Και εγώ μόλις ολοκληρωθεί η - Ώρες του Κώδικα. -Είναι πραγματικά πολύ εύκολο να το μάθει. -Τα κορίτσια πρέπει να μάθουν αυτό, πάρα πολύ. -Κατανόηση ότι η γλώσσα ότι πρόκειται να είναι το μέλλον. -Ο καθένας μπορεί να μάθει την επιστήμη των υπολογιστών. -Και μπορείτε να μάθετε πάρα πολύ. -Jack Dorsey, Mark Zuckerberg, ο Bill Πύλες, όλοι y'all, μαθαίνω. -Δώστε έναν πυροβολισμό. [ΤΕΛΟΣ VIDEO PLAYBACK] Τώρα κάτι μου λέει ότι αν είστε σε CS50 ή σε CS50x, έχετε περάσει καλά περισσότερο από ό, τι μόλις μία ώρα για την κωδικοποίηση. Αλλά για τα μέλη της οικογένειας, τους φίλους, τους συναδέλφους ή ότι θα θέλατε να παρουσιάσουμε αυτό κόσμο, εδώ είναι ένα άλλο κίνητρο. Θυμάσαι αυτόν τον τύπο; Πολύ δημοφιλής τον τελευταίο καιρό, έχει ήταν μια λεγόμενη Φλάπι πουλί σε διάφορες πλατφόρμες. Και εδώ έχουμε ένα URL, στο code.org / Φλάπι, όπου οι λαοί είδος στο code.org μπορεί να βάλει μαζί ένα εργαλείο μέσω του οποίου θα ή ένας φίλος να φτιάξετε το δικό σας εφαρμογή της εν λόγω δημοφιλές παιχνίδι. Έτσι μπορώ να το ελέγξουμε. Τώρα το συνέδριο, και την περασμένη Παρασκευή. Rob Bowden και εγώ, όπου και πάλι, μακριά σε αυτή τη διάσκεψη, και σκεφτήκαμε έχοντας ένα πλήθος επισκεπτών. Και έχουμε δοκιμάσει αρκετά λίγοι λαοί για τις ακροάσεις. Κανένας από αυτούς δεν φαίνεται να ασκηθείτε, οπότε σκεφτήκαμε θα ήθελα να σας δείξω μερικά κλιπ τι έκανε διαφαίνεται. [VIDEO PLAYBACK] RAMON GALVAN: Είμαι Ramon Galvan πλήρωση μέσα για την κανονική υποδοχής σας, David Μάλαν. Κωδικό πρόσβασης του στρατού των ΗΠΑ ήταν 000000, δεν είναι πραγματικά ασφαλές, αν με ρωτάτε. Παρ 'όλα αυτά, σ' αγαπώ. Σε αντίθεση με τον David, που σας περιβάλλει. Ας μην πάει πάνω από αυτό το λάθος. Τι είναι αυτό; Ας δούμε μόνο ένα βίντεο με Harry Lewis. [ΤΕΛΟΣ VIDEO PLAYBACK] DAVID J. MALAN: Τώρα, αυτό που είναι πιο αστείο για αυτό το clip δεν είναι πώς Ramon πραγματοποιήθηκε μπροστά από το κάμερα, αλλά πώς Ramon δεν ξέρει, μέχρι όπως των λίγων πριν από λίγο, ότι ήμασταν πρόκειται να παίξει αυτά τα κλιπ πίσω εδώ για σας στο διαδίκτυο. Έτσι CS50 δικό του, Ramon Galvan. Επιστρέφοντας ίσως σε κάποια μελλοντική επεισόδιο. Τώρα Εν τω μεταξύ, μπορείτε να ανακαλέσετε αφήσαμε τελευταίο επεισόδιο φορές σε ένα κομμάτι από ένα δραματική στιγμή, όπου αναφέρεται ότι Rob Bowden έχει ένα δίδυμο αδελφό, τον Παύλο. Ποιος, και πάλι, ο ίδιος φαντασίες ένα κομμάτι από ένα κωμικός. Αλλά έτυχε να εμφανιστεί σε ένα δημοφιλές αμερικανικό παιχνίδι show, και σας ρωτήσαμε ποια. Λοιπόν πολλοί από εσάς έγραψε με την απάντηση. Και εδώ είναι ένα τέτοιο παράδειγμα. Στο CS50 ζωντανά, David αναφέρθηκε για Ο δίδυμος αδερφός του Robert, Paul Bowden, και ρώτησε για να το Google. Καλά φαίνεται σαν να είναι σε Harvard, πάρα πολύ. Και, Ποιος θέλει να γίνει εκατομμυριούχος, και ναι, αν είμαι ο πρώτος να αναφέρουν αυτό, Ντέιβιντ, κύριε, θα ήθελα να είναι στην ευχάριστη θέση να είναι διάσημη για την επόμενη CS50 ζουν. Έτσι, θεωρείτε τον εαυτό σας διάσημο γιατί η απάντηση ήταν πράγματι, Ποιος θέλει να γίνει εκατομμυριούχος. Και στην πραγματικότητα, που απεικονίζεται εδώ είναι ο Παύλος Bowden παράλληλα υποδοχής του εν λόγω τηλεοπτική εκπομπή του. Και κάναμε και λίγο σκάψιμο, και βρήκε αυτό το κλιπ για σας. [VIDEO PLAYBACK] -Paul Bowden από Franklin, Νιού Τζέρσεϊ. Γεια σου Paul. Καλώς ήρθατε στην επίδειξη. -Ευχαριστώ. -Paul λέει εδώ είστε ένας δευτεροετής φοιτητής στο Πανεπιστήμιο του Χάρβαρντ, προφανώς ένας έξυπνος άνθρωπος. -Υποθέτω. -Λοιπόν στο βιβλίο μου που Σίγουρα δείχνει έτσι. Και ξέρω ότι όταν ήσουν στέκεται στην ουρά για Millionaire, ένα σημάδι από τον ουρανό πως είσαι κατά πάσα πιθανότητα πρόκειται να κάνει καλά, έτσι δεν είναι; -Θα μπορούσαμε να πούμε ότι. Όταν ήμουν στέκεται στη γραμμή που είχα ένα πουκάμισο Polo, το οποίο μπαίνει σε και ένα πουλί που συνέβη στην πρύμνη ακριβώς κάτω από το πίσω μέρος του πουκαμίσου μου. Και ήταν ακόμα μπαίνει in Αλλά κατέληξε να είναι καλή τύχη. -Είναι καλή τύχη, βλέπεις; Ορίστε, είσαι εδώ. Εντάξει, Paul. Είσαι έτοιμος; -Είμαι έτοιμος. -Εντάξει. Στη συνέχεια, ας παίξουμε Millionaire. Και ο αδερφός σου είναι ήδη κάθονται πίσω σας, ο αδελφός σας Rob. Πώς είσαι, Rob; -Είμαι καλά πώς είσαι; -Έναν δίδυμο αδερφό. -Ναι. -Τώρα είσαι, οι νεότεροι όμως, θα βγήκε από έξι λεπτά αργότερα, σωστά; Είναι αυτό σωστό; -Είμαι, ναι. -Μα είσαι ο πιο έξυπνος ο αδελφός; -Καλά, δεν θέλω να καυχιέμαι. Έτσι, δεν μπορώ να απαντήσω σε αυτό. [ΤΕΛΟΣ VIDEO PLAYBACK] -Έτσι Rob έχει ένα δίδυμο, γράφει ένα άλλο από τους συμμαθητές σας, χμμ ενδιαφέρον. Πόσο βαθιά έχει η τρύπα του κουνελιού πάτε; Έχω μια ερώτηση, γιατί το πρόβλημα σύνολα πάρει τόσο καιρό να autograded; Τι συμβαίνει πίσω από τις σκηνές; Έτσι σκεφτήκαμε ότι αυτό θα πραγματικά να είναι μια καλή ερώτηση να απαντήσει, διότι δεν δείχνουν λίγο μιας υποκείμενης ενδιαφέρουσες τεχνικές λεπτομέρειες. Σε αντίθεση με δημοφιλή πεποίθηση, δεν είναι στην πραγματικότητα βαθμολογούνται από Muppets, αλλά μάλλον μέσω μιας υποδομής που θα γνωστό ως Έλεγχος 50 σχετικά με τον πελάτη. Και μια υποδομή γνωρίζουμε τους sandbox 50 στην πλευρά του διακομιστή. Τώρα, για όσους δεν είναι εξοικειωμένοι, προκειμένου να ελεγχθεί η ορθότητα ορισμένων από Πρόβλημα CS50 είναι που τα προβλήματα, μπορείτε να εκτελέσετε μια εντολή στο η συσκευή CS50 γνωστή ως επιταγή 50, όπου μπορείτε να καθορίσετε ένα μοναδικό αναγνωριστικό για τη δοκιμή που θέλετε να εκτελέσετε. Και τότε θα ορίσετε τα μονοπάτια στο αρχείο ή τα αρχεία που θέλετε να ανεβάσετε με τους διακομιστές για δοκιμές. Τώρα, όταν η ανταπόκριση έρχεται πίσω από το διακομιστή, ελπίζω να σας δούμε όλους πράσινο χαμογελαστά πρόσωπα, όπως αυτά που εδώ, υποδεικνύοντας ότι έγραψα "Γεια σας, τον κόσμο" πολύ σωστά. Αντίθετα, αν έκανα κάτι λάθος, όπως και στην πραγματικότητα δεν ονοματοδοσία σωστά το αρχείο, θα μπορούσα πάρετε αυτό το τρομακτικό κόκκινο δυστυχισμένο πρόσωπο λέγοντας hello.c υπάρχει, που σημαίνει ότι δεν Στην πραγματικότητα, όπως υποδεικνύεται από το κόκκινο. Και αν κάτι είναι σε κίτρινο, εν τω μεταξύ, σημαίνει ότι οι έλεγχοι αυτοί δεν έκανε ακόμα τρέχει λόγω κάποιας εξάρτησης, κάποια προηγούμενη δοκιμή έκανε στην πραγματικότητα δεν πετύχει. Έτσι, αυτό που πραγματικά συμβαίνει κάτω από την κουκούλα; Λοιπόν, όταν τρέχετε αυτό ελέγξτε 50 εντολών, είμαστε ουσιαστικά zipping ασφαλείας όλων των αρχείων σας, συμπίεση τους, την αποστολή τους μέχρι δείτε σύμπλεγμα CS50 των servers, όπου μπορούμε στη συνέχεια να δημιουργήσετε ό, τι λέγεται ένα sandbox γύρω τους. Ουσιαστικά μπορείτε να σκεφτείτε αυτό ως ένα φάκελο, και από έναν ειδικό χρήστη που υπάρχει αποκλειστικά για τους σκοπούς της κατάρτισης και να λειτουργήσει η συγκεκριμένη κώδικα σε απομόνωση από οποιονδήποτε άλλο, έτσι ώστε μόνο σε περίπτωση που ένας φοιτητής έχει μια τυχαία άπειρο βρόχο ή, ακόμη χειρότερα, δεν πρόκειται κατ 'ανάγκη να επηρεάσει οποιονδήποτε άλλον στο σύστημα. Ούτε μπορεί να χειριστεί οποιαδήποτε αρχεία ή Διαγράφεται ότι δεν πρέπει να επιτρέπεται. Τώρα, πώς ο κώδικας γίνεται η εξέταση; Λοιπόν, γράψαμε ένα σύνολο της υποδομής κάλεσε και πάλι, sandbox - CS 50 sandbox. Και αυτή η υποδομή είναι γραμμένο, έκπληξη, σε μια γλώσσα που ονομάζεται JavaScript. Ποια ίσως γνωρίζετε, από clientside εμπειρίες, αλλά αποδεικνύεται μπορείτε επίσης να χρησιμοποιήσετε JavaScript στην πλευρά του διακομιστή. Τι κάνουν μερικά από τα δοκιμές στην πραγματικότητα μοιάζει; Καλά εδώ είναι μερικές πλευρά του διακομιστή JavaScript κώδικα, και είναι απλά ένα απόσπασμα αυτής. Αλλά αυτό αντιπροσωπεύει δύο ελέγχους ότι θα μπορούσε να τρέξει για τον κωδικό σας. Η πρώτη εκ των οποίων μέχρι εκεί πάνω, ελέγχει αν υπάρχει το αρχείο hello.c, και η δεύτερη στην πραγματικότητα ελέγχει αν το αρχείο σας συγκεντρώνει OK. Και αυτό είναι που τελικά δημιουργεί αυτές τις δυσαρεστημένος πρόσωπα ή εκείνα τα χαρούμενα πρόσωπα που βλέπετε υπό τη μορφή επιταγής 50 αποτελέσματα. Τώρα, για πολύ περισσότερο τεχνική λεπτομέρεια, είστε ευπρόσδεκτοι να ρίξετε μια ματιά σε αυτό το έγγραφο εδώ, τα οποία συμπτωματικά ήταν στην πραγματικότητα παρουσιάστηκε στο περσινό SIGCSE συνέδριο, και μπαίνει σε πολύ πιο λεπτομέρειες ως προς τον τρόπο που λειτουργεί το σύστημα και γιατί εμείς χτίζουμε το περασμένο έτος. Τώρα, στα μέσα ενημέρωσης τον τελευταίο καιρό, ήταν η έκφραση εδώ - goto αποτύχει, η λεγόμενη goto αποτύχει bug που μάστιζαν την Apple Computer πρόσφατα. Τώρα, εμείς δεν εισάγουν αυτό το CS 50, διότι η δήλωση goto σε C γενικά αποδοκιμαζόταν, ακόμη και Αν και σίγουρα έχει τις χρήσεις του. Και τι σημαίνει αυτό εδώ, goto αποτύχει, είναι ότι ανεξάρτητα από πρόγραμμα έχει αυτή τη γραμμή κώδικα, θα πρέπει να πάμε, ότι είναι μεταβείτε σε, άλλη γραμμή κώδικα ανεξάρτητα από τις όποιες γραμμές Στο ενδιάμεσο, και αυτή τη γραμμή κώδικα θα πρέπει να επισημαίνονται με τη λέξη-κλειδί αποτύχει. Και δεν θα μπορούσε να είναι οτιδήποτε, ένα FUBAR [; BES?] Αλλά στην περίπτωση αυτή, Η Apple επέλεξε να καλέσει αυτό αποτύχει γιατί είναι το κομμάτι του κώδικα που θα πρέπει να εκτελέσει, αν και όταν κάτι έχει αποτύχει. Τώρα, δυστυχώς, η Apple έκανε ένα λάθος με τη δήλωση αυτή, όπως θα δούμε σύντομα. Και πρόσφατα κυκλοφόρησε αυτή την ανακοίνωση σε μία από τις εκθέσεις bug fix τους. Ένας εισβολέας με προνομιακή θέση δικτύου μπορεί να συλλάβει ή να τροποποιήσει δεδομένα σε συνεδρίες που προστατεύονται από SSL / TLS. SSL, ανάκληση, ήταν ασφαλής sockets layer, και είναι η τεχνολογία που χρησιμοποιείται σε τυπικά κρυπτογράφηση της κυκλοφορίας μεταξύ ενός web browser, πείτε σε ένα Mac ή ένα iPhone, ή οποιαδήποτε άλλη συσκευή, και ένα web server. Και TLS είναι συνδεδεμένα με αυτό. Αυτό το ζήτημα επιλύθηκε με αποκατάσταση της λείπει βήματα αυτά επικύρωσης. Έτσι, αυτό ήταν περιγραφή της Apple Το πρόβλημα και η λύση σ 'αυτό. Αλλά τι σήμαινε αυτό πραγματικά; Έτσι κάναμε κάποια σκάψιμο, και διαπίστωσε πράγματι τον πηγαίο κώδικα για την υλοποίηση των αποφάσεών της Apple SSL, που και πάλι πλήττει Macs ή το iPhone, ειδικά αν είστε με τη χρήση Safari στους υπολογιστές. Εδώ είναι ένα απόσπασμα από τον κώδικα. Τώρα, ίσως να μην αναγνωρίζουν μερικές από τις λειτουργίες. Και ίσως να μην αναγνωρίζουν τη χρήση του να πάει στην κατάσταση μέχρι τώρα. Αλλά αυτό είναι κάπως εξοικειωμένοι σύνταξη. Έχουμε κάποια εάν οι συνθήκες, ορισμένοι εσοχή, μια λειτουργία, άγκιστρα. Έτσι, δεν είναι όλα τόσο ξένο. Αλλά ας ζουμ σε λίγο. Εδώ, να προσαρμοσθούν σε αυτές τις συνθήκες, και εδώ είναι η αναφορά του goto αποτύχει. Τώρα, τι είναι να αποτύχει; Λοιπόν ας πραγματικότητα μετακινηθείτε μειωθεί περαιτέρω στο πρόγραμμα. Αυτές είναι οι γραμμές κώδικα, οι τρεις αυτές γραμμές που εκτελούνται αν όντως πάνε να αποτύχει. Τώρα, τι είναι το θέμα τότε; Λοιπόν, ας πάμε πίσω μέχρι σε εκείνες τις συνθήκες όπου Έχω επισημαίνονται με κίτρινο χρώμα όλων των αναφορών των goto αποτύχει. Είδες τίποτα περίεργο; Έμφαση στο κάτω μέρος εκεί. Σωστά; Ο κωδικός μπορεί να είναι νέα, αλλά οι ιδέες δεν είναι. Αν εστιάσουμε εδώ, θα είστε παρατηρήσετε ότι ο προγραμματιστής έχει γράψει goto αποτύχει δυο φορές, αλλά εσοχή και τα δύο. Αλλά μπορεί να έχουν κάνει το ίδιο λάθος τον εαυτό σας σε κάποια προβλήματα για CS 50. Ακριβώς επειδή εσοχή δύο γραμμές του κώδικα μέσα από μια κατάσταση δεν σημαίνει ότι είναι δύο πρόκειται να εκτελέσει. Είναι μόνο δύο πρόκειται να εκτελέσει αν πραγματικά περιβάλλουν τους δύο με τι; Άγκιστρα. Έτσι, αυτό που πραγματικά συμβαίνει, αν I είδος καθορίσει την εσοχή και δεν προσθέτουν κανένα άγκιστρα, τι είναι πραγματικά συμβαίνει κάτω από το καπό, είναι ότι δεν έχει goto κατ 'ουσίαν παραμένουν συμμαχία εδώ, πράγμα που σημαίνει ότι πρόκειται να εκτελέσει δεν έχει σημασία τι. Και θα πάμε για να πάει στο, ή να μεταβείτε σε, αυτά τα τρία γραμμές κώδικα κοιτάξαμε πριν από λίγο. Έτσι ποια είναι η επίπτωση; Λοιπόν, ρίξτε μια ματιά σε αυτά κάτω πολύ δύο γραμμές εδώ. Αυτές οι γραμμές δεν θα είναι ποτέ, ποτέ να φτάσει. Επειδή δεν έχει σημασία τι, η δεύτερη goto αποτύχει πρόκειται να αναγκάσει το πρόγραμμα να ξεκινήσετε αμέσως πάνω σε αυτές τις γραμμές. Και τα πολυλογώ, οι δύο τελευταίες γραμμές είναι πραγματικά σημαντικές για η ορθότητα της SSL. Πράγματι, αν δεν εκτελέσει, είναι δυνατή ή ένας αντίπαλος, κακός, να διεξάγουν αυτό που είναι γενικά γνωστό ως άνθρωπος στη μέση επίθεση, προσποιείται ότι είναι μια ασφαλής ιστοσελίδα αρέσει το Facebook ή το Amazon ή το Google. Αλλά πραγματικά απλά δείτε - έχοντας μια κρυπτογραφημένη σύνδεση για να σας, και στη συνέχεια να διαβιβάζει την κυκλοφορία σας μαζί, προς το καλύτερο ή προς το χειρότερο. Ενδεχομένως το όνομα χρήστη σας, ενδεχομένως, τον κωδικό πρόσβασής σας, ενδεχομένως, τα στοιχεία της πιστωτικής σας κάρτας, με την πραγματική εν λόγω τοποθεσία. Ή δεν είναι ακόμη καθόλου. Με άλλα λόγια, αυτό σπάει SSL. Τώρα ευτυχώς, η Apple έκανε το ζήτημα αυτό. Τόσο για Mac OS και iOS πρόσφατα. Αλλά αν θέλετε να διπλό έλεγχο ο υπολογιστής σας είναι τώρα μέχρι σήμερα, υποθέτοντας έχετε αυτόματες ενημερώσεις για, το κεφάλι προς gotofail.com και θα δείτε ένα ωραίο δοκιμή που θα σας πω τόσο πολύ. Εν τω μεταξύ, αν θέλετε να πάρετε μια ματιά στο πηγαίο κώδικα, αυτό είναι ένα μακρύ URL, αλλά εδώ είναι το σύνολο του πηγαίου κώδικα για το συγκεκριμένο αρχείο αν θέλετε να πάρετε μια αίσθηση του ό, τι ο πραγματικός κόσμος προγραμματισμού είναι όπως, και ειλικρινά πραγματικό κόσμο σφάλματα. Μιλώντας σφάλματα, αυτό το μιμίδιο ήταν κυκλοφόρησε αρκετά ένα κομμάτι των καθυστερήσεων. 99 μικρά σφάλματα στον κώδικα, 99 μικρά σφάλματα στον κώδικα, πάρτε ένα κάτω, μπάλωμα γύρω, 127 μικρά σφάλματα στον κώδικα. Έτσι τι είναι αυτό αναφέρεστε; Ενδεχομένως, αυτό είναι μια εμπειρία εσείς ο ίδιος είχατε, όπου θα προσπαθήσει να κυνηγήσει κάποια bug, και στη συνέχεια ένα άλλο, ή ίσως ακόμη περισσότερα σφάλματα ξεφυτρώνουν σαν αποτέλεσμα που σας δοκιμάσει να αντιμετωπίσει ένα πρόβλημα. Στην πραγματικότητα, για αυτό για να χτυπήσει το σπίτι ακόμη περισσότερο, ας σηκώσει ένα πρόσωπο ότι είναι ίσως εξοικειωμένοι. Hal, από Malcolm in the Middle. [VIDEO PLAYBACK] [Παίζει μουσική] [ΤΕΛΟΣ VIDEO PLAYBACK] DAVID J. MALAN: Και τώρα μερικά hellos από κάποιους συμμαθητές σας. Μέχρι πρώτο είναι Khalid, και ένας φίλος του, οι οποίοι κατάγονται από τη βόρεια Βιρτζίνια στις Ηνωμένες Πολιτείες. KHALID: Ahoy CS50 συντρόφους, μου όνομα είναι Khalid [δεν ακούγεται]. Γνωρίστε τον παπαγάλο μου, [δεν ακούγεται] Ζω στη βόρεια Βιρτζίνια. Είμαι ένα όγδοο γκρέιντερ και είμαι ενθουσιασμένος για να είναι μέρος της τάξης CS50. Αυτό είναι θαυμάσιο να βιώνεις ένα κολέγιο, αλλά μείνετε στο σπίτι. Όπως μπορείτε να μαντέψετε, Είμαι εγγεγραμμένος σε απευθείας σύνδεση πρόγραμμα εκμάθησης. Μη διστάσετε να βιώσουν το πρώτο μου έργο εδώ. Θα τα ξαναπούμε. DAVID J. MALAN: Και τώρα ας το κεφάλι στο Κάνσας Σίτι, Μισούρι, όπου ο Derek περιμένει. Derek ήταν στη δουλειά, όταν γύρισε αυτό, έτσι ώστε μπορείτε να ακούσετε ένα κομμάτι του θορύβου στο παρασκήνιο αφού εργάζεται σε ένα κέντρο δεδομένων. DEREK MITCHELL: Γεια σας κόσμο, Το όνομά μου είναι Derek Mitchell. Είμαι σε Κάνσας Σίτι, Μιζούρι. Και παίρνω το CS50 κατηγορία γιατί πραγματικά πρέπει να μάθουν κάποια προγραμματισμού για τη δουλειά μου. Αυτό είναι όπου εργάζομαι. Είμαι ένας περιφερειακός τεχνικός υποστήριξης για Cabela, ο μεγαλύτερος εφοδιαστής παγκοσμίως. Και είμαι απλώς προσπαθεί να μάθουμε περισσότερα προγραμματισμού ώστε να μπορώ να υπερέχουν σε καριέρα μου και απλά να είναι μια καλύτερη τεχνικός. Έτσι και πάλι, το όνομά μου είναι Derek Mitchell και αυτό είναι CS50. [Μιλάει ιταλικά] FEDERICO: Γεια σας κόσμο. Το όνομά μου είναι Federico Grivelli. Είμαι από την Ιταλία. Γεννήθηκα σε μια από τις μεγαλύτερες πόλεις της χώρας, το Μιλάνο. Και ήμουν πραγματικά μεγάλωσε στην μια μικρότερη πόλη δίπλα στο Μιλάνο. Έτσι, εδώ ξεκινά η επιθυμία μου για την επέκταση τους ορίζοντές μου. Και αυτό γιατί σήμερα είμαι μια ξένη ανταλλαγής φοιτητών στην πολιτεία της Ουάσινγκτον. Φυσικά, οι Ηνωμένες Πολιτείες της Αμερικής. Έτσι αμερικανική εκπαίδευση πραγματικά διαφορετικό από τα ιταλικά. Εδώ έχω πάρει πολύ περισσότερα χέρια στην εμπειρία, παρά τις μελέτες και απομνημόνευση. Έτσι, αυτό μου ήταν, το όνομά μου είναι και πάλι Federico Grivelli, και αυτό είναι ένα CS50. DAVID J. MALAN: Και τώρα ένα γεια από κάποιον που δεν περιμέναμε. SARAH COFFEY: Γεια σας κόσμο. Το όνομά μου είναι Sarah Coffey, είμαι από Maltham, Μασαχουσέτη, και είμαι παντρεμένος με την CS50 δικό Dan Coffey. Νταν, θα ήθελα απλώς να ευχηθώ Είστε ένα πολύ χαρούμενα γενέθλια. DAVID J. MALAN: Δεν ξέρει αυτό πρόκειται να συμβεί, αλλά το δικό του CS50, Danny Coffey, είναι σωστό τώρα στην αίθουσα ελέγχου. Αλλά για να είναι στο διαδίκτυο, επειδή σήμερα είναι τα 29α γενέθλιά. Έλα έξω Dan. Σε παρακαλώ, έλα έξω, Dan, αλλιώς Αυτό πρόκειται να είναι πολύ δύσκολη. Dan; Αυτό το έτος είναι Dan Coffey, δεν ήξερε αυτό πρόκειται να συμβεί - θα Φυσικά έχουν ετοιμάσει αυτό. So happy 29th birthday, και Ελπίζω να είναι, πράγματι, έκπληξη. Όχι, ότι, με άλλο τρόπο, με άλλο τρόπο. Δεν ήταν. DAN COFFEY: Εκεί πάμε. DAVID J. MALAN: Dan Coffey, ο καθένας. Σας ευχαριστώ πολύ Dan, για να βγαίνει έξω. Και τώρα, 60 δευτερόλεπτα pandas. [VIDEO PLAYBACK] [Παίζει μουσική] [ΤΕΛΟΣ VIDEO PLAYBACK] DAVID J. MALAN: Τώρα μπορείτε να ανάκληση από ένα πρόσφατο επεισόδιο, Ορίσαμε LaunchCode, ένα πρωτοβουλία στο Saint Louis, Missouri, διοικούνται από εθελοντές που έχουν μετά μαζί με το πρόγραμμα σπουδών και το CS50 καθοδηγεί πολίτες της Saint Louis μέσω του εν λόγω υλικού προς ένα άκρο του βοηθώντας να τα συνδυάσετε με τον προγραμματισμό θέσεις εργασίας στο τέλος του εξαμήνου. Μπορείτε να ανακαλέσετε στην πραγματικότητα, ότι Η πρωτοβουλία αυτή ήταν τόσο δημοφιλής στο Saint Louis, ότι σχεδόν πλημμύρισαν την τοπική όπερα. Λοιπόν, LaunchCode του ιδρυτές πολύ ευγενικά ήρθε στην πανεπιστημιούπολη πρόσφατα και συμφώνησε να καθίσει μαζί μας στο Sanders Theatre για μια συζήτηση για το τι είναι LaunchCode και πώς είναι ήδη σε εξέλιξη. DAVID J. MALAN: Είμαστε σήμερα εδώ με μας φίλους από LaunchCode που έχουν πετάξει σε όλη τη διαδρομή από το Σεντ Λούις για να πω ένα γεια. Γεια σε όλους. JIM McKelvey: Γεια σας. DAVID J. MALAN: Ποιον έχουμε εδώ μαζί μας σήμερα από LaunchCode. JIM McKelvey: Λοιπόν, είμαι ο Jim McKelvey. BRENDAN LIND: Και είμαι Brendan Lind. ZACH LOU: Και είμαι Zach Lou. DAVID J. MALAN: Και για όσους δεν είναι εξοικειωμένοι, θα μπορούσατε να μας πείτε λίγα σχετικά με το τι LaunchCode είναι; JIM McKelvey: Έτσι LaunchCode είναι ένα σύστημα εξεύρεσης εργασίας ότι είμαστε πρωτοπόροι αρχής γενομένης από το Σεντ Λούις, αλλά θα πάμε να το φέρει σε εθνικό επίπεδο. Η ιδέα είναι βασικά να πάρει εταιρείες να αλλάξουν την πρόσληψη τους πρακτικές για να δέχεσαι τους ανθρώπους που έχουν μη παραδοσιακές διαπιστευτήρια. Έτσι, όπως γνωρίζουμε, όπως προγραμματιστές, ότι πολλοί από τους καλύτερους προγραμματιστές Οι αυτοδίδακτος σε κάποιο βαθμό. Και οι εταιρείες δεν αναγκαστικά αναγνωρίζουν αυτό στις πρακτικές πρόσληψης τους. Έτσι, εάν είστε ένας καλός προγραμματιστής, ακόμα δεν είναι απαραίτητο έχουν έναν τρόπο να μια καλή δουλειά. Και έτσι, αρχίσαμε να δουλεύουμε με εκατό εταιρείες από δισεκατομμυρίων δολαρίων επιχειρήσεις όπως οι επιχειρήσεις, και MasterCard, κάτω σε δύο-man νεοσύστατες επιχειρήσεις. Και έχουμε πάρει όλα αυτά να συμφωνήσουν να λάβουν οι υποψήφιοι LaunchCode σε, ουσιαστικά ένα σύστημα μαθητείας. DAVID J. MALAN: Και πώς βρήκατε Υλικά CS50 στην πρώτη θέση. JIM McKelvey: Έτσι ήταν πραγματικά αστείο. Η γυναίκα μου πήρε απευθείας σύνδεση τάξη σας μέσω του Harvard Extension. Και πήρε Φθινόπωρο 2012 CS50. Και ενώ ήμασταν, είμαι επιστήμονας πληροφορικής από την εκπαίδευση. Και έτσι ήμουν Την βοηθούσα μέσα η τάξη, ήμουν το παρακολουθείτε. Και είπε, ξέρετε, αυτό είναι που προσφέρονται σε απευθείας σύνδεση μέσω EDX, και είμαστε τοποθετώντας αυτούς τους ανθρώπους, οι οποίοι έχουν πολύ μικρά παραδοσιακά διαπιστευτήρια, και είμαστε σαν, αυτό θα ήταν φανταστικό. Έτσι, αυτό είναι το πώς μάθαμε γι 'αυτό. Μέσω m σύζυγό του, Άννα. Και Harvard Extension Program σας. DAVID J. MALAN: Αυτό είναι αστείο. Είναι μια τέτοια μικρή απόφαση, λήψη της οι τάξεις είχε τέτοιες επιπτώσεις τότε. JIM McKelvey: Ήταν εξαιρετικά τυχερός. Και ήμασταν πολύ ενθουσιασμένοι για να δείτε ότι εσείς εργάζονταν με EDX και τη διάθεσή του, και όλα τα συμπληρωματικά υλικά. Και είναι φανταστική των πόρων για την εκπαίδευση. DAVID J. MALAN: OK. Λοιπόν, στις ειδήσεις, εμείς στην πραγματικότητα ήρθε σε μια ματιά σε ό, τι την πρώτη νύχτα του LaunchCode ήταν όταν ήσουν στο χώρο της όπερας. Μπορείτε να μας δώσετε ένα από πρώτο χέρι για το τι εμπειρία σας ήταν σαν εκείνο το βράδυ; JIM McKelvey: Ναι, έτσι ήμουν στη Ρώμη. Και Brendan μου τηλεφώνησε στις 3:00 το πρωί, και είπε, έχουμε ξεχείλισε τις τρεις χώρους. Έτσι είχαμε την Εκκλησία του Χριστού Καθεδρικός Ναός, η Βιβλιοθήκη Downtown, και το Soldiers Memorial, η οποία είναι τρεις αρκετά μεγάλους χώρους. Και περιμέναμε μερικές εκατοντάδες άτομα. Είχαμε πάνω από 1.000 άνθρωποι υπογράφουν επάνω. Γι 'αυτό και πάντα ξεχείλισε και ο Brendan μου τηλεφωνεί, όπως, χρειαζόμαστε ένα μεγαλύτερο κτίριο. Και μας πήρε αυτό γίγαντας, αυτός ο γίγαντας της όπερας σπίτι, όπου πραγματοποιήθηκε η πρώτη τάξη. DAVID J. MALAN: Oh ότι είναι μεγάλη. JIM McKelvey: Και οι άνθρωποι ήταν τόσο ευγνώμων. Θέλω να πω, οι άνθρωποι που φθάνουμε είναι άνθρωποι που απλά θέλετε να βοηθήσει αυτά τα παιδιά. DAVID J. MALAN: Και από ό, τι έχετε δει, πόσο ρεαλιστικό είναι, κάποιος που εισέρχεται στο Φυσικά χωρίς κανένα υπόβαθρο. Και μερικούς μήνες αργότερα, έχουν από 13 εβδομάδες CS50 κάτω από τη ζώνη τους σε πραγματικότητα αισθάνεστε αρκετά βέβαιοι και να είναι αρκετά προσόντα για μια πραγματική εργασία προγραμματισμού. JIM McKelvey: ο Δαβίδ, πραγματικά δεν ξέρω, εντάξει; Επειδή δεν έχουμε κάνει σε οποιοδήποτε είδος της κλίμακας ακόμα. Ξέρετε, τα σημεία δεδομένων μας τώρα είναι ό, τι έχω μάθει ήταν δυνατή. Και στη συνέχεια το 50 μερικές οι άνθρωποι που έχουμε τοποθετηθεί, γνωρίζουμε γενικά όπου και αν βρίσκονται. Και εικασία μας είναι ότι κάποιος ο οποίος έρχεται μέσα CS50 πρόκειται να είναι γενικά τόσο εξειδικευμένο όπως μερικοί από τους ανθρώπους που έχουμε έχει ήδη τοποθετηθεί με επιτυχία. Γι 'αυτό και δεν έχουν αποδειχθεί ακόμα η κλίμακα. Και δεν λέω ότι είναι μια ολοκληρωθεί στον τομέα της εκπαίδευσης, με οποιοδήποτε μέσο. Αλλά είναι μια τέτοια μεγάλη έναρξη. Και αυτό δίνει στους ανθρώπους ένα πλαίσιο. Και επίσης, ξέρεις, Είναι μια αυστηρή τάξη. Έτσι, όποιος ολοκληρώνει αυτό τάξη έχει αποδειχθεί κάτι. Ότι έχουμε αποδείξει κάποια χαρακτήρα ή ένας συνδυασμός σας γνωρίζουν, είτε αντοχής ή ευφυΐας, ή όποια και αν είναι η μαγική συνταγή που τους παίρνει μέσα η πολύ σκληρή κατηγορία, πιστεύουμε ότι πρόκειται να προοιωνίζεται πολύ καλά για την επιτυχία τους. Και έχουμε εταιρείες που είναι πρόθυμοι να δημιουργήσετε αντίγραφα ασφαλείας σε αυτό. Έτσι, γι 'αυτό πραγματικά δεν ξέρω. Αλλά είμαστε πολύ αισιόδοξοι ότι κάποιος που παίρνει μέσα από CS50, μπορούμε να πάρουμε μια θέση εργασίας. BRENDAN LIND: Και το πράγμα είναι ότι δεν είναι LaunchCode σαν τυπικό ενοικίαση επίπεδο εισόδου σας. Σωστά, δεν είναι εκεί θα έρθει και να πει συνήθως μπορεί να χρειαστεί ένα C.S. πτυχίο και δύο χρόνια δουλειάς εμπειρία για να πάρει πολλές θέσεις εργασίας, έτσι δεν είναι; Στη συνέχεια, όμως, LaunchCode έρχεται, σας Δεν χρειάζεται κανένα από αυτά τα πράγματα. Δεν χρειάζεται να είναι προσόντα σε εκείνο το σημείο. Πού θα πρέπει να είναι είναι ότι έχει ικανότητα και το αυτοκίνητο για να φτάσουμε σε αυτό το επίπεδο. Έτσι είναι μια μαθητεία. Και αυτό διαρκεί μέχρι να είστε σε αυτό το επίπεδο, όπου θα πρέπει να φέρει σε για την κανονική θέση. Και η εταιρεία μπορεί να αφήσει να πάτε σε οποιοδήποτε σημείο. DAVID J. MALAN: Έτσι, οι εταιρείες είναι αυτοί κάνουν, τελικά, ότι η αρχική σύμπραξη. BRENDAN LIND: Σωστά. Έτσι τι CS50 - τι είμαστε κάνει προσπαθούμε να κάνουμε με CS50 είναι να φτάσουμε στο σημείο όπου Στη συνέχεια, hey, αν μπορείτε να πάρετε CS50, όπως έχετε αυτή τη μονάδα, έχετε αυτή τη θέληση για μάθηση, και έχετε αυτή την ικανότητα να αυτο-να μάθουν και να εργαστούν σε μια εταιρεία, να χειριστεί ό, τι είναι αυτό που χρειάζεται. Και τότε μπορούμε να τους πάρει, τα πάρουμε στην πόρτα. Και θα πληρωθώ, θα πληρωθείτε $ 15 μια ώρα κατά τη διάρκεια της μαθητείας. Και κάθε φορά που είστε έτοιμοι, η εταιρεία τους μετατρέπει σε μια έμμισθη θέση. Εάν δεν το πράξουν, αν η εταιρεία δεν πιστεύουν ότι είναι στο δρόμο τους, μπορούν να τους αφήσουμε να πάνε. Και μέχρι στιγμής, ότι η επιτυχία είναι ότι λίγο πολύ όλοι είναι ακόμα με την παρέα τους. DAVID J. MALAN: OK. Έτσι, τώρα είστε επικεντρώθηκε σε Saint Louis, αλλά υποθέτω θα θέλατε να να αναλάβει την πρωτοβουλία σε εθνικό επίπεδο. Έτσι τι είναι πράγματι δίπλα σας; JIM McKelvey: Έτσι, το επόμενο είναι μία σειρά των πόλεων σε όλη τη χώρα. Έτσι, δεν θέλουμε να πάει εθνική μέχρι να βελτιώσει το μοντέλο, και ίσως θέσει ένα ζευγάρι από αυτά πεζοδρόμια μέσα από το χώμα. Η ολοκλήρωση αυτής της πρώτης κατηγορίας CS50 είναι πρόκειται να είναι πολύ σημαντικό, διότι παίρνουμε καλά στοιχεία από αυτό. Αλλά από τη στιγμή που γνωρίζουμε τι λειτουργεί και τι που πραγματικά πρέπει να κάνουμε και την κλιμάκωση, Στη συνέχεια θα πάμε να αναβαθμίσουν το ταχύτερο δυνατόν, διότι η ανάγκη υπάρχει παντού. Και εμείς δεν προσπαθούμε να κάνουμε αυτό κάποια είδος τοπικής, Saint Louis φαινόμενο. Εμείς απλά χρησιμοποιούν ότι ως κλίνη δοκιμής. Και τότε θα πρέπει να επεκτείνεται Ξέρετε, όσο πιο γρήγορα μπορούμε σε μέρη που έχουν παρόμοιες ανάγκες. DAVID J. MALAN: Λοιπόν, σας ευχαριστώ πολύ για όλα όσα έχετε κάνει. Είμαστε κολακευμένος ακόμη και να είναι μέρος της. Ήταν αρκετά ενθαρρυντική. JIM McKelvey: Σας ευχαριστώ. Αυτό δεν ήταν τόσο γενναιόδωρη από απλά μια εκπαίδευση παγκόσμιας κλάσης που είναι διαθέσιμο για τους ανθρώπους που πραγματικά το εκτιμώ. Μακάρι να μπορούσε να ανταποκριθεί μερικοί από τους μαθητές και να δούμε τους ανθρώπους που σας Ξέρετε, αυτό αλλάζει τη ζωή. Και θα ήθελα απλώς θα μπορούσαμε να φτάσει μέσω οι κάμερες και να τους φέρει εδώ. Αλλά είναι τόσο σημαντική. Και αυτό κινείται η βελόνα και αυτό είναι πολύ καλό. Σας ευχαριστώ λοιπόν. DAVID J. MALAN: Thank σας από εμάς. Το εκτιμώ. Ευχαριστώ πολύ για την ένταξή μας. launchcodestl.com για περισσότερα. Έτσι, πιάσαμε κουβέντα λίγο μετά από αυτό κουβέντα για το τι περισσότερο θα μπορούσαμε να κάνουμε. Και ήρθαμε από την ακόλουθη. Είμαστε στην ευχάριστη θέση να ανακοινώσει την πρώτη CS50 Hackathon ότι θα πρόκειται για το δρόμο για την Αγία Louis. Η έκδοση LaunchCode. Στην πραγματικότητα, θα πρέπει να πάρουμε μαζί μας, αν θέλετε να πληρούν αυτοί οι λαοί. Εάν εσείς οι ίδιοι το χαλάζι από το St Louis, ή τελικά θα όπως και να συντονιστείτε σε απευθείας σύνδεση, το CS50 δική Andrew θα είναι εκεί. CS50 του Chang, Colton, Dan, τον οποίο μόλις συναντήθηκαν, Devin, Gabriel, Jason, Ramon, που μπορείτε επίσης συναντήθηκε νωρίτερα. Rob Bowden, Σέλι, το οποίο θα μπορεί να θυμούνται από ταινίες όπως - και [? Zemaila?]. Έτσι, πράγματι, αν θα θέλατε να ελάτε μαζί μας στο Σαιντ Λούις ή σε απευθείας σύνδεση σε live.cs50.net, συντονιστείτε για το επόμενο live show την Παρασκευή 28 Μαρτίου στις 6:00 μ.μ. Ανατολική ώρα. Εμείς πάμε για να είναι σε εγρήγορση για αρκετά από λίγες ώρες ότι το βράδυ. Και ελπίζουμε ότι θα μείνετε με εμάς. Αυτό είναι για το Live CS50 αυτής της εβδομάδας. Ευχαριστώ πολύ για όλους πίσω από την κάμερα. Ευχαριστώ τόσο πολύ για να συνεισφέρουν μας. Θα σας δούμε στην Αγία Louis, αυτό ήταν CS50. RAMON: Τι λέει η αλεπού πω;