[ΙΣΤΟΡΙΚΟ NOISE] Λειτουργεί? PATRICK REBESCHINI: Μπορούμε να ξεκινήσουμε. ΕΝΤΆΞΕΙ. Εξαιρετική. Ας αρχίσουμε. Γι 'αυτό είναι η μεγαλύτερη χαρά μου να σας καλωσορίσω εδώ σήμερα για την πρώτη διάλεξη του, καλά, Εισαγωγή να Πληροφορική και Προγραμματισμός. Επίσης γνωστό ως CS50 ή καλά, CPSC 100, επίσημα εδώ στο Yale. Γι 'αυτό και δεν θα μπορούσε να είναι πιο ενθουσιασμένοι να σας καλωσορίσω εδώ. Το όνομά μου είναι Patrick Rebeschini. Είμαι ο εκπαιδευτής κεφάλι για την τάξη. Είμαι εδώ αντιπροσωπεύει μια ομάδα περίπου 60 μέλη του προσωπικού ότι θα συνεργαστεί μαζί σας τη διάρκεια του εξαμήνου. Αυτός ο αριθμός είναι σχεδόν 60 από εμάς. Ωστόσο, κατά μήκος της έκτακτης επίπεδο των αναλήψεων υποχρεώσεων ότι βάζουμε σε αυτό τάξη, κάνει CS50 η τάξη στο Πανεπιστήμιο του Yale ΟΤΙ προσφέρει το μεγαλύτερο επίπεδο υποστήριξης σε όλους εσάς. Και δεν θα μπορούσε να είναι πιο περήφανοι για προσφέροντας αυτής της κατηγορίας εδώ και πάλι. Στην πραγματικότητα, όπως θα αντιμετωπίσετε σύντομα, CS50 είναι κάτι πολύ περισσότερο από μια τάξη. Είναι μια κοινότητα. Και θα είστε μέρος Μόλις αυτής της κοινότητας. Αυτή είναι η δεύτερη χρονιά που Yale προσφέρει αυτή την κατηγορία. Χτίζουμε στην ακραία επιτυχία του περασμένου έτους, όπου για πρώτη φορά, εδώ σε αυτό το πανεπιστήμιο, προπτυχιακό βοηθός μάθησης εκδόθηκαν στις αίθουσες διδασκαλίας. Όλα ξεκίνησαν με αυτή η κατηγορία πέρυσι. Έτσι, όπως γνωρίζετε, η τάξη διδάσκεται από κοινού με το Πανεπιστήμιο του Χάρβαρντ. Για να διδάξουν αυτό το μάθημα είμαστε relying-- μπορούμε υπολογίζει στην μεγάλη εμπειρία της David Malan και η ομάδα του Χάρβαρντ. Έτσι, ο David έχει διδάξει CS50 για καλά, 10 χρόνια τώρα. Και κάθε χρόνο, υπήρξε ωθώντας τα όρια και βελτιώνοντας την εμπειρία στην τάξη. Και πάλι, θα μπορούσαμε να μην είναι πιο ευτυχείς να συνεχιστεί αυτή η συνεργασία μαζί τους. Στην πραγματικότητα, ένα από τα πιο ενδιαφέροντα μέρη, Θα πω της λειτουργίας αυτής της κατηγορίας τώρα, τόσο στο Χάρβαρντ και εδώ στο Yale, είναι το πραγματικά απίστευτο διασταύρωση των ιδεών, με στόχο τη βελτίωση της μαθησιακή εμπειρία σε όλους σας. Έτσι, ως αποτέλεσμα αυτής της εκτεταμένης συνεργασία μεταξύ των δύο πανεπιστήμιο, CS50 είναι υπερήφανο για να ανακοινώνει τη νέα έκδοση του τρέχοντος έτους με αξιοσημείωτες αλλαγές. Ο David θα μας πει όλα γι 'αυτούς τώρα. Έτσι please-- αυτό το ον είπε, παρακαλώ μαζί μου και καλώς ήρθατε για να δώσει μια μεγάλο χειροκρότημα να καλωσορίσω τον David και Η ομάδα του Χάρβαρντ εδώ στο Yale. [ΧΕΙΡΟΚΡΟΤΉΜΑΤΑ] DAVID Malan: Σας ευχαριστώ. Ευχαριστώ. Αυτό είναι CS50, Χάρβαρντ Πανεπιστημίου και την εισαγωγή του Πανεπιστημίου Yale στην πνευματική επιχειρήσεις της επιστήμης των υπολογιστών και η τέχνη του προγραμματισμού. Και τι σημαίνει αυτό είναι ότι αυτό το μάθημα τελικά, είναι για την επίλυση προβλημάτων. Πράγματι πολλοί από εσάς μπορεί να έχουν έρθει από το γυμνάσιο ή έχουν περάσει τα τελευταία δύο χρόνια αναρωτιούνται τι μερικοί από τους φίλους σας έκανε πέρυσι ή σε άλλες κλάσεις. Και όμως, η πραγματικότητα είναι, δεν έχει σημασία τι θα κάνετε στο τέλος της ημέρας σε αυτή την κατηγορία, πρόκειται να είναι περίπου επίλυση προβλημάτων. Και ως εκ τούτου, ίσως να λάβει κάποια διαβεβαίωση στο γεγονός ότι το 73% των φοιτητών που να λάβει αυτή την κατηγορία, τόσο εδώ στο Yale, καθώς και στο Harvard, Ποτέ δεν έχω λάβει μια τάξη CS πριν. Έτσι, αν κάθεστε εδώ το κοινό σήμερα αναρωτιούνται γιατί κάθεστε εδώ στο ακροατήριο σήμερα, ή ίσως απλά ακολούθησε μαζί με μερικούς φίλους, ή ίσως έχετε μια λίγο περίεργος για το τι επιστήμη των υπολογιστών και προγραμματισμού, να συνειδητοποιήσουν ότι οι περισσότεροι από τους συμμαθητές σας για να η αριστερά και προς τα δεξιά σας είναι πάρα πολύ στο ίδιο δημογραφικό. Και πράγματι, αν κοιτάξουμε στα στατιστικά στοιχεία του προηγούμενου έτους μέσα στο σώμα των φοιτητών του CS50, τόσο εδώ και στο Χάρβαρντ, το 58% των μαθητών περιγράφουν τους εαυτούς τους ως λιγότερο άνετα. 9% είναι πιο άνετα. Και στη συνέχεια 33% είναι κάπου στο ενδιάμεσο. Και δεν υπάρχει επίσημος ορισμός του τι σημαίνει αυτοί οι κάδοι. Μπορείτε είδος ξέρετε ότι είστε λιγότερο άνετα αν είστε. Αισθάνεστε λίγο άβολα με ίσως να είναι στην τάξη. Δεν είσαι αρκετά σίγουρος αν ένας υπολογιστής τάξη της επιστήμης είναι τελικά για εσάς, και να συνειδητοποιήσετε ότι είστε σε πολύ καλή παρέα. Και πράγματι η ταξινόμηση, και την αξιολόγηση, και η ανατροφοδότηση, και όλα αυτά δομή στήριξης στην τάξη τελικά πολύ εξατομικευμένη. Περισσότερο από ό, τι τα περισσότερα από κάθε άλλη κατηγορία από το σχεδιασμό. Και πράγματι, αυτό που τελικά θέματα σε αυτή την κατηγορία δεν είναι τόσο πολύ, όπου θα καταλήξουμε up σε σχέση με τους άλλους, αλλά όπου, στην εβδομάδα 11 ή την τελευταία, και σε σχέση με τον εαυτό σας στην εβδομάδα 0 εδώ το πρώτο μας. Λοιπόν, τι σημαίνει αυτό; Λοιπόν, αυτό σημαίνει ότι από αυτά τα 73% των σπουδαστές πέρυσι που ποτέ δεν είχαν λάβει μια κατηγορία CS πριν, από το ξεκινήστε του εξαμήνου που ήταν αδέξιος σε γλώσσα που ονομάζεται Scratch, την οποία οι ίδιοι Θα δείτε εδώ σήμερα. Και από το τέλος της εξάμηνο αν είχαν φύγει μέσα από όλη αυτή τη λίστα των προκλήσεων. Ξεκινώντας με μια γλώσσα που ονομάζεται C. Εφαρμογής, τι είναι με την πρώτη ματιά, πρόκειται να είναι ένα κομμάτι της μια πρόκληση για κάποιους, αλλά αρκετά ευχάριστο από τη στιγμή που να πάρει το Super Mario αναπήδηση πάνω και κάτω μια πυραμίδα υλοποιηθεί, αν και, με μόλις κάτι που ονομάζεται τέχνη ASCII. Εκτελεστικών τελευταία year-- τι οι μαθητές του περασμένου έτους, στη συνέχεια, έκανε μετά από αυτό είχε εφαρμόσει τους δική κρυπτογράφησης του Καίσαρα και αλγόριθμος κρυπτογράφησης vigenère. Έτσι αλγόριθμους κρυπτογράφησης με την οποία θα μπορούσε να αγωνίζομαι πληροφορίες και στη συνέχεια αποκωδικοποιήσει πληροφορίες για την αποστολή μυστικών μηνυμάτων. Το παιχνίδι της 15. Αν θυμάστε από την παιδική ηλικία ή κάποια εύνοια συμβαλλόμενων μερών, αυτό το μικρό πλαστικό παιχνίδι, όπου μπορείτε να μετακινήσετε οι αριθμοί πάνω, κάτω, αριστερά και δεξιά να προσπαθήσει να τους πάρει με τη σειρά, ουσιαστική εφαρμογή αυτό το παιχνίδι και λύνοντας τη λογική που απαιτείται εκεί. Και τότε θα ασχοληθεί με εγκληματολογίας πέρυσι. Έτσι, από τα μέσα του εξαμήνου, φοιτητές οι οποίοι δεν είχαν ποτέ χρησιμοποιούνται τα πληκτρολόγια τους για το σκοπό αυτό, πριν, έγραφαν λογισμικού να ανακτήσει, να το πω έτσι, Αρχεία JPEG ή φωτογραφίες ότι είχαμε λάθος διαγράφεται από ένα ψηφιακό κάρτα μνήμης από μια φωτογραφική μηχανή. Ανάκτηση μυστικά μηνύματα από το εσωτερικό μιας εικόνας bitmap, και άλλα τέτοια είδη των γραφικών, καθώς και. Στη συνέχεια μεταπηδά στην παροχή όλη η τάξη ένα λεξικό. Ακριβώς ένα πραγματικά μεγάλο αρχείο κειμένου με 150.000 αγγλικές λέξεις. Και ο καθένας αμφισβητήθηκε με κάποιο τρόπο να διαβάσει, να το πω έτσι, αυτά τα λόγια στη μνήμη. Στη μνήμη του υπολογιστή. Και στη συνέχεια να απαντήσει σε ερωτήσεις της μορφής, είναι αυτή η λέξη; Είναι αυτό μια λέξη; Είναι αυτό μια λέξη; Πραγματικά ακριβώς την εφαρμογή ένα ορθογράφο. Και στη συνέχεια να προσβάλει κάθε άλλα με ένα μεγάλο board-- ένα πίνακα των νικητών για να δούμε ποιος θα μπορούσε να χρησιμοποιήστε το ελάχιστο ποσό της μνήμης, σε λιγότερο χρονικό διάστημα για να στην πραγματικότητα ορθογραφικό έλεγχο μεγάλων εγγράφων. Έχουμε μεταπηδά από τότε μέχρι την εφαρμογή της δικής αυτά του web server. Έτσι, δεν κάνει ιστοσελίδες σε γλώσσες όπως HTML και CSS, αν είστε εξοικειωμένοι. Αλλά στην πραγματικότητα την εφαρμογή Ο διακομιστής που ακούει στο διαδίκτυο για τις αιτήσεις από προγράμματα περιήγησης και στη συνέχεια να ανταποκρίνεται στα αιτήματα αυτά. Στη συνέχεια, την εφαρμογή της δικής μας e-εμπόριο, όπως ιστοσελίδα, όπου οι μαθητές θα μπορούσαν να αγοράζουν και να πωλούν τα αποθέματα. Αντλώντας σε σχεδόν πραγματικό χρόνο τιμές μετοχών από το Yahoo Finance. Και επιτρέποντας στους φοιτητές να δείτε πώς αναπτύσσεται το χαρτοφυλάκιό τους. Και τελικά ένα mash up του Google News και Google Χάρτες σύμφωνα με την οποία οι μαθητές με θητεία από τους όρους τέλη είχε τη δυνατότητα να κάνετε κλικ, και γύρο, και η αναζήτηση σε ένα χάρτη της Google. Και στη συνέχεια να δούμε το σύνολο των τα άρθρα ειδήσεων που είναι εγγύς σε αυτές τις συγκεκριμένες περιοχές. Έτσι πραγματικά πηγαίνει από μηδέν έως 60. Και στην πορεία που έχει ό, τι είχαμε πέρυσι ονομάζεται, προσθήκες χάκερ. Που ανεβάζουν τον πήχη περαιτέρω για όσους από εσάς που θα μπορούσε κάλλιστα να έχει μια καλή ποσό της εμπειρίας που είναι σε αυτό το 9% του πιο άνετα. Έτσι, συνειδητοποιούν ότι υπάρχει ένα πολύ υψηλό ανώτατο όριο ακόμη και σε εκείνες προκλήσεις για τους φοιτητές που προέρχονται από ένα διαφορετικό υπόβαθρο. Διότι στο τέλος του η ημέρα, είμαστε τελικά επικεντρώθηκε πολύ απλά σε αυτό. Αλλά τι κάνει αυτό σημαίνει, επίλυση προβλημάτων; Οπότε ας προτείνω εμείς απόσταξη σαν αυτό. Έτσι, η επίλυση προβλημάτων είναι πραγματικά ακριβώς αυτό το είδος της εικόνας. Έτσι έχετε εισόδους σε κάποιο πρόβλημα, κάτι που θέλετε πραγματικά να λύσει. Ο στόχος είναι να πάρει τα αποτελέσματα, μια λύση σε αυτό το πρόβλημα. Και στη συνέχεια, το μεσαίο είναι τι θα καλέσετε ένα μαύρο κουτί. Δεν ξέρετε αναγκαστικά ή ακόμα και με νοιάζει τι είναι μέσα σε αυτό το μαύρο κουτί. Το μόνο που ξέρω είναι ότι όταν ταΐζετε εισόδου σε αυτό, που ελπίζουμε να πάρετε εξόδου ή ένα διάλυμα από αυτό. Και ενώ σήμερα θα εξετάσουμε τόσο σε εισόδους και εξόδους, εμείς θα μακροπρόθεσμη, και πάνω από το διάρκεια ολόκληρου του εξαμήνου, επικεντρωθεί σε αυτό που είναι μέσα σε αυτό το κουτί. Και εκεί θα βρίσκονται κάτι που ονομάζεται αλγορίθμων. Βήμα προς βήμα οδηγίες για την στην πραγματικότητα επίλυση ορισμένων προβλημάτων. Αλλά τι είναι ένα παράδειγμα ορισμένων εισροών; Έτσι ίσως ένα απλό πράγμα το έναρξη κάθε σχολικής χρονιάς, κάποιος ίσως να θέλετε να πάρετε προσέλευση. Έτσι θα μπορούσαμε να κάνουμε ένα, δύο, τρία, τέσσερα, πέντε, έξι, και πώς θα κρατώ κομμάτι των πληροφοριών. Θα μπορούσε απλώς να πάμε ένα, δύο, τρία, τέσσερα, πέντε, έξι. Και απλά χρησιμοποιήστε το είδος της μονοψήφια. Ή θα μπορούσε πραγματικά να καταγράψει αυτό το λίγο πιο μακροπρόθεσμα. Και πώς μπορώ να εκπροσωπώ όλους οι άνθρωποι σε αυτό το δωμάτιο; Λοιπόν, θα μπορούσα να κάνω κάτι σαν, εντάξει. Βλέπω ένα άτομο. Εντάξει. Βλέπω ένα άλλο πρόσωπο, τρίτο πρόσωπο, και ούτω καθεξής. Αλλά κανείς δεν μετρά ανθρώπους σαν αυτό. Έτσι, κυριολεκτικά, οι περισσότεροι από εμάς, αν είμαστε ακόμα και πρόκειται να επιστήσω οτιδήποτε, είναι κατά πάσα πιθανότητα πρόκειται να πάει ένα δύο τρία τέσσερα, ίσως πάρει λίγο φανταχτερό, πέντε, έξι, επτά, οκτώ, εννέα, δέκα και ούτω καθεξής. Και αυτό είναι πραγματικά ένα σύστημα που ονομάζεται μοναδιαίος. Uno, όπως uno υπονοώντας μία, όπου μπορείτε απλά έχουν ένα γράμμα της αλφαβήτου. Έχετε μόλις πήρε αυτό δίεση. Και εγώ, για την αποδοτικότητα, μόλις επέστησε Αυτά τα σημάδια κατακερματισμού, τελικά, ως ευθείες γραμμές. Αλλά θα μπορούσα να τους που το μικρό φιγούρες. Πού να αντιπροσωπεύουν ένα άτομο, μία είσοδο, Απλά σχεδιάστε ένα ραβδί σχήμα ή μια δίεση. Αλλά αυτό δεν είναι το μόνο που εκφραστική. Αν το μόνο που έχω είναι αυτά hash σήματα, πόσο μάλλον φιγούρες, πώς θα μπορούσε να εκπροσωπώ κάτι σαν τον αριθμό 15; Ή 15 άτομα στο δωμάτιο; Θα μπορούσα να έχω να κάνω κάτι σαν 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. Απλώς δεν κλιμακώνεται πολύ καλά. Καθώς οι είσοδοι πάρει μεγάλες, εμείς χρειάζεται ένα καλύτερο σύστημα από αυτό. Και αποδεικνύεται ότι η σύστημα που χρησιμοποιούν υπολογιστές δεν είναι όλα αυτά διαφορετικά από ό, τι και ξέρω. Στην πραγματικότητα, οι περισσότεροι άνθρωποι σε αυτό το δωμάτιο, ακόμα και αν είστε μεταξύ εκείνων λιγότερο άνετα, δεν ξέρω κατ 'ανάγκην πώς το Mac ή το PC σας λειτουργεί πραγματικά, έχετε πιθανώς τουλάχιστον ακούσει, ότι κάτω από την κουκούλα είναι 0 και 1 του. Η λεγόμενη δυαδικό σύστημα. Έτσι, πράγματι, οι υπολογιστές έχουν περισσότερο από ό, τι απλά hash σήματα στο λεξιλόγιό τους, αλλά όχι τόσο πολύ από ένα λεξιλόγιο, όπως εμείς οι άνθρωποι. Πράγματι, εμείς οι άνθρωποι δεν χρησιμοποιούν δυαδικό. Bi σημαίνει 2, 0 και 1. Αλλά δεκαδικό, δεκα που σημαίνει 10, 0 έως 9. Έτσι έχουμε μια πολύ πιο εκφραστική ικανότητες σε φυσιολογικό ανθρώπινο κόσμο μας. Αλλά θα ήθελα να υποστηρίζουν ότι αυτά τα συστήματα, δυαδικό, και δεκαδικών, και τα πάντα στο μεταξύ και πέραν αυτής, είναι στην πραγματικότητα όλοι αρκετά εξοικειωμένοι. Για παράδειγμα, σκεφτείτε Αυτό το παράδειγμα εδώ, 123. Έτσι, αυτό που πραγματικά είναι, φυσικά, ένας αριθμός που γνωρίζουμε ως 123. Αλλά όλα θα ήθελα απλώς επέστησε ήταν ακριβώς αυτό μοτίβο σύμβολα, ιερογλυφικών να το πω έτσι. Ταξινόμηση των σχημάτων στον πίνακα με κιμωλία. Αλλά γιατί εμείς αμέσως και διαισθητικά αντιληφθεί αυτό ως 123; Λοιπόν, αν ήταν όπως μου στο σχολείο βαθμού, ίσως έμαθε ότι αυτή είναι η 1s στήλη, αυτή είναι η στήλη 10s, αυτή είναι η στήλη 100s. Και γιατί είναι αυτό χρήσιμο; Καλά, είναι απλή αριθμητική σας τώρα κάνετε για να πάρετε από ένα μοτίβο των συμβόλων σε έναν αριθμό καταλαβαίνουμε διαισθητικά. Είναι ό, τι, 100 φορές 1, και στη συνέχεια, 10 φορές 2 και 1 φορές 3, η οποία φυσικά είναι μόλις 100, και αυτό είναι 20, και αυτή είναι τρεις. Και έτσι αν προσθέσουμε εκείνους together-- Αχ. Έτσι, εκεί βρίσκεται το είδος της συλλογιστικής πίσω από τους οποίους αυτό το σύνολο των συμβόλων σημαίνει κάτι πραγματικό και αριθμητική. Λοιπόν, οι υπολογιστές κάνουν ακριβώς το ίδιο πράγμα, αλλά μόνο να μετράει ως ένα. Ενώ ήμουν σε θέση να μετράει ως το τρία. Και στην πραγματικότητα, αν συνεχίζαμε θα μπορούσα να πάει όσο πιο ψηλά εννέα σε αυτό το σύστημα. Υπολογιστές έχουν μόνο μηδενικά και αυτοί στο αλφάβητο τους. Λοιπόν, τι σημαίνει αυτό; Λοιπόν, αυτό σημαίνει απλώς ότι αν ένα υπολογιστή θέλει να εκπροσωπεί, δηλαδή ο αριθμός 0, ίσως με τρεις characters-- τρεις γράμματα του αλφαβήτου να το πω έτσι, αυτό είναι το πώς ένας υπολογιστής αντιπροσωπεύει 0. Έτσι, δεν είναι όλα τόσο τρομακτικό μέχρι στιγμής. Είναι ακριβώς ό, τι θα κάνουμε εμείς οι άνθρωποι. Και στην πραγματικότητα, οι περισσότεροι από εμάς θα ήταν απλά αγνοήσει τα αρχικά μηδενικά ούτως ή άλλως. Ένας υπολογιστής, αν θέλει για να αποθηκεύσετε τον αριθμό 1, Αποδεικνύεται πρόκειται να το κάνουμε αυτό. Και ένας υπολογιστής για να αποθηκεύσετε ο αριθμός 2 δεν είναι πρόκειται να κάνει το μοναδιαίο σύστημα, η οποία αναφέρθηκα νωρίτερα. Είναι πραγματικά πρόκειται να το κάνουμε αυτό. Και αυτό είναι πιθανώς όπου ξεκινά το μοτίβο να γίνει λιγότερο προφανές για τους περισσότερους λαούς. Αυτό είναι 2, αυτό είναι 3. Περιέργως, αυτό είναι τώρα 4. Και τώρα το κάνει πραγματικά φαίνεται να είναι ίσως αινιγματικά, αλλά δεν είναι αν αναλογιστούμε τι δυαδικό πραγματικά σημαίνει. Αυτό σημαίνει ότι έχετε δύο γράμματα του αλφαβήτου σας. Έτσι, δύο πιθανές χαρακτήρες για κάθε σύμβολο κράτησης θέσης. Έτσι, αυτό σημαίνει πραγματικά θα πάμε να χρειάζονται ένα 1s θέση, ή 2s μέρος, ένα 4s θέση και, στη συνέχεια, 8, και 16, 32, και 64. Και ποια είναι η διαφορά; Όπως αυτά είναι 1, 2, 4, 8, 16, 32, 64. Και πριν είχαμε 110, 100,000, 10,000. Ποια είναι η ομοιότητα υπάρχει; Και ποιο είναι το σχέδιο; Ναι. Φοιτητής: Εξουσίες 2 αντί των εξουσιών της 10. DAVID Malan: Ναι. Δυνάμεις του 2 αντί για δυνάμεις του 10. Και έτσι, αν ήθελα να κρατήσω πρόκειται, 8, 16 και έτσι forth-- αλλά τώρα, αν έχετε αυτό το είδος του ιδέα, τώρα το δυαδικό σύστημα είναι πραγματικά αρκετά απλή. Γιατί είναι αυτό το μοτίβο 0 του στον κόσμο των υπολογιστών 0; Λοιπόν επειδή είναι 4 φορές 0, 2 χρόνους 0, 1 φορές 0 και θα έχετε 0. Γιατί αυτό είναι το νούμερο 1; Ίδιο σκεπτικό, αλλά τώρα έχουν ένα 1 στη στήλη 1. Γιατί είναι αυτό το 2; Έχουμε ένα 1 στο 2s στήλη. Και τότε πώς μπορώ να εκπροσωπώ λένε, τον αριθμό 7 σε δυαδική; Πείτε δυνατά. Φοιτητής: Τρεις 1s. DAVID Malan: Τρεις 1s. Έτσι, 1, 1, 1, διότι εμείς απλά πρέπει 4 συν 2 συν 1 μου δίνει 7. Εντάξει. Έτσι, από εκεί πώς μπορούμε να αντιπροσωπεύουν 8 με 3 σύμβολα κράτησης θέσης; Ναι. ΦΟΙΤΗΤΗ: 1, 0, 0, 0. DAVID Malan: Ναι 1, 0, 0, 0. Και όμως ίσως, εγώ το είδος της τεχνικής χρειάζεστε για να προσθέσετε ένα άλλο σύμβολο κράτησης θέσης στο διοικητικό συμβούλιο. Αν θέλω να χωρέσει ότι πράγματι Πρέπει να κάνουμε κάτι τέτοιο. Γι 'αυτό πρέπει πραγματικά να χρησιμοποιήσετε τώρα η 8s στήλη, και αυτό είναι εντάξει. Αλλά το περίεργο πράγμα στην πληροφορική είναι ότι αυτό πρόκειται να μας κοστίσει κάτι. Χρειάζεται περισσότερη μνήμη RAM στον υπολογιστή σας τώρα. Χρειάζεται περισσότερη μνήμη γιατί θα πρέπει να έχετε κάτι φυσική στο κατάστημα που πρόσθετο κομμάτι, να το πω έτσι. Δυαδικά ψηφία. Και πράγματι όλα αυτά που συνέβησαν Εδώ, όπως και το δεκαδικό σύστημα, αν θέλουμε να συνεχίσουμε να προσθέτουμε αριθμούς μέχρι και πάνω και πάνω, πάμε στο 5-6 σε 7-8 Είναι σαν να κουβαλά το 1, κυριολεκτικά. Και στη συνέχεια όλα τα άλλα πηγαίνει πίσω στο μηδέν. Αλλά πώς μπορούμε πραγματικά αντιπροσωπεύουν αυτά τα πράγματα φυσικά σε έναν υπολογιστή; Λοιπόν, στο τέλος της ημέρας, η μόνη φυσική είσοδος πηγαίνει στον υπολογιστή μου εδώ είναι το καλώδιο τροφοδοσίας, έτσι ηλεκτρικής ενέργειας ή τα ηλεκτρόνια από τον τοίχο. Και ναι, πώς μπορώ να πάρω από κάτι φυσική, όπως ότι στην πραγματικότητα αντιπροσωπεύει μια ιδέα όπως αυτό αντ 'αυτού. Λοιπόν, τι θα μπορούσαμε να κάνουμε; Θα μπορούσαμε να θεωρούν ότι, εντάξει, ίσως αν η ηλεκτρική ενέργεια ρέει Θα μπορούσα να το αποθηκεύσετε και να κρατηθεί από αυτό. Και αν είμαι εκμετάλλευση σε κάποια ηλεκτρική ενέργεια, ότι ακριβώς πρόκειται να αυθαίρετα αντιπροσωπεύουν ένα 1. Και αν μπορώ να τραβάτε την πρίζα και δεν υπάρχει τίποτα εκεί, ξέρετε ότι είναι ακριβώς πρόκειται να εκπροσωπεί αυθαίρετα ένα 0. Έτσι, αν κάτι υπάρχει, 1. Αν δεν υπάρχει, 0. Ή μπορείτε να κάνετε αυτό λίγο περισσότερο οπτική. Εδώ είναι 0. Δεν υπάρχει τίποτα ενδιαφέρον εξέλιξη σχετικά με σχετικά με το πίσω μέρος του τηλεφώνου μου. Αλλά αν μου επιτραπεί μια μικρή κομμάτι της ηλεκτρικής ενέργειας να ρέει, ακόμα κι αν είναι ένα μικρό φωτεινό εδώ, φακό μου πήγε σε. Έτσι είμαι αποθήκευση ενός φορτίου και άρα, Αυτό το τηλέφωνο αποτελεί σήμερα ένα 1. Έτσι, 0 1. Έτσι, με 1 iPhone πόσο ψηλά μπορώ μετρήσει τη χρήση αυτού του είδους την προσέγγιση; Εννοώ να 1. Δεν είναι όλα αυτά συναρπαστικό. Έτσι, τι περισσότερο θα μπορούσαμε να κάνουμε; Λοιπόν ας δούμε, είναι ο καθένας για τους τηλέφωνο αυτή τη στιγμή ότι θα μπορούσα να δανειστώ; Όποιος έχει ένα τηλέφωνο με ένα φακό που χτίστηκε το; Μπορώ να δανειστώ? Δεν χρειάζεται να ξεκλειδωθεί. Εντάξει. Ευχαριστώ. Επιτρέψτε μου να δανειστώ αυτό. Εντάξει. Έτσι, αν μπορώ τώρα κύλιση προς τα πάνω και εδώ, τι είμαι εγώ που αντιπροσωπεύει τώρα; Ναι. Έτσι είναι τρεις, διότι αυτό είναι το 1s στήλη, αυτό είναι στη 2s στήλη. Έτσι, 1 συν 2 είναι 3. Και στη συνέχεια, αν προσπαθούμε να πάρετε πραγματικά creative-- OH, σας ευχαριστώ. Πολύ προτίμησης. Εντάξει. Τώρα έχω τρία iPhones. Εντάξει. Και τώρα this-- δεν θα το κάνω κάνει οποιαδήποτε περαιτέρω από αυτό. Τι είμαι εγώ που αντιπροσωπεύει τώρα; Απλά εφτάρια. Αλλά χρειαζόμουν σωματικά περισσότερη μνήμη σε αυτή την περίπτωση. Αλλά αυτό είναι το μόνο που είναι. Μπορείτε να σκεφτείτε τι συμβαίνει on-- Ευχαριστώ you-- στο εσωτερικό του τηλεφώνου σας όπως ακριβώς είναι ένας διακόπτης που είναι να ενεργοποιηθεί και να απενεργοποιηθεί. Και αν έχετε ακούσει ποτέ η λέξη τρανζίστορ. Ή αν έχετε ακούσει ποτέ το μάρκετινγκ μιλούν Intel στο εσωτερικό, ότι μιλάει με το είδος του υλικού αυτό είναι το εσωτερικό του υπολογιστή σας. Η Intel κάνει επεξεργαστές, κεντρικές μονάδες επεξεργασίας, που είναι σαν τα μυαλά στο εσωτερικό του υπολογιστή σας. Και αυτοί οι επεξεργαστές και πράγματα που είστε συνδεδεμένοι να έχουν πάρα πολλά μικροσκοπικά διακόπτες. Εκατομμύρια, δισεκατομμύρια διακόπτες ότι μπορεί να είναι είτε ή να απενεργοποιήσετε. Έτσι υπολογιστές, ευτυχώς, όπως Mac και PC μας, μπορεί να υπολογίζει τρόπο υψηλότερη από 7 ή 8 επειδή έχουν τον τρόπο περισσότερα από τρία ή τέσσερα bits. Τον τρόπο περισσότερο από το ισοδύναμο του τρεις φακούς που μόλις είχε. Αλλά τώρα αυτό αρχίζει να παίρνει πολύ πληκτικός γρήγορα. Αν τώρα θέλετε να είναι πράγματι σε θέση να κάνει κάτι πιο ενδιαφέρον, Θέλω να είμαι σε θέση να πηδήξει σε κάτι σαν αυτό. Έτσι ASCII, δεν είναι πραγματικά μια χρήσιμη ακρωνύμιο, αλλά American Προτύπου Κώδικα για την Ανταλλαγή Πληροφοριών. Σημαίνει απλώς, μερικά χρόνια Πριν εμείς οι άνθρωποι αποφασίσαμε, Ξέρεις τι, θέλουμε να είμαστε σε θέση να κάνουμε περισσότερο με τους υπολογιστές από ό, τι ακριβώς τους αριθμούς. Εμείς δεν τους να θέλουν απλά είναι ακριβά αριθμομηχανές, θα θέλαμε να είναι σε θέση να κάνουμε τα πράγματα όπως επεξεργασία κειμένου, αν και πολύ απλά. Αργότερα είχαμε ηλεκτρονικού ταχυδρομείου και άλλα τέτοια μέσα. Και έτσι ο κόσμος αποφάσισε μερικά χρόνια Πριν σύμφωνα με αυτό το σύστημα ASCII, ξέρεις τι? Σε ορισμένους τύπους προγράμματα κάθε φορά που θα δείτε το ισοδύναμο του αριθμού 65, όπως και το πρότυπο των bits. Και θα μπορούσαμε να κάνουμε το μαθηματικά εδώ στο διοικητικό συμβούλιο. Το μοτίβο των bits που αντιπροσωπεύουν το 65. Μην σκεφτείτε από το ως 65 στο δεκαδικό. Σκεφτείτε το ως αυθαίρετα, αλλά σε παγκόσμιο επίπεδο, με συνέπεια ως πρωτεύουσα ΈΝΑ. Και τότε ο κόσμος αποφάσισε, ξέρετε τι; Ας πάρουμε ένα άλλο μοτίβο των bits. Και αν δούμε ποτέ το αριθμός 66, ας υποθέσουμε ότι αυτή είναι η κεφάλαιο Β Fast forward στο H και εγώ, αν δείτε 72 ή 73, που θα πρέπει να είναι ένα Η και ένα Ι, αντίστοιχα. Και έτσι όσο το σύνολο κόσμος συμφωνεί επ 'αυτού. Έτσι ώστε όταν λαμβάνετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου, ή θα πάρετε ένα αρχείο σε ένα USB stick, ή κάτι σαν ερμήνευα-- όταν μπορείτε να δείτε αυτό το μοτίβο των bits, ξέρετε ότι θα πρέπει να είναι αυτό e-mail ή κάποιο άλλο γράμμα. Αλλά είναι συγκεκριμένο πλαίσιο, δεξιά. Ένα πρόγραμμα ηλεκτρονικού ταχυδρομείου μπορεί να ερμηνεύσει αυτά τα πράγματα ως χαρακτήρες, αλλά μια αριθμομηχανή γραφικών παραστάσεων ή αριθμομηχανή μπορεί να εκπροσωπεί ή να ερμηνεύσει αυτά τα πράγματα, φυσικά, όπως γράμματα. Έτσι, με ότι είπε, γρήγορο μικρό επανεξέταση. Αυτό είναι ίσως ένα τριών χαρακτήρων e-mail που έχουν αποσταλεί σε μένα. Κάτω από το καπό είναι όλα στο 0s και 1s, αλλά δεν με νοιάζει. Εμείς πάμε για να αρχίσει να αφηρημένη πάνω από τα 0 και 1 στα γράμματα. Και αν δω ένα μοτίβο από 0 και 1, ότι πραγματικά αντιπροσωπεύουν 72, hint, hint, 73, και στη συνέχεια 33, ποιο είναι το μήνυμα; Φοιτητής: [δεν ακούγεται] DAVID Malan: Έτσι, αν νομίζετε ότι Πριν από πίσω απλά μια στιγμή, HI ήταν το μήνυμα που προσπαθεί να επικοινωνούν εδώ, διότι H είναι 72, I είναι 73, και τώρα 33-- που δεν θα κατ 'ανάγκην το γνωρίζουν αυτό εκ των προτέρων, αλλά αποδεικνύεται σας αν πραγματικά δείτε περισσότερα από το διάγραμμα και το σύστημα ότι η ανθρωπότητα έχει συμφωνηθεί χρόνια πριν, είναι ακριβώς ένα θαυμαστικό. Και πράγματι, υπάρχει ένα μοτίβο σύμβολα και αριθμούς για κάθε χαρακτήρα ότι μπορεί να έχετε στο πληκτρολόγιό σας. Εντάξει. Ας αφηρημένη περαιτέρω. Αν δεν θέλουμε να έχουμε μόνο τα πράγματα όπως τους αριθμούς και τα γράμματα, θέλουμε πραγματικά να εφαρμόσει τα γραφικά. Λοιπόν, αν έχετε ποτέ ακούσει το ακρωνύμιο RGB. Είναι το είδος της με ημερομηνία τώρα, αλλά εξακολουθούν να είναι το είδος του εκεί. RGB είναι το κόκκινο, πράσινο, μπλε. Και είναι απλώς ένα σύστημα λέγοντας, ξέρετε τι, ας χρησιμοποιήσουμε τρεις σειρές από bits. Μια σειρά από 8 bits, ένα άλλο σύνολο των 8 bits, και ένα άλλο σύνολο των 8 bits. Και ας χρησιμοποιήσουμε αυτά τα bits για να αποθηκεύσετε το πόσο κόκκινο εμείς θέλουμε στην οθόνη μας, πόσο πράσινο θέλουμε στην οθόνη μας, και πόσο μπλε θέλουμε στην οθόνη μας. Και αυτό σημαίνει απλά ότι αν έχουν lot-- ένα μεγάλο αριθμό για το κόκκινο, αυτό σημαίνει να μου δώσει μια πολύ κόκκινο. Αν έχετε ένα μεγάλο αριθμό για πράσινο, να μου δώσει μια πολύ πράσινο. Και αν έχετε μόνο ένα μικρό κομμάτι μπλε ή ένα μικρό αριθμό, όπως 33, δώσε μου λίγο μπλε. Και αν τύχει να συνδυάσετε αυτές που τρία μεγέθη, να το πω έτσι, μπορείτε να πάρετε this-- που μόλις και μετά βίας μπορεί να δει σε ο προβολέας εδώ, αλλά αυτό το σκοτεινό απόχρωση του κίτρινου ή καφέ. Αλλά αυτό είναι να πούμε, χρησιμοποιώντας ότι μοτίβο των 8 συν 8 συν συν 8-- αυτό το μοτίβο των 24 bits είναι το πώς ένας υπολογιστής θα αποθηκεύσετε αυτή την απόχρωση του κίτρινου σε ένα μικροσκοπικό dot ένα pixel στην οθόνη. Έτσι, έχουμε περάσει από 0s και 1s σε δεκαδικό αριθμούς σε γράμματα του αλφαβήτου. Ή πιο ενδιαφέρουσα, χρωματιστές κουκίδες. Λοιπόν, αυτό που βέβαια τότε έρχεται το επόμενο βήμα; Λοιπόν, αυτό είναι μια εικόνα που δείτε στο Facebook ή να πάρετε σε ένα email; Ή κάτι παρόμοιο; Τι είναι ο ορισμός τεχνικά μιας εικόνας; Ναι. Τι είναι μια εικόνα που αποτελείται από αν εξετάσουμε πολύ κοντά στην οθόνη σας; Ναι. Είναι απλά ένα σωρό pixels. Στην πραγματικότητα, αν πάρετε σας laptop ίσως αργότερα, και να εξετάσουμε πολύ προσεκτικά σε it-- ανάλογα για πόσο ακριβά το laptop είναι και πόσο υψηλή ποιότητα της οθόνης είναι, θα μπορούσε κάλλιστα να τα δείτε όλα τα μικρά κουκίδες στην οθόνη. Και αυτές οι τελείες ή εικονοστοιχεία, πράγμα που σημαίνει ότι υπάρχει 24 bit που αντιπροσωπεύουν κάθε pixel από το ότι φωτογραφία που βλέπετε στο Facebook, ή ότι απλά πήρε στο iPhone σας πρόσφατα. Και έτσι αυτό είναι το πώς θα έχουμε σε πράγματα όπως τα γραφικά. Λοιπόν, τι είναι ένα βίντεο; Ένα βίντεο είναι απλά ένα σύνολο γραφικών φέρουν από την οθόνη και πάλι και ξανά και ξανά. Και έτσι βίντεο πραγματικά, είναι απλά μοτίβα των bits που εκπροσωπούν δίκτυα, σειρές και στήλες από τελείες, φέρουν από την εικόνα της οθόνης, μετά την εικόνα, μετά την εικόνα, γνωστός και ως κινηματογραφικές ταινίες. Έτσι, αυτό είναι για εισόδους και εξόδους. Το μόνο που έχουμε τώρα είναι μια παραδοχή ότι, θα ξέρετε τι, αν θέλουμε έναν υπολογιστή να εκπροσωπεί πληροφορίες, έχουμε ένα σύστημα για να γίνει αυτό. Μπορούμε να το κάνουμε με 0 και 1s στο τέλος της ημέρας. Αλλά μπορούμε αφηρημένη, έτσι να μιλήσει, στην κορυφή του ότι έτσι ώστε να αντιπροσωπεύουν περισσότερο ενδιαφέροντα πράγματα. Και εδώ και στο εξής στο CS50, και επιστήμη των υπολογιστών γενικότερα, τώρα στέκονται στους ώμους όλων των ανθρώπων που ήρθαν πριν από εμάς που κατάλαβα ότι έξω. Και τώρα απλά υποθέτουν ότι οι υπολογιστές μπορεί να αντιπροσωπεύει εισόδους και εξόδους. Αλλά τώρα ας πραγματικότητα να κάνουμε κάτι μαζί τους. Έτσι, ένας αλγόριθμος είναι απλώς ένα σύνολο των οδηγιών, βήμα προς βήμα, για την επίλυση κάποιου προβλήματος. Και τι θα μπορούσε ένα τέτοιο πρόβλημα είναι. Έτσι, αυτό είναι ένα παλιό σχολείο τεχνολογία, ένα τηλεφωνικό κατάλογο. Και το εσωτερικό του ένα βιβλίο του τηλεφώνου είναι σωρό ονόματα και αριθμούς. Και αυτά τα ονόματα είναι γενικά αλφαβητική σειρά. Έτσι, αν ήθελα να βρω κάποιον στο Αυτό το τηλέφωνο βιβλίο όπως ο Mike Smith, τι είναι ένα τυπικό ανθρώπινο πρόκειται να κάνει; Καλά, θα μπορούσατε απλά ανοίξτε it up, να δούμε την πρώτη σελίδα. Δεν βλέπω Mike Smith. Γυρίστε στη δεύτερη σελίδα, Δεν βλέπω Mike Smith. Και απλά συνεχίστε και πηγαίνει. Είναι αυτό το βήμα προς βήμα προσέγγιση σωστή; Ναι. Είναι το είδος του ηλίθιο, δεξιά. Είναι αναποτελεσματική, σωστά. Επειδή πρόκειται να πάρει για πάντα για να φτάσετε στο Mike, αλλά είναι σωστή. Διότι, αν ο Mike είναι εδώ Θα τον βρείτε πράγματι. Έτσι τι είναι ένα ελαφρώς πιο λογικός άνθρωπος πρόκειται να κάνει; Θα μπορούσε ακόμα να ανοίξει προς τα εμπρός, και ίσως να πετάξει μέσα από το βιβλίο του τηλεφώνου δύο σελίδες σε μια στιγμή. Δύο, τέσσερα, έξι, οκτώ. Δεν μπορώ πραγματικά φυσικά να το κάνει πολύ καλά. Αλλά στη θεωρία, αυτό θα πρέπει να είναι δύο φορές πιο γρήγορα, δύο σελίδες σε έναν χρόνο. Είναι σωστό αυτό αλγόριθμο; Φοιτητής: [δεν ακούγεται] DAVID Malan: Όχι απαραίτητα. Καλά. Γιατί η προειδοποίηση; Φοιτητής: Επειδή θα μπορούσε να είναι σε ένα των σελίδων που είστε παρακάμπτοντας. DAVID Malan: Ναι. Έτσι, ακόμη και αν έχω πάρει όλο και πιο κοντά. Τι και αν αυτός είναι απλά λάθος, από την κακή τύχη, ανάμεσα στις δύο σελίδες ότι είμαι πετούν πάνω; Έτσι, χρειαζόμαστε μια λύση για αυτό. Έχουμε πραγματικά ανάγκη να τότε λένε, περιμένετε ένα λεπτό, Ίσως αν πάμε πολύ μακριά, ίσως αν χτυπήσει το τμήμα Τ, για Τ έρχονται μετά Σμιθ, τότε θα πρέπει να τουλάχιστον διπλασιαστεί πίσω τουλάχιστον μία σελίδα. Έτσι επιδιορθώνεται, αλλά υπάρχει υπό όρους το θέμα εκεί. Γι 'αυτό είναι δύο φορές πιο γρήγορα, αλλά μπορεί να πρέπει να διπλασιαστεί πίσω μόνο ένα μικρό κομμάτι. Αλλά κανείς στο δωμάτιό του, ακόμα και αν δεν χρησιμοποιούν πραγματικά τα βιβλία του τηλεφώνου πια, πρόκειται να ξεκινήσουμε από την αρχή. Τι θα κάνεις ψάχνει για Mike Smith; Θα πάμε για να πάει περίπου στα S του. Ή αν δεν έχουν πραγματικά το σκονάκι στο χαρτί, θα πάμε για να πάει τουλάχιστον περίπου στη μέση. Και σίγουρα δεν είναι να το μπροστινό μέρος του βιβλίου. Θα πάμε για να κοιτάξουμε προς τα κάτω. Και μαθηματικά είστε πιθανώς πρόκειται να δείτε το τμήμα Μ, η οποία είναι περίπου στη μέση. Και μετά θα πάμε να συνειδητοποιήσει, τι είναι αλήθεια; Πού είναι ο Mike; Φοιτητής: [δεν ακούγεται] DAVID Malan: Ναι. Έτσι, αυτός είναι πάνω από αυτή την πλευρά. Και έτσι τι μπορείτε να κάνετε; Καλά, τόσο μεταφορικά και κυριολεκτικά μπορείτε να σχίσει το πρόβλημα στη μέση μια φορά; Και τότε ξέρετε ότι μπορείτε να ρίξει Αυτό το ήμισυ του προβλήματος μακριά. Και τώρα είμαστε αριστερά με ριζικά το ίδιο πρόβλημα, αλλά είναι το ήμισυ τόσο μεγάλη. Και έτσι τώρα ποια είναι η σύνολο οδηγιών; Τι είναι ο αλγόριθμος για την εύρεση Mike Smith; Είναι ακριβώς το ίδιο πράγμα. Τώρα αυτό συμβαίνει να είναι το M τμήμα και αυτό είναι το τμήμα Ζ, αλλά το θεμελιώδες τύπος εξακολουθεί να είναι το ίδιο. Πηγαίνετε περίπου στη μέση, κοιτάξει κάτω, ω, αυτό καταριέται. Τώρα είμαι στο τμήμα Τ, Έχω πάει πάρα πολύ μακριά. Αλλά κι εδώ μπορεί να σας εφαρμόζει την ίδια λογική. Πέτα το ήμισυ του προβλήματος μακριά και τώρα είμαστε άφησε με ένα πρόβλημα που είναι το ένα τέταρτο του μεγέθους. Και μπορούμε να επαναλάβουμε, και μπορούμε να επαναλάβουμε, και μπορούμε να επαναλάβετε μέχρι θεωρητικά υπάρχει μόνο μία σελίδα αριστερά το οποίο ο Mike είτε είναι είτε δεν είναι. Έτσι τι είναι τόσο ισχυρό για αυτήν την ιδέα; Θέλω να πω μετά από όλα, είναι αρκετά έξυπνο. Κανείς δεν πρόκειται να ξεκινήσει κατά τη αρχίζοντας από τον τηλεφωνικό κατάλογο και flip 1.000 σελίδες για να βρείτε Mike Smith. Ο καθένας σε αυτό το δωμάτιο θα να κάνει περίπου αυτό το είδος του αλγορίθμου αποθηκεύσετε για το σχίσιμο. Και έτσι γιατί το κάνουμε αυτό; Λοιπόν, να εξετάσει την αποτελεσματικότητα. Σκεφτείτε μόνο πόσο καλύτερα αυτή αλγόριθμο ήταν από το σπάσιμο αυτό κάτω στα συστατικά του. Έτσι τι έκανα το πρώτο κάνω; Πήρα τον τηλεφωνικό κατάλογο. Και ένας επιστήμονας υπολογιστών, και ένας προγραμματιστής, γενικότερα αποδεικνύεται, πρόκειται να αρχίσουμε να μετράμε τα πάντα στο 0. Γιατί; Λοιπόν, αυτό είναι λίγο περίεργο ότι εμείς οι άνθρωποι μετράνε, σε γενικές γραμμές, ξεκινώντας από το ένα. Επειδή αυτό είναι το μικρότερο αριθμό μπορούμε σαφώς αντιπροσωπεύουν βασίζονται ακόμα και στο παλιό μας σχολείο βαθμού μαθηματικά; Λοιπόν, ήταν 0, αν είναι σε δεκαδική ή δυαδική. Και έτσι θα δείτε στον κόσμο της πληροφορικής και του προγραμματισμού, Συγκεκριμένα, θα αρχίσουμε μετρώντας τα πάντα, από 0. Έτσι πήρα το βήμα τηλεφωνικό 0. Πάω να ανοίξει για το μέση του τηλεφωνικού καταλόγου. Και αυτό είναι πράγματι μια έκφραση του τι έκανα. Και τότε το δεύτερο βήμα ήταν ματιά στα ονόματα. Βήμα τρίτο είναι λίγο διαφορετικά εννοιολογικά. Ρωτάω τον εαυτό μου μια ερώτηση. Αν Smith είναι ανάμεσα στα ονόματα, Πάω να λάβει μια απόφαση. Αν αυτός είναι ανάμεσα στα ονόματα, τότε Πάω να καλέσω τον Mike. Και Πάω να λάβει μια απόφαση βασίζονται σε αυτό το κομμάτι των πληροφοριών. Ωστόσο, εάν όχι, εάν Smith είναι νωρίτερα στο βιβλίο προς τα αριστερά, Πάω να ανοίξει στη μέση του αριστερού μισού του βιβλίου. Και τότε εδώ είναι η εξυπνάδα, Πάω να πάει πίσω στο βήμα δύο. Πάω να ταξινομήσετε του σταθεί στα δικά μου ώμους και απλά επαναλάβετε την τελευταία δουλειά που έκανα. Αλλά η δουλειά μου έχει μείνει είναι λιγότερο, και λιγότερο, και λιγότερο. Αλλά είναι ακόμα πρόκειται να λειτουργήσει. Αλλά αν ο Mike, αντ 'αυτού, είναι μεταγενέστερη στο βιβλίο προς τα δεξιά, Πάω να ανοίξει στη μέση του δικαιώματος μισό του βιβλίου, Στη συνέχεια επιστρέψτε στο βήμα δύο. Αλλά υπάρχει πραγματικά ένα τέταρτο σενάριο. Mike, είτε εδώ, ή εδώ ή εδώ, or-- Φοιτητής: Δεν υπάρχει. DAVID Malan: Δεν υπάρχει. Και πράγματι, αν δεν αναμένουμε αυτό το τέταρτο και τελευταίο σενάριο το πρόγραμμά μας μπορεί να είναι προβληματικό ή πλημμελής κατά κάποιο τρόπο. Αλλιώς, κλείστε στην περίπτωση που δεν έχουμε βρει τον Mike καθόλου. Και πράγματι, αν έχετε παρατηρήσει ποτέ κρέμονται υπολογιστή σας, ή όλα Ξαφνικά λέξη ή κάποια άλλη το πρόγραμμα απλά κλείνει απροσδόκητα, και μερικές φορές σου λάθος μήνυμα κυριολεκτικά είναι αυτό. Αυτό το πρόγραμμα να κλείσει απροσδόκητα. Μπορεί να είναι για οποιοδήποτε αριθμό λόγων. Αλλά μερικές φορές είναι κάτι τόσο απλό όσο αυτό. Το ανθρώπινο προγραμματιστής ο οποίος έγραψε ότι το λογισμικό Δεν είχα συνειδητοποιήσει ότι, OH, υπάρχει ένα εμπρός πράγμα που μπορεί πραγματικά να συμβεί. Και αν δεν γράφουν κώδικα για να συλλάβει ότι το τέταρτο σενάριο, είναι πράγματι απροσδόκητο ενίοτε τι ο υπολογιστής θα μπορούσε πραγματικά να κάνουμε. Τώρα ας φωνάξουν ένα μερικά από αυτά τα πράγματα. Έτσι, σε κίτρινο εδώ, έχουν επισημανθεί όρους ότι πλέον είμαστε απλά πρόκειται να καλέσετε λειτουργίες. Λειτουργίες στον κόσμο της προγραμματισμού είναι ακριβώς όπως δράσεις, δηλώσεις των δράσεων. Έτσι pick up, ανοιχτή σε, κοίτα σε, κλήση, ανοικτό, ανοικτό, κλείστε το. Αυτή είναι μια λειτουργία, μια διαδικασία, μια δράση, οποιοσδήποτε αριθμός συνωνύμων θα λειτουργεί τόσο καλά. Τώρα, ποια είναι αυτά τα πράγματα τώρα σε κίτρινο; Εάν άλλο, αν άλλος, αν αλλιώς, αυτά είναι ό, τι θα πάμε να καλέσετε συνθήκες στον προγραμματισμό, ή υποκαταστημάτων, η απόφαση επισημαίνει, αν θέλετε. Αλλά πώς ξέρετε ποια πιρούνι στο δρόμο για να πάρει, να το πω έτσι; Πρέπει να επισημάνω οι όροι προς τα δεξιά υπάρχουν, τα οποία είναι αυτά ναι Οχι ΕΡΩΤΗΣΕΙΣ. Αυτές αλήθεια ψευδείς ερωτήσεις. Smith μεταξύ των ονομάτων; Smith νωρίτερα στο βιβλίο; Smith αργότερα στο βιβλίο; Αυτές είναι ερωτήσεις για να το οποίο υπάρχει ναι ή όχι, ή ισοδύναμα αληθινή ή ψεύτικη, ή αντίστοιχα, ένα ή μηδέν απάντηση. Και εν τω μεταξύ υπάρχει μόνο ένα τελευταίο κομμάτι. Αυτή εδώ έχει τι είδος του αποτελέσματος; Είτε θέλετε να προγραμματίσετε ή όχι πριν, πώς θα περιγράψετε τι βήμα επτά και 10 κάνουν; Τι είπες? Φοιτητής: Ένα αναδρομικό βήμα. DAVID Malan: Ένα αναδρομικό βήμα. Ναι, κατ 'ουσίαν. Είναι τεχνικά επαναληπτική εδώ, αν είστε εξοικειωμένοι. Αλλά θα επανέλθουμε σε αυτό. Αλλά κάνει κάτι με σαφήνεια. Και πάλι, αυτό είναι που προκαλεί μια κύκλο, έναν βρόχο, δεξιά. Είσαι κυριολεκτικά πηγαίνει πίσω σε κάποιο προηγούμενο στάδιο. Και έτσι πράγματι, αυτό πρόκειται να εφαρμόσουν κάποιο είδος του κύκλου. Αλλά εσείς δεν πρόκειται να πάρει κολλήσει σε αυτό ασταμάτητα, δεξιά. Διότι, αν είστε συνεχώς τον έλεγχο είναι Mike εδώ, ή προς τα αριστερά, ή όχι εδώ, τελικά δεν πρόκειται να είναι εκεί. Και μπορείτε απλά να εγκαταλείψει εντελώς σύμφωνα με την τελευταία γραμμή. Έτσι, αυτό είναι για το λεξιλόγιο. Και αυτό ήταν αυτό που κάνατε γενικά ονομάζουμε κωδικό ψευδοκώδικα. Δεν είναι μια πραγματική γλώσσα. Είναι απλά πολύ λακωνική αγγλικά, αλλά επικοινωνεί το σημείο. Δεν υπάρχει καμία επίσημη δομή εδώ. Μπορείτε απλά να χρησιμοποιήσετε είναι μερικά λόγια, αλλά ως σαφή λόγια όπως μπορείτε να επικοινωνήσουν την ιδέα σας. Τώρα πόσο καλό είναι ότι ο αλγόριθμος και πόσο καλύτερα είναι αυτό; Λοιπόν, δεν έχουμε να μπει η ιδιαιτερότητες των αριθμών ή τίποτα σαν αυτό. Αλλά μπορούμε να δούμε το διαμορφώνουν αυτού του διαλύματος. Έτσι, αν εμείς απλά αντλήσει κάποια xy οικόπεδο εδώ στον οριζόντιο άξονα εδώ. Ας καλέσει το μέγεθος του προβλήματος. Και ένας επιστήμονας υπολογιστών θα συνήθως χρησιμοποιούν n ως μεταβλητή εδώ. Έτσι n σελίδες, ή n άτομα σε ένα δωμάτιο, ή ό, τι είναι αυτό που προσπαθείτε να μετρήσει. Και στη συνέχεια στον κάθετο άξονα για την αριστερά, αυτό θα ήταν η ώρα να λύσουμε. Έτσι, πόσα δευτερόλεπτα το κάνει πάρε με να βρει τον Mike Smith; Ή πόσα μέτρα προτίθεται να λάβει; Πόσες σελίδα στροφές χρειάζεται; Έτσι ώστε να είναι πόσο κοστίζει μένα στο χρόνο για να λύσει ένα πρόβλημα. Και θα μπορούσαμε να επιστήσει την πρώτη αλγόριθμοι κλίση, αν θέλετε, όπως ακριβώς αυτή την ευθεία γραμμή με κόκκινο χρώμα. Και εγώ θα το ονομάσουμε n. Γιατί ν? Γιατί είναι ακριβώς αυτό σε μία σχέση; Λοιπόν, αν η Verizon ή ανεξάρτητα από τηλεφωνική εταιρεία προσθέτει μία ακόμη σελίδα στην ο τηλεφωνικός κατάλογος του επόμενου έτους, ότι θα μπορούσε να ωθήσει Mike ένα ακόμα βήμα πιο κοντά στο τέλος, ανάλογα με το πού αυτή η σελίδα είναι. Και έτσι το αποτέλεσμα θα μπορούσε απλώς είναι να προσθέσει ένα ακόμα δευτερόλεπτο. Ή ένα πιο σελίδα στροφή. Μια αναλογία ένα προς ένα. Αντιθέτως, η δεύτερη αλγόριθμος. Πόσο πιο γρήγορα ήταν ότι διαισθητικά; Πού πήγα δύο σελίδες σε μια στιγμή; Ναι. Φοιτητής: [δεν ακούγεται] DAVID Malan: Ναι. Γι 'αυτό πρόκειται να είναι δύο φορές πιο γρήγορα. Και εμείς θα ήθελε να επιστήσει ότι εδώ ανάλογα με την κλίμακα. Εξακολουθεί να είναι μια ευθεία γραμμή, αλλά χαμηλότερη από την κόκκινη γραμμή. Επειδή για κάποιο αριθμό των σελίδων, εάν χρειάζεται σας αυτό πολλά βήματα με το πρώτο αλγόριθμο, πρόκειται να σας πάρει τα μισά ως πολλά βήματα με το δεύτερο. Και έτσι η κίτρινη γραμμή περιγράφουν το δεύτερο αλγόριθμο είναι ακριβώς πρόκειται να είναι κάτω από αυτό. Αλλά τι είναι πραγματικά ισχυρό είναι να σκεφτείτε για το τρίτο και τελευταίο, και εκπληκτικά πιο έξυπνο αλγόριθμος, που έχει αυτό το σχήμα. Τεχνικώς θα λέγαμε αυτό μια λογαριθμική καμπύλη. Συνδεθείτε βάσης 2 του ν σε αυτή την περίπτωση. Αλλά αυτό δεν έχει σημασία. Αυτό που έχει σημασία είναι πραγματικά το θεμελιωδώς διαφορετικό σχήμα που έχει. Και μπορείτε να σκεφτείτε πόσο πολύ μικρότερο αυτή η γραμμή πραγματικά είναι μακροπρόθεσμα. Είναι συνεχώς αυξάνεται. Δεν ισοπεδώνω τέλεια. Αλλά μεγαλώνει ποτέ τόσο πολύ πιο αργά καθώς το πρόβλημα γίνεται όλο και μεγαλύτερο. Και μπορείτε να σκεφτείτε ότι αυτό τρόπο-- αν η Verizon δεν κάνει ακριβώς προσθέσετε μια σελίδα την επόμενη χρονιά, αλλά διπλασιάζεται ο αριθμός των σελίδων στον τηλεφωνικό κατάλογο, Ο πρώτος αλγόριθμος θα μπορούσε να λάβει δύο φορές τόσο πολλά βήματα. Αν είναι 1.000 σελίδες αυτό έτους, 2.000 σελίδες το επόμενο έτος, Mike θα μπορούσε να είναι ότι πολύ πιο μακριά. Έτσι είναι 1.000 επιπλέον βήματα για να τον βρει. Ο δεύτερος αλγόριθμος μπορεί να είναι μόνο 500 περισσότερα βήματα για να τον βρει, γιατί και πάλι, Πετάω μέσα από αυτό δύο σε έναν χρόνο. Αλλά τι γίνεται με το τρίτο αλγόριθμο; Αν Verizon διπλασιάζει το το μέγεθος του τηλεφωνικού καταλόγου το επόμενο έτος από το 1000 έως το 2000 σελίδες, πόσα περισσότερα βήματα είναι το τρίτο αλγόριθμο μου πρόκειται να πάρει; Ναι, αυτό είναι μόνο ένα. Και αυτή είναι η ισχυρή ιδέα. Μπορείτε να πάρετε 1.000 δάγκωμα σελίδα έξω από αυτό το πρόβλημα με τη μία. Και τώρα, αν σκεφτεί κανείς ένα ανόητο σενάριο, αλλά αυτό το είδος του μιλάει για την δύναμη αυτού του είδους της intuition-- αν ένας τηλεφωνικός κατάλογος είχαν, όπως, τέσσερα δισεκατομμύρια σελίδες, αισθάνεται σαν ένα πραγματικά μεγάλο πρόβλημα. Και πράγματι, θα μπορούσε να πάρε με τέσσερα δισεκατομμύρια σελίδα Αποδεικνύεται να βρει τον Mike Smith από το γεγονός ότι περίπτωση με το πρώτο αλγόριθμο. πώς, αλλά πολλά βήματα θα είναι να λάβει το τρίτο αλγόριθμο να βρείτε Mike μεταξύ των τεσσάρων δισεκατομμύρια κομμάτια χαρτιού; Έτσι, τέσσερα δισεκατομμύρια μπορείτε δάκρυ στο μισό. Μπορείτε να πάρετε δύο δισεκατομμύρια. Στη συνέχεια, ένα δισεκατομμύριο, τότε 500 εκατομμύρια, 250 εκατομμύρια, 125 million-- αλλά αισθάνεται σαν αυτό είναι πρόκειται να πάρει λίγο χρόνο. Θα μπορεί να χρειαστεί 32 δάχτυλα να μετρήσει μέχρι αυτό το ύψος. Αλλά είναι πράγματι ως λίγα όπως 32 σελίδα δάκρυα. Μπορείτε να πάτε από τέσσερις δισεκατομμύρια σε μία σελίδα διαχωριστική του αρχικού αριθμού σελίδες στο μισό 32 φορές έως ότου είστε αριστερά με απλά ότι μόνο σελίδα. Τώρα, βέβαια, είμαι εδώ εξαπάτηση. Δεν είναι ότι είμαστε ακριβώς είναι το είδος ηλίθια εξ ολοκλήρου με τα δύο πρώτα αλγορίθμων. Είμαι εξαπάτηση κατά κάποιο τρόπο, ή Πραγματικά είμαι αξιοποιώντας μια υπόθεση. Ποια ήταν η αλήθεια για τον τηλεφωνικό κατάλογο στην αρχική του μορφή που επέτρεψε Θέλω να χρησιμοποιήσουν ακόμη και αυτό το τρίτο αλγόριθμο; Ναι; Κοινό: Ήταν αλφαβητική. DAVID Malan: Ήταν αλφαβητική, σωστά; Αν ήταν μόνο σε τυχαία σειρά, αυτό είναι σπατάλη του χρόνου, όλη αυτή η συζήτηση. Θα πρέπει να εξετάσουμε κάθε σελίδα αν είναι σε τυχαία σειρά να βρείτε Mike Smith πριν μπορούμε να συμπεράνουμε ότι υπάρχει ή όχι. Και έτσι το έχουμε γωνία έχουν κοπεί είναι ότι έχω Υποτίθεται ότι κάποιος άλλος στην αυτή η περίπτωση έκανε τη δουλειά για μένα. Και έτσι ώστε τελικά να προσκαλεί το ερώτημα, καλά, περιμένετε ένα λεπτό. Πώς μπορείτε να ταξινομήσετε 1000 σελίδες των ονομάτων και αριθμών; Αυτό είναι πραγματικά ένα διαφορετικό πρόβλημα, κάτι θα επανέλθουμε στο μέλλον. Αλλά όταν σκέφτεστε για ιστοσελίδες όπως το Facebook και το Google για το Gmail και τα πράγματα όπως της Google δική ευρετήρια αναζήτησης, όταν έχετε εκατομμύρια ή δισεκατομμύρια τμήματα δεδομένων που αποθηκεύονται αυτές τις ημέρες, searching-- και να μην αναφέρω διαλογή αυτών των problems-- είναι τελικά μια πρόκληση από μόνη της. Και πράγματι, αυτό τότε είναι μόνο μία από αυτές τις προκλήσεις ότι θα πρέπει να εξετάσουμε. Έτσι τώρα ας ρίξουμε μια στιγμή και να ρίξετε μια ματιά στο CS50 το ίδιο και να σας δώσει μια αίσθηση της τι είναι στο κατάστημα αυτό το εξάμηνο. Πράγματι, αν δεν το έχετε κάνει ήδη, να ρίξετε μια ματιά σε αυτή τη διεύθυνση URL. Και όπως αναφέρθηκε Patrick να, φέτος είμαστε κάνει μια σημαντική επένδυση όλων η περισσότερο στην υποστήριξη του μαθήματος δομή σε σχέση με την ΕΥ και η ΑΠ, ώρες γραφείου, τμήματα διαθεσιμότητα, και ψηφιακά υλικά σε απευθείας σύνδεση, καθώς και. Πράγματι, από την άποψη του μαθήματος διάλεξη, είμαστε εδώ σήμερα. Και οι προσδοκίες αυτό έτους επίσημα του μαθήματος Οι παραστεί σήμερα, η πορεία του τελευταία διάλεξη, και ένα μάθημα περίπου στη μέση του εξαμήνου με κάθε διάλεξη στο μεταξύ διατίθενται γενικά την Παρασκευή το απόγευμα σε απευθείας σύνδεση, τόσο για τους φοιτητές του Yale και φοιτητές του Χάρβαρντ φέτος. Πράγματι, ένα από τα θεμελιώδεις αλλαγές είναι ότι είμαστε υιοθετώντας σε Harvard ένα παράδειγμα πολύ όπως κάναμε εδώ τον περασμένο έτους και τώρα αυτό το έτος, έτσι ώστε Ομοίως, εξακολουθούμε να κινηματογραφήσει τα περισσότερα των διαλέξεων του μαθήματος στο Cambridge αλλά θέτει στη διάθεση νωρίτερα από ό, τι στο παρελθόν έτσι ώστε αυτές των you-- αν θα ήθελε να, για παράδειγμα, να πάρει ένα προβάδισμα για τα υλικά σχετικά με το πρώτο Σαββατοκύριακο μάλλον από το δεύτερο Σαββατοκύριακο, θα έχετε πρόσβαση σε αυτά τα είδη υλικών, αναζήτησης, ενσωμάτωσης, hyperlinkable να σχετίζονται με τους πόρους όλη η προηγούμενη. Σε ό, τι από τα θέματα, για να σας δώσει μια αίσθηση trajectory-- του μαθήματος και μερικά από αυτό μπορεί να είναι ορολογία για τώρα, αλλά όχι για πολύ, να είστε σίγουροι. Θα ξεκινήσουμε σήμερα, εν τέλει, με την εξέταση ενός προγραμματισμού γλώσσα που ονομάζεται Scratch. Θα μετάβαση στη συνέχεια την επόμενη εβδομάδα σε κάτι που ονομάζεται C και, στη συνέχεια, κοιτάζοντας άλλο κτίριο μπλοκ για την επίλυση των προβλημάτων, πράγματα που ονομάζεται πίνακες και αλγορίθμους, πώς χρησιμοποιούμε τη μνήμη προς όφελός μας και μειονεκτήματα, και τα πράγματα όπως δομές δεδομένων, και στη συνέχεια προς το τέλος της ουράς του τάξη κοιτάζοντας μηχανική μάθηση και κοιτάζοντας ένα άλλο γλώσσα που ονομάζεται Python, πώς λειτουργεί το διαδίκτυο, πώς το Διαδίκτυο περισσότερο λειτουργεί σε γενικές γραμμές, πρωτόκολλα όπως HTTP, γλώσσες για τις βάσεις δεδομένων, όπως SQL, για το web JavaScript, και, τελικά, δένοντας τα αιτήματα αυτά συνολικά. Και έτσι πράγματι, κατά τη τέλος της ημέρας, μπορείτε Δεν θα μάθουμε σε αυτή την κατηγορία Scratch ή C ή Python ή SQL ή JavaScript. Μπορείτε αντί γενικότερα θα μάθετε επιστήμη των υπολογιστών και οι βάσεις αυτής, και θα μάθετε πώς να προγραμματίσουν σε οποιοδήποτε αριθμό από αυτά γλώσσες κατά μήκος του τρόπου. Έτσι, πράγματι, ένας από τους στόχους του μαθήματος στο τέλος είναι να απογειωθεί το σύνολο του μαθήματος ρόδες από αυτές τις τελευταίες εβδομάδες έτσι ώστε μετά από αυτό, μπορείτε να επιστρέψει στη δική σας fields-- αν αυτό είναι ή Δεν επιστήμη των υπολογιστών ή η μηχανολογία, στο φυσικό επιστήμες, τέχνες, ανθρωπιστικές επιστήμες, ή beyond-- και να φέρει μερικά από αυτό ιδέες Φυσικά και αυτό το πεδίο είναι ιδέες και πρακτικές δεξιότητες για το δικό σας domain με σκοπό την επίλυση των προβλημάτων σ 'αυτό. Τι θα κάνουμε εδώ εν τω μεταξύ στις περισσότερες Πέμπτες μετά τη σημερινή είναι με το κεφάλι του μαθήματος οδηγεί τι θα καλέσουμε περάσματα του προβλήματος σύνολα του μαθήματος. Έτσι, κάθε εβδομάδα, όταν έχουν θέσει ένα πρόβλημα, θα να με τα πόδια μέσα σε μια τοποθεσία όπως αυτό προκλήσεις του μαθήματος, σας προσφέρει μερικές συμβουλές και κόλπα και τεχνικές σχεδιασμού. Αλλά αν δεν είστε σε θέση να κάνουν εκείνοι σε πρόσωπο, συνειδητοποιήσουν οι ίδιες αυτές πόροι θα ενσωματωθεί από ένα από τα μαθήματος βοηθούς διδασκαλίας το πρόβλημα οι ίδιοι θέτει, όπως καλά. Το πρόβλημα που θέτει αυτό το έτος, σε αντίθεση με το περασμένο έτος, με βάση την ανατροφοδότηση, θα εξακολουθούν να κυκλοφορήσει την Παρασκευή. Αλλά αντί να είναι δεόντως η επόμενη Παρασκευή, δίνοντας έτσι το μόνο επτά ημέρες, θα είναι αποτελεσματικά οφείλεται 10 ημέρες αργότερα. Και πράγματι, αυτό θα σημαίνει ότι θα επικαλύπτονται από ένα Σαββατοκύριακο. Αλλά ελπίζουμε φέτος Ειδικά αυτό θα επιτρέπουν στους μαθητές να εξυπηρετούν καλύτερα άμπωτη και τη ροή στο πρόγραμμά τους, είτε πρόκειται για ακαδημαϊκούς ή εξωσχολικές δραστηριότητες ή τον κλασικό αθλητισμό ή ενδιάμεση εποχή. Μπορείτε είτε μπροστά φορτίο ή back-φορτίου εβδομάδα σας εστιάζοντας σε CS50 βάση σε πραγματικό φορτίο πορεία τη δική σας εβδομάδα. Το πρόβλημα θέτει τον εαυτό τους θα καλύψει μια σειρά από γλώσσες, αν και θα επικεντρωθεί κατά κύριο λόγο από νωρίς στο C πριν εστιάζουμε στη συνέχεια σε υψηλότερη επίπεδο, πιο web-centric γλώσσες. Και στη συνέχεια μια-δυο ερωτήσεις here-- θα πρέπει να λάβει μια τάξη, όπως CS50 ως πρώτο έτος; Τόσο απόλυτα. Και πράγματι, δεν είναι κατ 'ανάγκην κάτι θα πρέπει να αναβάλει έως ότου έχετε κόψει τα δόντια σας σε άλλους τύπους των τάξεων. Αλλά μάλλον, να εξετάσει ότι για πολλούς μαθητές, συμπεριλαμβανομένου και εμού πίσω στην ημέρα, αυτό είναι ένα πολύ άγνωστο πεδίο, ειδικά αν Ποτέ δεν λάβει ένα AP CSA ή κάτι τέτοιο στο γυμνάσιο. Αλλά συνειδητοποιούν ότι νωρίς, είτε πρόκειται για αυτό το μάθημα ή κάποιο άλλο εισαγωγικό μάθημα, Τώρα είναι πράγματι η καλύτερη στιγμή, Νομίζω ότι, για να βρουν κάποια νέα διαδρομή ή κάποια νέα ακαδημαϊκού ενδιαφέροντος, καθώς και. Και στη συνέχεια, λαμβάνοντας με άλλους courses-- έτσι μία από τις βασικές διαφορές εδώ έναντι του Χάρβαρντ είναι ότι μόνο εμείς διαρκέσει τέσσερα μαθήματα ανά εξάμηνο στο Harvard για κάποιο λόγο. Και εσείς πραγματικά τραβήξει off ορισμένες 36 μαθήματα συνολικά κατά τη διάρκεια τεσσάρων ετών σας, πράγμα που σημαίνει γενικά τέσσερις ή πέντε τάξεις. Και εγώ νομίζω ότι είναι αρκετά δίκαιο να πούμε και να αποποιούνται CS50, από το σχεδιασμό, είναι πιθανώς όχι ο τύπος της τάξης ότι θα πρέπει κατά κανόνα λαμβάνει με τέσσερις άλλους μαθήματα για συνολικά πέντε γιατί psets είναι από σχεδιάσει αρκετά εντατική. Πράγματι, εγώ έμαθα αυτό πίσω στην ημέρα. Δεν θα περιγράψω CS50 και επιστήμη των υπολογιστών, προγραμματισμού καθώς τόσο δύσκολο όσο είναι μόνο χρονοβόρα. Δεν είναι το είδος του πράγματος όπου μετά το δείπνο, μπορείτε μπορεί να πάει πίσω στο dorm σας δωμάτιο, καθίστε κάτω, και να αρχίσει εστιάζοντας στην PSET σκέφτεται, εντάξει, Εγώ θα κτύπημα αυτό έξω απόψε και στη συνέχεια να προχωρήσουμε στο επόμενο θέμα μου την επόμενη μέρα. Μερικές φορές απλά χτύπησε έναν τοίχο. Έχετε σφάλματα στον κώδικά σας. Δεν ξέρετε απαραίτητα πώς να λύσει κάποιο πρόβλημα. Και ένα από τα βασικά χαρακτηριστικά της προγραμματισμού για τον εαυτό μου σε αυτήν την ημέρα είναι απλά το είδος πρέπει να λάβει ένα βήμα πίσω μερικές φορές, κοιμούνται σε αυτό ή νομίζετε ότι σε αυτό κατά τη διάρκεια από ένα σκούντημα ή κάποια άλλη δραστηριότητα, και στη συνέχεια να επανέλθει για να το φρέσκο. Και θα πρέπει να έχετε ακριβώς αυτά τα παράθυρα του χρόνου. Και πράγματι, γι 'αυτό έχουμε επιμηκυνθεί το χρονικό διάστημα διαθέσιμα για τις προβληματικές σύνολα το τρέχον έτος και επίσης, ανά συγκεκριμένη διεύθυνση URL Έβαλα νωρίτερα ώστε να τι νέο υπάρχει αυτό το εξάμηνο, στολισμένα το πρόβλημα θέτει, έτσι ώστε ότι είναι θεμελιωδώς δεν είναι λιγότερο αυστηρή, και οι takeaways δεν είναι λιγότερο, αλλά υπάρχει πολύ λιγότερο μπροστά ύλης, πολύ λιγότερο legwork που θα πρέπει να κάνει στο μπροστινό μέρος του κάθε σετ προβλήματος, όπως θα δείτε, για να μπορέσετε στην πραγματικότητα βουτήξει στο κρέας του. Έτσι συνειδητοποιούν ότι αυτοί και άλλοι αλλαγές είναι στον ορίζοντα για να φιλοξενήσει καλύτερα τους μαθητές, αλλά, τελικά, για να βεβαιωθείτε ότι ότι οι takeaways είναι Πράγματι όσο το δυνατόν υψηλότερη. Έτσι, ενώ περισσότερη δουλειά από ό, τι θα μπορούσε να είναι σε μια τυπική τάξη, ελπίζουμε ότι οι αποδόσεις για εσείς και οι takeaways για σας και τις δεξιότητες και τις ιδέες με την οποία θα βγείτε είναι ακόμη πιο συναρπαστικό, ως αποτέλεσμα. Και για να σας πάρει there-- και αυτό είναι μία από τις βασικές takeaways, όπως αναφέρθηκε Patrick earlier-- είναι δομή υποστήριξης του μαθήματος. Έτσι, όχι μόνο δεν CS50 έχει ένα από οι μεγαλύτερες επιτελεία πορεία στην πανεπιστημιούπολη. Έχει, επίσης, ένα από τα πιο προπτυχιακό. Πράγματι, CS50 πέρυσι Ήταν η πρώτη τάξη να έχει ένα προπτυχιακό διδακτικό προσωπικό. Και απόδειξη για αυτή την επιτυχία κάνουμε τώρα πολλά άλλα μαθήματα στο Yale CS έχει ότι, όπως καλά. Και για τους φοιτητές, ειδικά, Θα Αυτά τα έργα τεχνικής βοήθειας και των βοηθών πορεία να υποστηρίζουν μια ολόκληρη δίκτυο πόρους υποστήριξης, Ανάμεσά τους τμήματα ή απαγγελίες, εβδομαδιαία ευκαιρίες να έχουν πιο στενή συζητήσεις και σχόλια του υλικού που στοχεύουν για διαφορετικές διαδρομές, για τους φοιτητές λιγότερο άνετη, πιο άνετα, ή κάπου ενδιάμεσα. Αυτά θα ακολουθήσει την διαθεσιμότητα οι διαλέξεις από αρκετές ημέρες κάθε εβδομάδα Δευτέρα και Τρίτη. Και τότε hours-- γραφείου one-on-one ευκαιρίες για βοήθεια από την ΑΠ πορεία και ΤΒ θα είναι την Τετάρτη και την Πέμπτη και Κυριακή στις πολλαπλές φορές, τα οποία όλα θα αναρτηθούν στην ιστοσελίδα του μαθήματος, ακόμη περισσότερο από πέρυσι, καθώς και. Αλλά τι είναι το κλειδί για την CS50, αν Δεν ομολογουμένως λίγο ασυνήθιστο, είναι ο πολιτισμός του μαθήματος ότι έχουμε προσπαθήσει να καλλιεργήσει, τόσο στο Cambridge για πολλά χρόνια και τώρα πιο πρόσφατα στο New Haven. Και στην πραγματικότητα, έρχεται αυτή η Σάββατο, αν δεν έχετε ακούσει, Είναι Ημέρα CS50 παζλ, το οποίο έχει τίποτα να κάνει με την επιστήμη των υπολογιστών αλλά είναι εξ ολοκλήρου σχεδιασμένο για να στείλετε ένα μήνυμα ότι η επιστήμη υπολογιστών είναι σχετικά με την επίλυση προβλημάτων. Και πράγματι, αν θέλετε να συνεργαστείτε με ένα ή δύο ή τρεις φίλους και αποτελούν μια ομάδα για CS50 Puzzle Ημέρα, ρίξτε μια ματιά στις διαφημίσεις που βρίσκονται στο δρόμο έξω. Και τρεις ώρες πίτσα και παζλ και βραβεία περιμένουν. Και πράγματι, για το πρώτη φορά φέτος, δεν θα πραγματοποιηθεί από κοινού με το Harvard. Θα είναι εδώ ανεξάρτητα σε Yale. Γι 'αυτό κρατήστε ένα μάτι έξω για εκείνοι, αν δεν έχετε. Οι περισσότεροι κάθε Παρασκευή στο εξάμηνο να προσπαθούμε να κάνει μια μεγάλη κατηγορία αισθάνονται μικρές και φέρει περίπου 50 φοιτητές στο μεσημεριανό γεύμα με το προσωπικό του μαθήματος, με τους αποφοίτους, τους φίλους από τη βιομηχανία για να μιλήσει σχετικά με το τι είναι η ζωή μετά από μια κατηγορίας, όπως CS50 και πάνω από τα καλοκαίρια και μετά την αποφοίτησή τους. Γι 'αυτό κρατήστε ένα μάτι έξω για προσκλήσεις σε αυτό. Για πρώτη φορά ποτέ φέτος θα έχουμε κατέχει την πρώτη CS50 κωδικοποίηση διαγωνισμό, μια προαιρετική δυνατότητα opt-in μέσα του εξαμήνου, μετά από όλα από εμάς είχαν περίπου έξι ή επτά εβδομάδες προγραμματισμού σε C κάτω από τις ζώνες τους να ανταγωνιστούν, αν θα τόσο choose-- και πάλι για teams-- προσπαθεί να λύσει όσες προκλήσεις όπως μπορείτε στον προγραμματισμό με τους φίλους σου εναντίον άλλων. Και προς την ουρά του εξαμήνου Θα έχουμε τσάρτερ μερικά λεωφορεία, περάσουν πραγματικά κάποιο χρόνο στο Cambridge, αν θέλετε ήθελαν να ενωθούν μαζί μας, για το λεγόμενη CS50 hackathon. Στη 19:00 θα ξεκινήσει. Γύρω 21:00, θα έχουμε πίτσα. Περίπου 01 π.μ., θα έχουμε burritos. Και κανείς ακόμα ξύπνιοι για το με το λεωφορείο στο σπίτι περίπου 5:00 π.μ., θα σταματήσετε για τηγανίτες στο IHOP στο δρόμο home-- μια ευκαιρία για 12 ώρες για να βυθίσει τον εαυτό σας με τους συμμαθητές και το προσωπικό στο τελικό σχέδιο του μαθήματος, η οποία είναι μια ευκαιρία να πάει πολύ πιο πέρα ​​από το πρόβλημα σύνολα μαθήματος και το σχεδιασμό και την εφαρμογή πιο κάτι που σας ενδιαφέρει, ότι τελικά θα είναι παρουσιάζονται εδώ σε Commons. Η πρώτη CS50 δίκαιη ήταν η τελευταία χρόνο, μια έκθεση στο τέλος του εξαμήνου ή γιορτή του αυτό που ο καθένας στην τάξη είχε καταφέρει, ιδιαίτερα εκείνες, και πάλι, ο οποίος πήγε από τίποτα σε κάτι, από μηδέν έως 60, που δεν έχουν προηγούμενη φόντο και εμφανίζουν, σε τελική ανάλυση, κάτι για όλη την πανεπιστημιούπολη και, αν σε απευθείας σύνδεση, ο κόσμος να δει, όπως καλά. Τώρα, αυτά εδώ είναι μερικά μόνο από τα ΕΥ και ΣΥ που κάνει CS50 είναι δυνατόν. Επιτρέψτε μου να καλέσει οποιοδήποτε των μελών του προσωπικού που είναι εδώ για να καταλήξουμε στη σκηνή, καθώς και το κεφάλι του μαθήματος, να προσφέρει μερικές λέξεις της έμπνευση, όπως καλά. ANDI: Γεια σας, παιδιά. Μπορεί εσείς να με ακούσει; Ευχαριστούμε για τη συμμετοχή μας σε αυτό όμορφη, βροχερό απόγευμα της Πέμπτης. Το όνομά μου είναι Andi. Είμαι μια junior στο Μπέρκλεϊ. Και μαζί με τον Στέλιο και το καλοκαίρι, θα είμαστε διδασκαλίας τρεις το κεφάλι σας βοηθούς για το επερχόμενο έτος. Έτσι, υποθέτω, επίδειξη hands-- πόσοι από εσάς δεν έχουν καμία πρόθεση να είναι ένα CS μεγάλες ούτε πραγματικά καταδύσεις σε βάθος στην επιστήμη των υπολογιστών ως ένα σημαντικό εδώ; Φοβερός. Αυτό είναι λαμπρή. Έτσι είμαι πραγματικά μια παγκόσμια θέματα και γνωστική επιστήμη μεγάλες. Έχω κυριολεκτικά ήρθε να Yale με την πρόθεση ποτέ δεν χρειάζεται να εξετάσουμε ένα αριθμός ποτέ ξανά στη ζωή μου. Όταν ήρθα στο Yale, αυτό ήταν κάτι που δεν ήταν ποτέ στο ραντάρ μου. Ήθελα να μάθουν για την ποίηση. Ήθελα να μάθω σχετικά με διεθνείς σχέσεις. Ήθελα να μάθω σχετικά με ακουαρέλα σχέδια. Ναι, προσφέρουμε μια τάξη στα σχέδια ακουαρέλα. Αλλά ποτέ δεν ήμουν πραγματικά ενδιαφέρονται σε τίποτα STEM σχετικό. Στη συνέχεια, όμως η παλαιότερη I πήρε, τόσο πιο κατάλαβα ότι σε κάθε τομέα πραγματικά σε ορισμένες αίσθηση απασχολεί την επιστήμη των υπολογιστών, ή αν δεν είναι επιστήμη των υπολογιστών, υπολογισμός. Στην πραγματικότητα, για την παγκόσμια μου υποθέσεων έργο επιστέγασμα, είμαστε χρησιμοποιώντας analytics δεδομένα να αναλύσει τις τρομοκρατικές επιθέσεις για Boko Haram της Νιγηρίας. Και έτσι όπως μπορείτε να δείτε, ανεξάρτητα από ποιο σημαντικές θα καταλήξουμε επιδίωξη ή ό, τι τα ενδιαφέροντά σας εδώ στο Yale είναι, τον προγραμματισμό και τα θεμέλια από ό, τι δεξιότητες είναι εξαιρετικά χρήσιμη. Και CS50 πραγματικά είναι καλά εξοπλισμένο για να είδος δανείσει ένα μεγάλο μέρος των πόρων του σε εσάς, ανεξάρτητα από το πόσο άνετα είστε ή πόσο ενδιαφέρονται είστε για τη συνέχιση της κατηγορίας. Καλοκαίρι πρόκειται να μιλήσουμε λίγο λίγο για το τι εσείς είστε πρόκειται να μάθουν για το τρέχον έτος. ΚΑΛΟΚΑΙΡΙ: Γεια, σε όλους. Είμαι Καλοκαίρι Γου. Είμαι μια junior στο Μορς. Και εγώ πραγματικά ξεκίνησε ως φοιτητής CS50 τον εαυτό μου. Έτσι, πριν από τρία χρόνια, ήμουν σε ένα χρόνο κενό. Ποτέ δεν είχα λάβει ένα CS τάξη στο γυμνάσιο, αλλά σκέφτηκα ότι στον ελεύθερο χρόνο μου, θα ήθελα να είναι δροσερό για να μάθετε πώς να κώδικα. Έτσι έκανα μια γρήγορη αναζήτηση στο Google, κοίταξε για ό, τι ήταν διαθέσιμο στο διαδίκτυο, και είδα αυτό το βίντεο με το Muppets και DJs και δροσερό ιστοσελίδες. Ήμουν όπως, θέλω να μάθετε πώς να το κάνουμε αυτό. Έτσι πήρα το μάθημα, και εγώ μόλις έπεσε στην αγάπη με αυτό. Αλλά θυμάμαι να είναι τόσο ζηλιάρης του τα παιδιά που θα μπορούσαν να παρακολουθήσουν το hackathon, παρακολουθήσουν Ημέρα παζλ, να παρακολουθήσουν το γραφείο ώρες, λάβετε βοήθεια από τεχνικούς βοηθούς στο πρόσωπο. Και γι 'αυτό ποτέ δεν φανταζόταν ότι θα έπαιρνα την ευκαιρία να συμμετέχουν εδώ σε η πορεία που πήρε αρχικά Θέλω να ενδιαφέρεται για τον υπολογιστή επιστήμη και είναι ο λόγος για τον οποίο Είμαι μια επιστήμη υπολογιστών σημαντική σήμερα. Γι 'αυτό θα σας προειδοποιήσω, αυτή την κατηγορία πρόκειται να σας τεντώσει. Δεν πρόκειται να σας πρόκληση. Αλλά είναι, επίσης, πρόκειται να σας διδάξει πώς να κάνουμε τα πράγματα ότι ποτέ δεν φανταζόταν θα μπορούσατε. ΣΤΕΛΙΟΣ: Γεια, σε όλους. Το όνομά μου είναι Στέλιος. Είμαι μια junior στο Branford College και ένα σημαντικό CS. Είμαι, επίσης, από την Αθήνα, Ελλάδα. Είμαι πραγματικά ανυπομονούμε σε συνάντηση όλους εσάς, κουβεντιάζοντας μαζί σας στο τμήμα, στο ώρες γραφείου, την Παρασκευή γεύματα. Είμαι πραγματικά ενθουσιασμένος γιατί έχουμε βάλει τόσο πολλή προσπάθεια για να δημιουργήσουμε μια μοναδική υποστήριξη δομή για όλους εσάς για να κάνουμε την εμπειρία σας με το Το μάθημα το καλύτερο δυνατό. Και ελπίζω ότι, αν και το μεγαλύτερο μέρος της έχετε πιθανώς να μην ληφθεί CS Φυσικά πριν, ελπίζω ότι είναι CS50 για σας είναι αυτό που προκαλεί το ενδιαφέρον να συνεχίσει περαιτέρω υπολογιστή επιστήμη στο μέλλον, όπως έχει γίνει με τόσο πολλοί άνθρωποι στο παρελθόν. Έτσι, σας ευχαριστώ για την εδώ, ενθουσιασμένοι να σας δούμε. Jason Hirschhorn. JASON Hirschhorn: Γεια, σε όλους. Το όνομά μου είναι Jason Hirschhorn. Ζω σε Silliman. Και πήγα στο Χάρβαρντ ως φοιτητής και ειδικεύτηκε στην κοινωνικές μελέτες και minored στην επιστήμη των υπολογιστών. Και ένας από τους κύριους ρόλους μου εδώ είναι να υποστηρίξει αυτό το υπέροχο προσωπικό όπως μπορείτε όλοι να υποστηρίξουμε. Στην πραγματικότητα, αυτό δεν είναι όλοι τους. Υπάρχουν 55 προπτυχιακούς και αποφοίτους εδώ για να σας υποστηρίξουμε όλοι. Και τολμώ να πω ένα από τα καλύτερα μέρη του μαθήματος για σας όλα είναι να πάρει να εργαστεί με τους, αρχίζουμε να τα γνωρίζουμε, να πάρει για να τους δει, τόσο σε CS50 και εκτός του CS50 αυτό το εξάμηνο και για πολλά εξάμηνα για να έρθει. Έτσι, ελπίζουμε ότι θα λάβει η Φυσικά, επειδή ελπίζουμε να σας πάρετε για να αλληλεπιδρούν με το υπέροχο προσωπικό που έχουμε στη σκηνή. ΟΜΙΛΗΤΗΣ: Λοιπόν, επιτρέψτε μου να τελειώσω λέγοντας ότι θα είναι διασκεδαστικό. DAVID Malan: Λοιπόν, χάρη σε όλη την ομάδα μας. Επιτρέψτε μου να χαμηλώστε τα φώτα και επιτρέπουν λίγο περισσότερο από την ομάδα μας, τόσο από το Cambridge και το New Haven, να πω ένα γεια και το αρχείο μακριά αυτά τα παιδιά. Και μετά από αυτό θα έχουμε μετάβαση σε η πρώτη από τις δεσμεύσεις του προγραμματισμού μας με αυτή τη γλώσσα ονομάζεται Scratch. Έτσι, χάρη στην ομάδα. Ας χαμηλώστε τα φώτα και ακούσει από μερικούς άλλους. [ΧΕΙΡΟΚΡΟΤΉΜΑΤΑ] [ΑΝΑΠΑΡΑΓΩΓΉ ΒΊΝΤΕΟ] -Η Αποστολή του CS50 είναι να κάνετε πιο άνετα με έναν εντελώς νέο τρόπο της σκέψης, αυτό το υπολογιστικό νοοτροπία. -Είναι Κατασκευασμένο επιστήμη των υπολογιστών ενδιαφέρουσα, η οποία είναι κάτι που δεν είχα πραγματικά συνειδητοποιήσει ήταν δυνατή μέχρι πήρα την τάξη. -I Ήταν σαν, whoa. Είμαι πραγματικά μεταφράζοντας τις σκέψεις μου σε έναν υπολογιστή τώρα. -έστω Και αν δεν έχετε κανένα υπόβαθρο στην επιστήμη των υπολογιστών ή οποιαδήποτε εμπειρία, Αυτό είναι στην πραγματικότητα η κατηγορία για εσάς. -Μέχρι Θέλω οπωσδήποτε μαθητές μου σε μόλις πάρετε ενθουσιασμένος για την επιστήμη των υπολογιστών. Όχι μόνο τον προγραμματισμό, αλλά σκέφτεται σαν επιστήμονας υπολογιστών είναι πραγματικά αυτό που θέλω να προσπαθήστε να διδάξει το καινούριο μου. -CS50 Είναι σκληρά και επιβράβευση. -Μια εμπειρία. -Αλλόκοτο θεατρικό έργο. -Είναι Μας φέρνει στο επόμενο επίπεδο. [ΜΟΥΣΙΚΗ Playing] -Οι TFs είναι, νομίζω, η ψυχή του μαθήματος. -I'm Ενθουσιασμένοι που έχουμε μαθητές μου βοηθάω έχουν αυτό το AHA στιγμή να συνειδητοποιήσουμε αυτό που στην πραγματικότητα προσπαθούν να κάνει, να καταλάβω πώς να κάνει μια το chipset. Είναι -CS50 σίγουρα ένα σκληρό μάθημα. Αλλά σε αντίθεση με οποιαδήποτε άλλη Φυσικά πραγματικά στο Yale, έχει μια τέτοια μεγάλη, υποστηρικτική κοινότητα. -Θα Απολύτως δεν κάνει χρειάζεται να γνωρίζετε τίποτα σχετικά με την κωδικοποίηση να είναι σε θέση να λάβει την πορεία. -Είναι Εκπληκτικό να παρακολουθήσετε πόσο μακριά οι άνθρωποι έρχονται σε ένα εξάμηνο. -Θα Δεν ήταν οι μόνοι που κάθεται στο το δωμάτιό σας να μάθουν να κώδικα, αλλά ήταν κάτι περισσότερο από μια τάξη. Ήταν μια εμπειρία. -Η Καλύτερος τρόπος για να μάθουν τις έννοιες και για την επεξεργασία τους είναι από τη διδασκαλία τους άλλους. -Ποιο Είναι το τηλέφωνο διάσπαση; [ΜΟΥΣΙΚΗ Playing] -Και Αυτό είναι CS50. [ΜΟΥΣΙΚΗ Playing] -Αυτό Είναι CS50. -Got Ένα πρόβλημα; Δάκρυ στη μέση. [ΜΟΥΣΙΚΗ Playing] Πετάξτε το. DAVID Malan: Εντάξει. Ας tackle-- σε λίγο bit, παρεμπιπτόντως, είναι ήταν αυτή η παράδοση για την κάποιος λόγος για 10 χρόνια για να εξυπηρετήσει κέικ κατά τη ξεκινήσει και το τέλος του CS50. Έτσι, σας περιμένουν στο τέλος του Σήμερα, εκτός από την διδακτέα ύλη, θα είναι κάποια κέικ, καθώς, και το προσωπικό του μαθήματος να πω ένα γεια. μετάβαση Αλλά τώρα, ας στην πρώτα απ 'τις γλώσσες μας, όπου θα περάσετε πραγματικά ακριβώς μια εβδομάδα και ένα πρόβλημα που σε αυτόν τον τομέα, Ξυστό. Και θα βρείτε αν έχετε προγραμματιστεί πριν, πολλοί των ιδεών και η δυνατότητες είναι γνωστά σε σας. Αλλά θα διαπιστώσετε ότι είναι διασκέδαση κατά μήκος του τρόπου για να καταλάβω ακριβώς πώς να μεταφράσει μερικές από τις ιδέες που ήδη γνωρίζετε σε αυτό το συγκεκριμένο περιβάλλον για να εντυπωσιάσει πραγματικά την οικογένειά σας και τους φίλους με την εργασία σας, η οποία μπορεί να να πάει σε απευθείας σύνδεση, αν το επιλέξετε, αργότερα. Και αν δεν έχετε προηγούμενη εμπειρία και είναι στην πλειοψηφία των φοιτητές λιγότερο άνετα, συνειδητοποιούν ότι πολλές από τις ιδέες που απλά διερευνηθούν με reality-- πράγματα όπως τα βιβλία του τηλεφώνου και τη συμμετοχή και έτσι forth-- μεταφράσει αρκετά καλά σε έναν υπολογιστή, αλλά αν δεν μπορείτε να χρησιμοποιήσετε, Αρχικά, μια γλώσσα σαν αυτό. Έτσι, αυτό είναι ένα πρόγραμμα γραμμένο σε μια γλώσσα που ονομάζεται Γ Και θα περάσουν αρκετά του χρόνου σε C, τελικά. Αλλά οι πιθανότητες είναι, αυτό θα φανεί λίγο αινιγματικά για να σας με την πρώτη ματιά. Στην πραγματικότητα, υπάρχει ένα πολύ παράξενο σύνταξη, παρενθέσεις, αγκύλες, άγκιστρα, εισαγωγικά, και ερωτηματικά. Και πράγματι, αν βουτήξει προγραμματισμός για πρώτη φορά κοιτάζοντας και προσπαθούν να δημιουργήσουν την ουσία όπως αυτό, ειλικρινά, μπορείτε να πάρετε τόσο βυθισμένη τόσο συχνά σε απλά ηλίθια λεπτομέρειας που δεν έχει τίποτα πνευματικά ενδιαφέροντα γι 'αυτό. Αλλά φανταστείτε εάν θα μπορούσατε να δημιουργήσετε αυτό το ίδιο program-- οποία, όπως μπορείτε να το είδος της συμπεράνουμε, πιθανώς τυπώνει "Hello, world» με κάποιο τρόπο ή τον άλλο. Μπορούμε να απόσταξη την ίδια ιδέα σε μόλις δύο κομμάτια του παζλ, αν θέλετε. Πράγματι, Scratch είναι ενδιαφέρουσα γιατί είναι αυτή η γραφική γλώσσα. Μπορείτε να μεταφέρετε αυτά κομμάτια του παζλ που μόνο interlock αν κάνει λογικό νόημα να το πράξει. Και έτσι το Ξυστό, θα δούμε σύντομα, αυτό είναι πώς θα εφαρμόσουν το ίδιο πρόγραμμα, με μόνο δύο κομμάτια του παζλ ότι λίγο πολύ κάνουμε ό, τι λένε. Αλλά θα δούμε ακριβώς σε μια στιγμή που ορισμένοι από τα δομικά στοιχεία που υπαινίχθηκε με τις προηγούμενες και μερικές ακόμα είναι όλα αυτά τελικά, πρόκειται να αποτελέσουν μερικά από τα πρώτα προγράμματα μας. Εμείς πάμε για να έχουν τα πράγματα όπως functions-- μόνο ενέργειες που κάνουμε κάτι, όπως λένε γειά σου, τον κόσμο. Εμείς πάμε για να έχουν βρόχους, πράγματα που προκαλούν κύκλους ξανά και ξανά, ακριβώς όπως εμείς έκανε πριν από λίγο με την αναζήτηση για Mike Smith. Μεταβλητών, όπως στην άλγεβρα, αν έχουν x ή y, που μπορεί να αποθηκεύσει έναν αριθμό. Λοιπόν, σε ένα πρόγραμμα, μπορείτε πραγματικά αποθηκεύουν περισσότερο από απλώς αριθμούς. Μπορείτε να αποθηκεύσετε τις λέξεις και φράσεις και τα γραφικά και άλλα πράγματα ακόμα. Boolean εκφράσεις, απλά questions-- ναι ή όχι, αληθείς ή ψευδείς. Συνθήκες, οι αποφάσεις αποφάσεων που βασίζονται σε αυτές ναι / όχι απαντήσεις. Και τότε εκτροφέα πράγματα όπως συστοιχία και τα θέματα και γεγονότα και οποιοδήποτε αριθμό άλλων χαρακτηριστικά, αλλά το σύνολο των οποίων χάρτης πολύ όμορφα με πολύ φιλική προς το μπλοκ σαν αυτό. Αυτό πρόκειται να είναι μια λειτουργία, μια μοβ κομμάτι του παζλ που απλά λέει τι is-- το όνομά του σε αυτήν την περίπτωση, λένε. Και τότε συχνά, υπάρχει ένα λευκό κουτί που σας να πληκτρολογήσετε ή να σύρετε κάποια αξία σε. Και αυτό είναι ό, τι είναι γενικά ονομάζεται ένα επιχείρημα ή μια παράμετρος. Είναι ένας τρόπος για να αλλοιώσουν το προεπιλεγμένη συμπεριφορά του παζλ κομμάτι ή μια λειτουργία, έτσι ώστε να κάνει κάτι προσαρμοσμένες για εσάς σαν να λέμε, γειά σου, ο κόσμος ή γειά σου, Andy ή γειά σου, Jason ή κάποια άλλη φράση αντ 'αυτού. Αν θέλετε να πείτε ότι ένα lot-- κυριολεκτικά forever-- μπορείτε να πάρετε ένα άλλο κομμάτι του παζλ που ονομάζεται πάντα και μόλις στριμώχνεται η δύο μαζί σαν αυτό. Και ότι βρόχο, όπως υποδηλώνει η εικόνα, σημαίνει απλώς να πω ένα γεια, πάντα κόσμο, ξανά και ξανά και ξανά. Ή, αν θέλετε μόνο να κάνουμε μια πεπερασμένο αριθμό φορών, όπως 50 φορές, εκεί πρόκειται να είναι ένα άλλο παζλ κομμάτι για ερμήνευα-- επαναλάβετε 50 φορές. Εν τω μεταξύ, αν θέλετε να έχουν ένα μεταβλητό σε αυτή τη γλώσσα είμαστε για να παίξει με, μπορείτε να χρησιμοποιήσετε ένα μπλοκ πορτοκαλί όπως αυτό. Και αυτή η μεταβλητή εγώ αυθαίρετα που ονομάζεται i για ακέραιο αριθμό. Και εγώ απλά ρυθμίστε ίση με 0. Και έτσι ίσως εγώ, σε αυτό το case-- αυτό variable-- αντιπροσωπεύει βαθμολογία κάποιου σε ένα παιχνίδι. Μπορείτε να ξεκινήσετε από το μηδέν, και κάθε φορά που να κάνει ένα γκολ ή κάτι τέτοιο, μπορείτε να πάρετε ένα επιπλέον σημείο. Μπορείτε να κάνετε ερωτήσεις στο Scratch. Αν drag and drop παζλ κομμάτια σε μια στιγμή όπως αυτή, μπορείτε να κάνετε ερωτήσεις, όπως, καλά, είναι θ μικρότερη από 50; Ίσως θα πρέπει να έχετε 50 πόντους για να κερδίσει. Και έτσι αυτό θα ήταν το ερώτημα που θα ζητήσετε. Ή, γενικότερα, θα θα μπορούσα να πω είναι x λιγότερο από το y, όπου υπάρχουν δύο μεταβλητές που εμπλέκονται; Τώρα, αυτό είναι ένα πολύ μεγαλύτερο με την πρώτη ματιά, αλλά δεν είναι πραγματικά όλα αυτά πιο περίπλοκη. Αυτό είναι απλά ένας συνδυασμός των όρων και των μεταβλητών και Boolean εκφράσεις για να ζητήσει τρεις questions-- είναι x λιγότερο από y; Αν ναι, πείτε το. Ας πούμε, το x είναι μικρότερο από το y. Αλλιώς, αν το x είναι μεγαλύτερο από y, αλλιώς x πρέπει να είναι ίσο με το y. Και ενώ με τον Mike Smith, υπήρχαν τέσσερα σενάρια, εδώ στον κόσμο των αριθμών, το Χ είναι είτε λιγότερο από, μεγαλύτερη από, ή ίση με. Το μόνο που έχουμε είναι τρεις πιρούνια στο δρόμο. Και έπειτα υπάρχει εκτροφέα κομμάτια του παζλ, όπως αυτό για τα πράγματα όπως πίνακες, όπου είμαστε πρόκειται να είναι σε θέση να αποθηκεύσει πληροφορίες. Εμείς πάμε να δούμε μπλοκ που επιτρέπουν μας να εφαρμόσουν πολλαπλά threads, Ένα άλλο χαρακτηριστικό που θα χρησιμοποιήσετε, και τότε επίσης κάτι που ονομάζεται γεγονότα. Αλλά πριν φτάσουμε σε αυτό σημείο και να δημιουργήσει ακόμη, εν τέλει, το δικό μας έθιμο κομμάτια του παζλ, ας πραγματικά να ανοίξει το ίδιο το πρόγραμμα. Έτσι, αυτό είναι το μηδέν. Είναι διαθέσιμο σε scratch.mit.edu. Και είστε ευπρόσδεκτοι να παίξετε τώρα ή αργότερα, όπως καλά. Αυτό συμβαίνει να είναι η έκδοση offline. Για τους ανθρώπους που δεν κάνουν πρέπει αναγκαστικά μεγάλη διαδίκτυο, μπορείτε να κατεβάσετε το ίδιο λογισμικό, όπως καλά. Και δεν υπάρχει πραγματικά μόνο τρεις συστατικά σε αυτό το λογισμικό. Στην επάνω αριστερή γωνία της η οθόνη είναι το είδος του σταδίου ότι Ξυστό, ο οποίος εξ ορισμού μοιάζει με μια γάτα, ζει μέσα. Αυτός μπορεί να κινηθεί προς τα επάνω, κάτω, αριστερά και δεξιά και να κάνει οποιαδήποτε σειρά άλλα πράγματα, και μπορεί να κοιτάξει οποιονδήποτε αριθμό των τρόπων με βάση για τα κοστούμια που θα αναθέτει σε αυτόν. Αλλά αυτό είναι αυτό που θα αποκαλούμε ξωτικό, ένα είδος χαρακτήρα. Και μπορείτε να έχετε πολλαπλές χαρακτήρες, όπως θα δούμε σύντομα. Στη μέση τώρα είναι όλα αυτά παζλ κομμάτια και αυτές οι κατηγορίες ή παλέτες τούτου. Έτσι τώρα, χτύπησα στο Motion. Και έτσι είμαι βλέποντας όλα τα κίνησης που σχετίζονται με κομμάτια του παζλ ή μπλοκ, έτσι λειτουργίες που έχουν να κάνει με ανεβαίνουν, κάτω, αριστερά ή δεξιά ή κάποια άλλη λειτουργία. Αλλά αν χτύπησα στην εμφάνιση, μπορείτε θα μπορούσε να δει τα πράγματα όπως το μπλοκ ας πούμε που είδαμε πριν από λίγο. Και αν κάνω κλικ Ελέγχου, θα δείτε πράγματα όπως η επανάληψη και η πάντα και το αν μπλοκ που είδαμε πριν από λίγο. Και έτσι θα βρείτε ότι θα ξύσετε η επιφάνεια της μερικά από τα παζλ κομμάτια, αλλά είναι όλα αρκετά έξυπνο και το σημείο και κάντε κλικ. Πράγματι, Scratch σχεδιάστηκε για τους νεότερους μαθητές για να βοηθήσει τους δώσει μια διέξοδο για δημιουργική σκέψη. Και όμως θαυμάσια, είναι ένα θαυμάσιο σκαλοπάτι ακριβώς τις ιδέες που πρόκειται να διερευνήσει σε C και Python και JavaScript, επίσης. Στη δεξιά πλευρά, τέλος, εδώ Είναι αυτή, η λεγόμενη περιοχή σενάρια. Και αυτό είναι μόνο η κενή πλάκα με που θα αρχίσουν να γράψετε ένα πρόγραμμα. Και θα ακριβώς αυτό. Τώρα, τυχαίνει να ξέρω πού είναι τα πράγματα επειδή έχω κάνει αυτό μερικές φορές. Αλλά ξέρω ότι, σύμφωνα με η κατηγορία Εκδηλώσεις, υπάρχει αυτό το μπλοκ here-- όταν πατηθεί πράσινη σημαία. Και παρατηρήστε αν σμίκρυνση και πίσω σε πάνω εδώ στη σκηνή, ζωές μηδέν μέσα σε αυτό μικρό ορθογώνιο κόσμο, στην κορυφή του οποίου είναι ένα πράσινο σημαία και ένα κόκκινο σήμα στοπ. Έτσι πάει και να σταματήσει, αντίστοιχα. Και έτσι αυτό που θέλω να κάνω όταν η πράσινη σημαία γίνει κλικ; Λοιπόν, επιτρέψτε μου να πάω να που φαίνεται κατηγορία. Και επιτρέψτε μου να πάει μπροστά και drag and drop 'αυτό. Και παρατηρήσετε το συντομότερο παίρνει κοντά, είναι το είδος της μαγνητικής. Έτσι, αν μπορώ τώρα να αφήσει να πάει, να ασφαλίσει μαζί ωραία και καθαρά. Και Πάω να πάει μπροστά και να πω κάτι σαν ένα γεια, κόσμος για δύο δευτερόλεπτα. Επιτρέψτε μου σμίκρυνση και κάντε κλικ τώρα η πράσινη σημαία, και να πω, γεια σου, τον κόσμο. Εντάξει. Έτσι ώστε να είναι όλα ωραία και καλά. Δεν είναι όλα τόσο συναρπαστικό. Ας είναι λίγο πιο νόστιμος κάνετε. Και ξέρω ότι σε εκ των προτέρων, Ξυστό συμβαίνει να έρθει με κάποια χαριτωμένα πράγματα όπως αυτό. Έτσι, αναπαραγωγή ήχου νιαούρισμα μέχρι να γίνει. Ας το κάνουμε αυτό. [ΝΙΆΟΥ] Ωχ, αυτό είναι αξιολάτρευτο. Και αν το κλικ again-- [ΝΙΆΟΥ] Και ξανά. [ΝΙΆΟΥ] Αλλά συνεχίζω να χρειάζεται να ζωντανεύει Scratch. Αλλά μπορώ να κάνω καλύτερα από αυτό. Γιατί δεν μπορώ απλά σύρετε τρία από αυτά. Και τώρα είναι τρεις φορές πιο αξιολάτρευτο. [Meowing] Εντάξει, στην πραγματικότητα, είναι λίγο ανατριχιαστικό. Έτσι, χρειαζόμαστε κάτι στο μεταξύ εκεί. Αν πάω στο έλεγχο, μοιάζει υπάρχει πραγματικά ένα μπλοκ αναμονή. Και έτσι παρατηρήσετε αν αιωρούνται πάνω there-- και επιτρέψτε μου να κάνουν αυτό το ένα λίγο μεγαλύτερο. Αν μου αιωρείται, πρόκειται να ασφαλίσουν στη θέση τους. Έτσι περιμένετε ένα δευτερόλεπτο, περιμένετε ένα δευτερόλεπτο. Ας χτυπήσει και πάλι πράσινη σημαία. [Meowing] Εντάξει, λίγο πιο φυσική, αλλά δεν είναι πολύ αποτελεσματικό. Έτσι, αυτό είναι σωστό, αν το πρόγραμμα μου Στόχος ήταν νιαούρισμα τρεις φορές. Αλλά δεν είναι πολύ καλά σχεδιασμένη. Ι το είδος κόψει κάποιες γωνίες. Πήρα λίγο τεμπέλης. Τι αισθάνεται like-- τι μπορώ να φαίνεται να έχουν κάνει καλά, θα λέγατε; Ναι; Ναι, στη μέση. Κοινό: Χρησιμοποιείται περισσότερο μνήμη από ό, τι χρειάζεται για να επειδή είστε χρησιμοποιώντας τόσες πολλές διαφορετικές γραμμή. DAVID Malan: Ναι, έτσι περισσότερες γραμμές. Και δεν θα ήταν αναγκαστικά μνήμης, αν και θα μπορούσε να θεωρηθεί ως 'αυτόν τον τρόπο. Αλλά είναι definitely-- υπάρχει πλεονασμός. Και εγώ κυριολεκτικά είδος έσυραν και έριξε τα ίδια πράγματα. Και αν το είδος της extrapolate-- αν δεν είναι προφανές here-- καλά, πώς θα Θα νιαούρισμα 30 φορές; Θα ήθελα να drag and drop, όπως, 30 περισσότερα ζεύγη κομμάτια του παζλ. Και σίγουρα, υπάρχει ένας καλύτερος τρόπος. Και έχουμε δει έναν καλύτερο τρόπο. Τι διαισθητικά θα είναι ο καλύτερος τρόπος; Ναι, απλά χρησιμοποιήστε ένα βρόχο. Δεν αντιγραφή και επικόλληση. Και πράγματι, οποτεδήποτε αυτό εξάμηνο αν ξεκινήσετε βρίσκοντας τον εαυτό σας μεταφορά και απόθεση, ή πραγματικά την αντιγραφή και επικόλληση, επικίνδυνη συνήθεια να μπει γιατί αυτό δεν είναι μόνο πολύ διατηρήσιμη. Για παράδειγμα, αν θέλετε να αλλάξετε ο ήχος σε κάτι άλλο, Έχω να το αλλάξετε τώρα σε τρεις θέσεις αντί για ένα μόνο. Επειδή μάλιστα, αν μου σπάσει αυτό το away-- είμαι ακριβώς πρόκειται να το αποσυνδέσει έτσι. Επιτρέψτε μου να αρπάξει μια επανάληψη μπλοκ, και Στη συνέχεια, κάντε κλικ τρεις, πληκτρολογήστε τρεις, ρίξει μερικά από αυτά μακριά από μόλις αφήσει να πάει. Και στη συνέχεια να το προσέξει δεν μοιάζει να ταιριάζει, αλλά μαγνητικά, πρόκειται να σπάσει απότομα όχι μόνο στη χώρα αλλά αυξάνεται για να ταιριάζει στο σχήμα. Έτσι, αυτό είναι καλό. Και τώρα αν κάνω κλικ παιχνίδι. [Meowing] Πολύ ωραία. Εντάξει. Και τώρα είναι πολύ εύκολο να αλλάξει, πάρα πολύ, γιατί μπορώ μόνο αλλάξετε έναν αριθμό σε ένα μέρος. Αλλά αυτό, επίσης, δεν είναι όλα αυτά ενδιαφέροντα. Ας πραγματικά έχουν Το μηδέν δεν νιαούρισμα, αλλά κινούνται. Επιτρέψτε μου να πάω στην κίνηση και να κινηθεί 10 βήματα εσωτερικό αριθμό τους κραυγών, επιτρέψτε μου να το διορθώσω αυτό. Επιτρέψτε μου να έχουν το μετακινήσετε 10 steps-- στην πραγματικότητα, ας μην επαναλάβουμε. Επιτρέψτε μου να αρπάξει ένα μπλοκ ελέγχου, και κάντε τα εξής για πάντα. Για πάντα, κινούνται 10 βήματα. Και κάντε κλικ στο κουμπί Play. ΕΝΤΆΞΕΙ. Έτσι, ευτυχώς, αυτός σταματά. Διαφορετικά, τα παιδιά θα πάρει πολύ αναστατωμένος όταν το είδος χάσουν τη γάτα τους. Αλλά τουλάχιστον μπορώ να σύρετε τον πίσω στην οθόνη. Αλλά αυτό δεν είναι το μόνο που μεγάλη του ένα παιχνίδι ή κινούμενα σχέδια. Θα ήταν ωραίο αν ίσως αναπήδησε από την άκρη. Οπότε τι κάνουμε; Τι κατασκεύασμα χρειαζόμαστε να έχουμε Scratch αποφασίσει να αναπηδήσει, νομίζετε, Ακόμα κι αν έχετε ποτέ δει Scratch πριν; Ναι, στο πίσω μέρος. ΚΟΙΝΟ: Χρειάζεται μια αν μπλοκ ή αν-τότε. DAVID Malan: Ναι, έτσι μερικά είδος, αν μπλοκ ή αν-τότε. Έτσι, στην πραγματικότητα, έχουμε μία από αυτές εδώ. Έτσι if-- οπότε επιτρέψτε μου να πάρει απαλλαγούμε από το κίνημα. Επιτρέψτε μου να μεγεθύνετε γι 'αυτό είναι μεγαλύτερο. Πώς, λοιπόν, γι 'αυτό. Για πάντα, αν Sensing-- δεν έχουμε δει αυτό πριν. Χρειάζομαι μια Boolean έκφραση. Και αποδεικνύεται, αν αγγίξετε τι; Αν αγγίξετε την άκρη, Τι θέλω να κάνω; Λοιπόν, αν πάω πίσω στο Motion, Αποδεικνύεται, OH, μπορώ να γυρίσουν. Επιτρέψτε μου να σύρετε αυτό εδώ. Γιατί δεν μπορώ να πάω μπροστά και να γυρίσει 180 μοίρες; Και τώρα, επιτρέψτε μου να προχωρήσουμε στο τέλος. Θα μπορούσα να βάλω την κίνηση στο η αρχή ή το τέλος. Αλλά λογικά, κάθε φορά που κινούνται, εγώ θέλετε να ελέγξετε, είμαι σε επαφή με την άκρη; Είμαι σε επαφή με την άκρη; Είμαι σε επαφή με την άκρη; Έτσι ώστε λογικά θα γυρίσουν αν ναι. Έτσι, ας χτυπήσει το παιχνίδι. ΕΝΤΆΞΕΙ. Έτσι είναι ελαφρώς λάθη, να το πω έτσι. Και ένα bug είναι απλά ένα λάθος σε ένα πρόγραμμα υπολογιστή. Αλλά τουλάχιστον ότι λειτουργεί. Και στην πραγματικότητα, μπορώ να πάω εδώ. Και επιτρέψτε μου να μην 10 βήματα σε ένα χρόνο, αλλά αυτό είναι όλο animation είναι. Αυτό είναι ένα κινούμενο σχέδιο ή ακόμα και μια ταινία είναι. Επιτρέψτε μου να κινηθεί 20 βήματα σε μια στιγμή. Έτσι, 20 φορές περισσότερα πράγματα συμβαίνουν μία φορά, ή διπλάσιες, σε αυτήν την περίπτωση. Και αυτός κινείται πιο γρήγορα. Επιτρέψτε μου να αλλάξει σε 30. 100. 1.000. Και πρόκειται πραγματικά γρήγορα. Και αυτό is-- ναι, εντάξει. Έτσι τώρα είμαστε ακριβώς μπέρδεμα με αυτό. Εντάξει, έτσι λάθη. Αλλά μπορούμε να τον σύρετε έξω από το δρόμο εδώ. Αλλά μπορούμε να κάνουμε πιο διασκεδαστικό με αυτό, πάρα πολύ. Πόσο περίπου this-- αυτός είναι ανάποδα. Αλλά αποδεικνύεται Scratch-- και υπάρχει πράγματι, Έχω να αποποιηθεί, καμία ακαδημαϊκή αξία σε ό, τι είμαι έτοιμος να κάνω. Αλλά αν έχω ανοίξει το μικρόφωνο, ας τον σταματήσει και να κάνει κάτι τέτοιο. Ωχ! [ΓΈΛΙΟ] Αυτό ήταν αξιαγάπητη. Ευχαριστώ. Τώρα, αυτό είναι αυτό που η φωνή μου μοιάζει όταν φωνάζω ωχ. Δεν νομίζω ότι πιάσαμε το γέλιο σας. Εντάξει. Επιτρέψτε μου να σώσει αυτό ως «ωχ». Ας σώσει αυτό ως "ωχ". Και τώρα θα πάμε πίσω στο Scripts. Και τώρα need-- ας δούμε, Sound. Ω, αναπαραγωγή ήχου ωχ. Έτσι, αν είμαι σε επαφή με την άκρη, επιτρέψτε μου πρώτο παιχνίδι ωχ, και στη συνέχεια να γυρίσει γύρω. Και τώρα ας τον έβαλε στη μέση. [Λέγοντας «OUCH"] Δύο φορές πιο γρήγορα. ΕΝΤΆΞΕΙ. Αλλά είναι κυριολεκτικά κάνει ό, τι λέω. Έτσι είναι στην πραγματικότητα σωστό, είναι λίγο ενοχλητικό γρήγορα. Έτσι, ας προσθέσουμε κάτι πιο ενδιαφέρον σε αυτό. Επιτρέψτε μου να πραγματικά να ανοίξει αυτό που έκανα νωρίτερα, εύστοχα ονομάζεται Pet η Γάτα, που το κάνει αυτό. Εδώ είναι το σενάριο εδώ. Τι είναι αυτή η μετάβαση να κάνει στα αγγλικά όρους; Τι είναι αυτό σχεδιάστηκε για να κάνει; Ναι, ας πάμε some-- ναι; Κοινό: Όταν κατοικίδιο ζώο τη γάτα, που meows. DAVID Malan: Ναι, έτσι ώστε όταν κατοικίδιο ζώο τη γάτα, πρόκειται να νιαούρισμα. Έτσι με άλλα λόγια, υπάρχει τώρα μια για πάντα βρόχος εξακολουθεί, σε συνδυασμό με μια κατάσταση, σε συνδυασμό με μια Boolean έκφραση, σε συνδυασμό με ένα ζευγάρι λειτουργιών, η επίδραση από τα οποία, από τη στιγμή που παίζω αυτό το πρόγραμμα, δεν είναι τίποτα συμβαίνει μέχρι να μετακινήσετε τον κέρσορα όλο και πιο κοντά και πιο κοντά and-- [ΝΙΆΟΥ] Τότε είναι σαν χάιδεμα της γάτας. [ΝΙΆΟΥ] Μόνο από τη στιγμή που στην πραγματικότητα μετακινήστε τον κέρσορα πάνω του. Τώρα, θα ήθελα επίσης χτυπημένη μέχρι να μην συντροφιάς η γάτα, που το κάνει αυτό αντ 'αυτού. [Meowing] Έτσι απλά συνεχώς meowing. [Meowing] Αλλά αν έχω πάρα πολύ close-- [Meowing] [ΒΡΥΧΗΘΜΌΣ] Λοιπόν, πώς το κάνει αυτό το έργο; Τώρα έχω μόνο ένα αμφίδρομη διακλάδωση του δρόμου. Αν αγγίξετε το δείκτη του ποντικιού, στη συνέχεια να παίξει τον ήχο λιοντάρι. Αλλιώς απλά να παίξει τον ήχο νιαούρισμα, και, στη συνέχεια, περιμένετε τρία δευτερόλεπτα έτσι ότι είναι το είδος της κάνει πολύ ήσυχη. Εντάξει. Έτσι ώστε να είναι συνδυάζοντας κάποιες περισσότερες ιδέες ακόμα. Ας ρίξουμε μια ματιά σε αυτό το παράδειγμα Έχω χτυπημένη μέχρι ονομάζεται θέματα. Και αυτό είναι θεμελιωδώς διαφορετικά το γεγονός ότι αξιοποιεί ένα χαρακτηριστικό πολλών γλώσσα προγραμματισμού που ονομάζεται νήματα, η ικανότητα ενός προγράμματος για την κυριολεκτικά κάνει δύο πράγματα ταυτόχρονα. Πράγματι, αυτές τις μέρες, αν είστε με τη χρήση Το Google Docs ή το Microsoft Word, και το έγγραφό σας είναι συνεχώς να ορθογραφικός έλεγχος, ακόμη και όπως μπορείτε type-- ή να σας χτύπημα Command-P ή Control-P και κάτι εκτύπωσης, αυτό είναι εκτύπωση, ενώ μπορείτε να συνεχίσετε την πληκτρολόγηση. Προγράμματα σήμερα μπορεί πράγματι να κάνει πολλαπλές πράγματα ταυτόχρονα, ακριβώς όπως στο Scratch εδώ. Έτσι, εδώ, έχω δύο ξωτικά Τώρα, ένα πουλί και μια γάτα. Και αν κάνω κλικ σε κάθε ένα από αυτούς τους χαρακτήρες, ένα κάθε φορά, Βλέπω τώρα το πουλί του scripts στο πάνω δεξιά. Τώρα βλέπω το γάτας. Πουλιού, της γάτας. Έτσι, το καθένα από αυτά έχει το δικό τους σενάριο. Αλλά ειδοποίηση, τι κομμάτι του παζλ μήπως και τα δύο να αρχίσει με; Όταν κάνετε κλικ πράσινη σημαία. Και πτηνών, όταν πατηθεί πράσινη σημαία. Έτσι, όταν κάνω κλικ στην πράσινη σημαία, τα δύο αυτά σενάρια ή προγράμματα πρόκειται να λειτουργούν παράλληλα. Και θα παρατηρήσετε ότι το πουλί είναι απλά mindlessly αναπηδούν από την άκρη. Η γάτα σαφώς έχει προγραμματιστεί με ένα στρατηγικό πλεονέκτημα. Και-- [ΒΡΥΧΗΘΜΌΣ] Εντάξει. Έτσι, η γάτα έπιασε το πουλί σε αυτή την περίπτωση. Γιατί αυτό? Λοιπόν, ειδοποίηση πρώτα εμείς απλά πρέπει το πουλί απλά αδιάφορα πηγαίνοντας σε αυτή την αρχική θέση, και, στη συνέχεια, για πάντα, αν δεν αγγίζουν τη γάτα, απλά μετακινήστε. Και αν είστε στην άκρη, αναπήδηση. Και μόλις περάσουμε. Και αν είστε στην άκρη, αναπήδηση. Αλλά η γάτα, εν τω μεταξύ, έχει κάποια πρόσθετη λογική που λέει this-- πρώτο, ακριβώς έτσι ότι αυτό δεν είναι εντελώς προκατειλημμένη κατά το πουλί, παρατηρήσετε ότι έχω χρησιμοποιείται ένα πράσινο κομμάτι του παζλ εκεί που παίρνει στην πραγματικότητα ένα τυχαίο αριθμό. Ένα χαρακτηριστικό πολλών γλωσσών είναι να δώσει που τυχαία ή ψευδοτυχαία αριθμούς. Έτσι, σε αυτή την περίπτωση, η γάτα αρχικά επιλέγει έναν τυχαίο αριθμό μεταξύ, όπως, 90 μοίρες και 180 βαθμούς, κατ 'ουσίαν, έτσι ότι υπάρχει ένα μικρό κομμάτι της διακύμανσης. Και τότε για πάντα, αν συγκινητικό το πουλί, να παίξει τον ήχο λιοντάρι. Διαφορετικά, απλά δείχνουν προς το πουλί. Δείχνουν προς το πουλί. Σημείο προς το πουλί, το οποίο είναι ένα κομμάτι του παζλ από μόνη της σε αυτή την περίπτωση. Λοιπόν, μπορούμε να κάνουμε κάτι άλλο εδώ. Επιτρέψτε μου να ανοίξει το πρόγραμμα εκδηλώσεων εδώ. Και εδώ έχουμε και πάλι δύο ξωτικά, που μοιάζουν με αυτές τις δύο μαριονέτες εδώ. Και αυτό που είναι ενδιαφέρον εδώ είναι αυτό. Το πορτοκαλί τύπος έχει αυτό το που κομμάτια του παζλ εδώ. Πάντα κάνουν το following-- αν η μπάρα διαστήματος είναι πατημένο, στη συνέχεια να πω, Marco, και Στη συνέχεια ραδιοτηλεοπτικής μετάδοσης μιας εκδήλωσης. Και εν τω μεταξύ, το μπλε άνθρωπος έχει εδώ this-- όταν λάβετε την εκδήλωση, λένε Polo. Έτσι αποδεικνύεται στο Scratch και σε άλλες γλώσσες, υπάρχουν τρόποι για δύο προγράμματα ή δύο σενάρια, σε αυτή την περίπτωση, να επικοινωνούν έτσι ώστε όταν χτύπησε το πλήκτρο διαστήματος, λέει ο Marco. Και ο άλλος ακούει ότι, έτσι για να μιλούν, και λέει Polo σε απάντηση. Έτσι, μπορείτε να γράψετε τα προγράμματα που πράγματι αλληλεπιδρούν με αυτόν τον τρόπο. Και αν το κάνω αυτό το ένα αντ 'αυτού, Μπορώ να προσθέσω ακόμη μεταβλητές, χρησιμοποιώντας μόνο ένα ξωτικό σε αυτήν την περίπτωση. Αυτό και μόνο είναι ιδιαίτερα ενοχλητικό. [Barking SEAL] Τώρα, ανακοίνωση σχετικά με την δεξιά έχουμε κάποια επιπλέον λογική εδώ. Πώς μπορώ να σταματήσω αυτή την σφραγίδα από την αποφλοίωση; [Barking SEAL] Μοιάζει στη δεξιά πλευρά πλευρά είναι ό, τι είναι να παίζει τον ήχο. Αλλά παίζει μόνο ένα ακούγεται αν αυτό είναι αλήθεια; Αν ένα variable-- πορτοκαλί block-- σίγαση είναι μηδέν. Πώς μπορώ να αλλάξω σίγαση να είναι 1, που σημαίνει αλήθεια, κάνουν αυτό σίγαση; Προφανώς, το άλλο σενάριο, μπορώ χτύπησε το πλήκτρο διαστήματος, και τώρα σταματά. Έτσι μπορούμε να έχουμε αυτό το ενδοεπικοινωνίας σε όλη scripts, καθώς, από απλά μοιράζονται μια μεταβλητή σε όλη την δύο όπως αυτό. Τώρα, αυτό δεν είναι όλα αυτά ενδιαφέρον. Ας πάμε μπροστά και να το κάνουμε αυτό και να συνδυάσουν πολλές από αυτές τις ιδέες με αυτό το πρόγραμμα εδώ. Πριν το κάνουμε αυτό, όμως, σχετικά με το πώς ένας εθελοντής; Επιτρέψτε μου να συμβάλουν στην αποσυμφόρηση από μένα, γιατί εγώ δεν κάνω πραγματικότητα παίξετε αυτό το παιχνίδι. Ας έχουμε κάποιον που δεν έχουμε ξαναδεί. Θα πρέπει να είναι άνετα έρχονται επάνω στη σκηνή εδώ, στην κάμερα. Εντάξει, έλα επάνω. Πολύ γενναίος. Ποιο είναι το όνομά σου? Idris: Idris. DAVID Malan: Συγνώμη; Idris: Idris. DAVID Malan: Idris, ωραίο να σας γνωρίσουμε. Έλα επάνω. Και τώρα, με το δικό σας κινητό τηλέφωνο, δεν μπορείτε να παίξετε Pokemon GO; Idris: Όχι. DAVID Malan: Αλήθεια; Idris: Ναι. DAVID Malan: OK. Εντάξει. Λοιπόν, ωραία να σας γνωρίσουμε. Ελα απο εδω. Εγώ δεν κάνω ούτε. Έτσι θα καταλάβω μαζί πώς να παίξετε αυτό, το οποίο κάποιος πραγματικά πήγε και εφαρμόζονται Scratch αλλάζοντας τη γάτα σε ουσιαστικά διαφορετικούς χαρακτήρες όλοι μαζί. Και αν μπορώ πλήρη οθόνη αυτό εδώ, θα πάμε για να δείτε το παρακάτω παιχνίδι μαζί. Ακόμα φόρτωση, ακόμα φόρτωση. Ελα. Επιτρέψτε μου να το κάνουμε αυτό. Ελα. Αυτό το παιχνίδι είναι τόσο μεγάλο που συνετρίβη. Αναμονή. Δοκιμάστε αυτό για μια ακόμη φορά. Ελα. Εντάξει. Εκεί πάμε. ΕΝΤΆΞΕΙ. Πράσινη σημαία. Έτσι, εδώ πηγαίνουμε. [ΜΟΥΣΙΚΗ Playing] Επιλέξτε το μεσαίο επίπεδο εδώ. Κάντε κλικ στο μπλε άνθρωπος εκεί. Εντάξει. Και μπορείτε να χρησιμοποιήσετε το βέλος keys-- πάνω, κάτω, αριστερά, δεξιά. Τώρα, ας εξετάσουμε όπως κάνουμε this-- και στη συνέχεια να πάει μετά από το χαρακτήρα εκεί. Ναι. Και τώρα κάντε κλικ του με το ποντίκι. Ω! ναι. Κίνηση. Πού είναι το βέλος; Ορίστε. Έτσι, κάντε κλικ εκεί. Ναι. Εντάξει. Έτσι τώρα, μου έχουν πει έχετε μια μπάλα Poke, ότι αν κάνετε κλικ, θα το κάνουμε αυτό. Πολύ καλά. Στην εξάσκηση για σήμερα, βρήκε αυτή την έκδοση του παιχνιδιού στην πραγματικότητα δεν είναι πολύ δύσκολο. Έτσι, εάν θέλετε να πάτε και πάλι εδώ, με τα πόδια προς τα κάτω σε αυτή την μπάλα Poke. Και στη συνέχεια να λάβει μια δεξιά. Δοκιμάστε να κάνετε κλικ σε αυτό. Ω, στην πραγματικότητα, αυτό είναι το κατάστημα, προφανώς. Εντάξει, έτσι κλείσετε αυτό. Ποτέ μην κάνει αυτό πριν. Ίσως πάει μέχρι αυτό το πράγμα εδώ. Ω, εκεί θα πάτε. Περιμένετε, υπάρχει ένας εκεί. Ω, υπάρχει ένα άλλο. ΕΝΤΆΞΕΙ. Κάτω. Ναι, κάντε κλικ στο κουμπί. Εντάξει, αυτό είναι πολύ χαριτωμένο. Εντάξει, πολύ καλά κάνει. Αυτό το παιχνίδι δεν είναι πολύ δύσκολο. ΕΝΤΆΞΕΙ. Συγχαρητήρια. Εδώ, έχουμε ένα CS50 μπάλα για το άγχος για σας. Αλλά σκεφτείτε για μια στιγμή τι μερικά από τα takeaways υπάρχουν. Ευκολότερη από ό, τι το πραγματικό παιχνίδι, προφανώς. Αλλά όλοι έχουμε πηγαίνει εδώ είναι ένας χαρακτήρας ότι ίσως έχει κάποιο είδος του βρόχου που συνδέονται με αυτό. Δεν είναι μια γάτα. Είναι αυτός ο χαρακτήρας αντ 'αυτού. Και αυτό βρόχος είναι απλά συνεχώς λέγοντας ότι, αν επάνω βέλος πατημένο, αν κάτω βέλος πατημένο, αν αριστερό βέλος πατημένο ή δεξιά βέλος πατημένο, μετακινηθείτε προς τα πάνω ή προς τα κάτω ή προς τα αριστερά ή προς τα δεξιά. Ή αν υπάρχει ένα άλλο κομμάτι του παζλ εκεί που λέει όταν αγγίζει ένα άλλο ξωτικό, όταν αγγίζει ένας από τους χαρακτήρες με τη μπάλα Poke, αν συγκινητικό, στη συνέχεια να το κάνετε αυτό. Έτσι, όλες οι ιδέες που έχουμε έχουν χρησιμοποιήσει μέχρι στιγμής πραγματικά μπορεί μόνο να εφαρμοστεί στη συγκεκριμένη πλαίσιο για να παίξει αυτό το παιχνίδι, όπως καλά. Επιτρέψτε μου να πάει μπροστά και να τραβήξει μέχρι ένα άλλο εδώ, στην πραγματικότητα. Επιτρέψτε μου να πάει μπροστά και να τραβήξει μέχρι, ας πούμε, αυτό. Αυτό είναι κάτι που κάνει remix. Κατασκευασμένο από έναν από μας σπουδαστές στο Cambridge, και στη συνέχεια πήγα μέσα και άλλαξε σχεδόν κάθε στιγμιότυπο του Χάρβαρντ σε Yale αυτή τη φορά. Κάποιος θα ήθελε να ανταγωνιστούν ενάντια στους κισσούς εδώ σε άλλο συσσώρευση από όλες αυτές τις ιδέες; Έλα κάτω, ναι. Ποιο είναι το όνομά σου? DINA: Ντίνα. DAVID Malan: Adina; DINA: Ντίνα. DAVID Malan: Ντίνα, έλα κάτω. Εντάξει, Ντίνα. Έτσι, αυτό το παιχνίδι γίνεται πιο δύσκολο και πιο δύσκολο, γιατί σε αυτό το παιχνίδι, υπάρχει μεταβλητές που χρησιμοποιούνται, καθώς και που είναι συνεχώς την παρακολούθηση από ποιο επίπεδο είστε στο παιχνίδι. Τόσο ωραίο να σας γνωρίσουμε. Έλα εδώ γύρω. Και έτσι ο στόχος εδώ είναι να ταξινομήσετε του κάνουν το δρόμο σας μέσα από ένα λαβύρινθο ότι αυτός ο μαθητής υλοποιηθεί. Και ακριβώς για να θέσει το στάδιο, κάθε από αυτές τις εικόνες στην οθόνη είναι η δική sprite του, το δικό του χαρακτήρα. Έτσι, αυτά ήταν από προεπιλογή γάτες, αλλά ο μαθητής να αλλάξει με τα διάφορα λογότυπα κισσούς εδώ. Και τότε θα δείτε ότι μόλις με τη χρήση συνθηκών και βρόχους και τις λειτουργίες και περισσότερο, μπορείτε να πάρετε αυτό. [ΜΟΥΣΙΚΗ Playing] [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Ναι, εντάξει. Ναι, συνεχίζω. Πρώτο επίπεδο είναι πολύ εύκολο. Έχετε μόλις πήρε να πάω εκεί. Αλλά και πάλι, θεωρούν, αυτό είναι μόνο ένα βρόχο ακρόαση για το βέλος keys-- πάνω, κάτω, αριστερά, δεξιά. Και τώρα ένα μπλοκ ανίχνευσης. Πολύ ωραία. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Πολύ ωραία. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Πολύ ωραία. Αρκετά εύκολο, Crimson. Εντάξει. Levels-- UH-oh. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Και πάλι, σε αυτές τις τρεις κορυφές του Χάρβαρντ, έχετε μόνο λογική λέγοντας ότι αν στην άκρη, αναπήδηση. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Εντάξει, τι κάνετε είναι πιο ενδιαφέρουσα από ό, τι ο λόγος. Πολύ ωραία. Πολύ ωραία. Ωχ. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Νομίζω ότι θα πρέπει να θυσιάσει τον εαυτό σας. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Γρήγορα! [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Όμορφη. Εντάξει. Θα το πάρει. Ναι ναι! Πολύ ωραία. [ΕΠΕΥΦΗΜΊΕΣ] [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Όμορφη! [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Το κατάλαβα. Ελα! Δεύτερη στο τελευταίο επίπεδο. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Εντάξει. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Ναί. Η καλή χρήση των μεταβλητών εδώ. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Ναί. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Όμορφη. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Είναι εντάξει. Πήραμε για να φτάσετε στο τέλος. Εκεί. Ω! [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Μπορεί να τρέξει αργά σήμερα, αλλά ότι θα είναι αξίζει τον κόπο. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Μπορείς να το κάνεις! Ναι! [ΕΠΕΥΦΗΜΊΕΣ] [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Αυτό και μόνο είναι πραγματικά δύσκολο. [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Θα σας δώσω δύο περισσότερες ζωές. Μπορείτε να το κάνετε? [ΜΟΥΣΙΚΗ - MC Hammer, "U CAN NOT TOUCH  ΑΥΤΌ"] Εντάξει. Τι θα λέγατε για μια μεγάλη στρογγυλή χειροκροτήματα, ωστόσο. Έχεις στο δεύτερο στο τελευταίο επίπεδο. Ευχαριστώ. [ΧΕΙΡΟΚΡΟΤΉΜΑΤΑ] Έτσι, αυτό είναι μόνο να πω πόσο πολύ σας μπορούμε να κάνουμε με αυτά τα είδη των πραγμάτων. Και να συνειδητοποιήσουμε, επίσης, ότι όταν κομμάτια του παζλ δεν exist-- και πράγματι, αυτό πρόκειται να είναι ένα των εξουσιών με το πρώτο πρόβλημα σύνολα και beyond-- είναι να στην πραγματικότητα να δημιουργήσετε το δικό σας. Και αυτό είναι μόνο ένα απόσπασμα από ένα από τα παραδείγματα θα είστε σε θέση να παίξετε με απευθείας σύνδεση, όπου αν δεν έχουν κατασκευαστεί σε Scratch κάτι σαν ένα κομμάτι του παζλ βήχα, μπορείτε πραγματικά να κάνετε στον εαυτό σας. Και έτσι όλα αυτά και ακόμα περισσότερα περιμένει. Και ακριβώς για να ζωγραφίσει ένα τελικό εικόνα του πράγματι τι είναι μπροστά στο κατάστημα για την κατηγορία για εσάς, βασίζεται σε μερικές εικόνες από συμμαθητές παρελθόντος, επιτρέψτε μου να χαμηλώστε τα φώτα μια τελευταία φορά και να σας δείξει CS50. [ΜΟΥΣΙΚΗ Playing] Εντάξει. Αυτό είναι για το CS50. Κέικ είναι τώρα εξυπηρετούνται. [ΜΟΥΣΙΚΗ Playing]