[השמעת מוסיקה] [מחיאות כפות] דוד י מלאן: זה CS50, המבוא של אוניברסיטת הרווארד לאינטלקטואל חברות של מדעי מחשב ואת האמנות של תכנות. עכשיו, אם אתם בין אלה ש בכל שנה יושבת כאן עם קצת עצבים במוח שלך, כגון כי אתה לא חושב שאתה משייך כאן, אתה חושב שרוב מי שמיושב סביבך יודע הרבה יותר ממה שאתה, הוא אכן נוח יותר ממה שאתה במחשב מדע או מחשבים באופן כללי יותר, מבין כי 78% מהתלמידים שעכשיו לקחת לי CS50 ללא ניסיון קודם. ואכן, יש 100 נקודות יש בתצוגה, 78 ש ירוק מוצק, שאומר שאתה, אם אתה בקרב דמוגרפי ש, הם בחברה טובה מאוד כאן והלאה. ואם אתה במקום בין 22% מתלמידי CS50 שעושים אכן יש להם ניסיון קודם, בין אם ב תיכון או תכנית אחרת, להבין שאתה, יותר מדי, יהיה להיות מאותגר בקורס. האם יש לנו מסלולים שונים לא רק לתלמידים פחות נוח ויותר נוח כאחד בסעיפים, אנחנו גם מה שנקרא מהדורות האקר רוב הבעיה קובעת ש יאתגר את התלמידים האלה עם זה ניסיון נוסף כדי לחקור חומר דומה אבל מיותר נקודת מבט מתוחכם. אבל מה הוא מדעי מחשב? ובכן, בסופו, מה קורה ל עניין כפי שאתה לחקור תחום זה הוא לא כל כך הרבה שבו אתה בסופו של ביחס לחבריו לכיתה שלך, אבל איפה אתה בעצמך בסופו של שבוע לעומת שבו אתה מתחיל כאן 12 בשבוע אפס. עכשיו מחשב science-- גם, בואו קורא לזה המדע של computation-- שבו חישוב הוא באמת רק דרך מפוארת לומר, לוקח קצת קלט, לייצר כמה פלט, ו עושה זאת על ידי אלגוריתמים פועלים, סטים של הוראות לפתרון איזו בעיה בתשומות אלה על מנת לייצר כמה פלט או פתרון שבו אתה מעוניין. אז היו לנו לאחרונה ההזדמנות לנסוע החוצה לקליפורניה כדי להיפגש עם בוגרת. קורא לה סוזן וושיקי. והיא רוצה לדבר לך כאן בוידאו להעיד עד כמה ישים אפילו רק טעימה של מחשב מדע ב רמת היכרות יכולה להיות. גם אם אתה לא הולך על לרדוף אחרי מדעי מחשב כתחום, או אפילו הנדסה, או גזע באופן כללי יותר, תראה, למעשה, כיצד מסוים כמובן כל כך השפיעו על החיים שלה. והיא רק לקחה אותו כשהיא היה בכיר כאן בהרווארד המכללה. אם היינו יכול לעמעם את האורות לסוזן. סוזן וושיקי: שלום, עולם. אני סוזן וושיקי. אני המנכ"ל של YouTube. ואני לקחתי את CS50 כשהייתי בכיר באוניברסיטת הרווארד בשנת 1990. אני היה למעשה היסטוריה וגדול ספרות. ובקיץ שלי הזוטר, הבנתי שאולי אני רציתי ללמוד משהו על מחשבים. וכך, חזרתי. לקחתי CS50. זה היה קשה, אבל זה היה רוב הכיתה המדהימה לקחתי. זה שינה את איך שאני חושב על כל דבר. וכאשר סיימתי את לימודים באוניברסיטת הרווארד בשנת 1990, הלכתי לעמק הסיליקון. ויש לי עבודה. ואני כבר עובד בטק מאז. דוד י מלאן: עכשיו מה סוזן לא הזכיר בסרט הזה, שזה בעצם בה מוסך שהייתה גוגל עצמה נוסד על ידי לארי וסרגיי. עכשיו אנחנו גם הגענו לחברים שלנו בcode.org, ארגון ש בשנה האחרונה היה אנשים מקבלים במיוחד להתרגש ממדע מחשב ותכנות, בפרט. אבל ראוי לציין שתכנות לא מדע כשלעצמו מחשב. מדעי מחשב הוא לא תכנות. ולא בתכנות הוא רק tool-- עם שכל שלך יהיה כל כך טוב מוכר על ידי end-- של הסמסטר כזאת שאתה יכול להגיש בקשה לא רק לקורסים עתידיים בCS אבל לכל מה ששדות שמן אתה בא, במדעי רוח, מדעי חברה, טבעי מדע, או משהו דומה. ואכן, לאפשר כמה אחר בוגרים ועמיתיהם לדבר עם התחולה של השדה שמחכה. ביל גייטס: אני היה 13 כש יש לי ראשון גישה למחשב. ג'ק דורסי: ההורים שלי קנה לי מקינטוש בשינה 1984 כשהייתי בן שמונה שנים בן. מארק צוקרברג: הייתי בכיתה ו '. 1 SPEAKER: למדתי לקודד במכללה. Ruchi SANGHVI: שנת א ', ראשון סמסטר, מבוא למדעי מחשב. ביל גייטס: כתבתי תכנית ששחק טיק, טק, הבוהן. DREW יוסטון: אני חושב שזה היה התחלות די צנועות. אני חושב שהתכנית הראשונה כתבתי שאל דברים כמו, מה הצבע האהוב עליך? או בן כמה אתה? ELENA SILENOK: נודע לי לראשונה איך לעשות עיגול ירוק וריבוע אדום מופיע על המסך. גייב ניואל: הראשון פעם שאני בעצם לא הייתי לי משהו לבוא ולומר, שלום, עולם. ואני עשיתי את מחשב לעשות את זה. זה היה פשוט מדהים. מארק צוקרברג: ללמוד איך לתכנית לא להתחיל כרוצה ללמוד כל מדעי מחשב או מנסה להשתלט זה משמעת או משהו כזה. זה פשוט התחיל בגלל ש רציתי לעשות את הדבר הפשוט הזה. רציתי לעשות משהו ש היה כיף לעצמי ואחיותיי. ואני כתבתי תכנית הקטנה הזה. ואז בעצם רק הוסיף קצת לזה. ואז כשאני צריך ללמוד משהו חדש, הסתכלתי עליו, בין אם ב ספר או באינטרנט, ולאחר מכן הוסיף קצת לזה. DREW יוסטון: זה ממש לא בניגוד נגינה או משהו או משחק ספורט. דוד י מלאן: בסדר. אז תן לנו עכשיו למעשה לצלול בקצת יותר לעומק. מה הן תשומות ותפוקות אלה שאנחנו מדברים כאן? אז מה דעתך על משהו פשוט? אתה בוודאי יודע, גם אם יש לך אין היכרות עם מדעי מחשב היא, שמחשבים איכשהו להשתמש ומבין רק אפסים ואחדים. אבל איך זה יכול אולי לתת כמה שולחנות העבודה של הרבה היום ומחשבים ניידים כאחד יכול לעשות? DNA של היום, רק האלפבית שהם מבינים הוא אפס או אחד. ובכן, לשקול את זה. אנחנו, בני אדם, נוטים להשתמש שיטה עשרונית. "דצמבר", כלומר 10. וזה 10 כי יש לנו 10 ספרות, 0 עד תשע. עכשיו מחשבים, לעומת זאת, נוטה להשתמש בינארי. "Bi", כלומר שני. אז הם נוטים להשתמש רק אפס ואחד. אבל מתברר, שאפילו רק עם אפסים ואחדים, ש הוא אלף בית גדול מספיק שבה לייצג ביותר כל פיסת המידע שאתה רוצה, בין אם זה מספר, בין אם זה מכתב, בין אם זה גרפיקה או וידאו על המסך. קח, לדוגמא, איך אנחנו בני אדם בדרך כלל לפרש את המספר הזה כאן. זה רק שלוש ספרות, אחד, שתיים, שלוש. אבל אנחנו יודעים את המספר הזה מולד עכשיו כ123. אבל למה זה? ובכן, אם אתה חושב לחזור לאולי בבית ספר יסודי, אתה כנראה לימד לחשוב על מספרים אלה כבעמודות, שבו אחד הוא במאות מקום, שני נמצא במקום עשרות, והשלושה הוא במקום אלה. למה זה שימושי באמת? ובכן, תחשוב על חשבון פשוט סופר שכולנו היה עושה כבר שנים. ביעילות, אם יש לך אחד במקום מאות, תעשה את המתמטיקה מהירה 100 פעמים 1 ועוד 10 פעמים 2-- כי שני הוא בעשרות place-- בתוספת 1 פעמים 3-- כי שלושה נמצאים במקום אלה. אז, כמובן, אם אנחנו למעשה להכפיל את זה, מה שאנחנו באמת מייצגים עם pattern-- אחד זה שני לוש-- הוא 100 תוספת 20 בתוספת 3, אשר, כמובן, הוא 123. עכשיו באמת בינארי, ומחשבים, ביסודו מדבר באותה השפה שאנחנו עושים. רק שיש להם אלף בית קטן יותר. אז יש לי מחשבים רק אפסים ואלה העומדים לרשותם. אז בעוד שאנו, בני האדם שיש לי במהות סמכויותיו של 10 בכל אחד מאלה places-- 10 לאפס, 10 לאחד, עשר לשתיים, נותנים לך 110 ו100 בהתאמה. בגלל שיש לי מחשבים רק שני ערכים הם יכולים להבין, אפס ואחד, הם צריכים להשתמש בערכים שונים בטורים אלה, אחד, שתיים, ארבעה. ואם אנו ממשיכים בדרך, שמונה, 16, 32, 64, וכן הלאה. אבל הדפוס ו מנטליות היא בדיוק אותו הדבר. אז לפי היגיון, מי שזה, איך היית אני הולך על המייצג את המספר אחד בינארי? אם מעולם לא חשבו אפילו על זה לפני, מה תחושת הבטן שלך אומרת? קהל: אחת. דוד י מלאן: אחת. בדיוק. אנחנו פשוט צריכים אחד ב מקום אלה בגלל האפסים תספיק כדי לתת לנו ארבעה ולא שניים איש. אז אחד כפול אחד שווה אחד. עכשיו דברים קצת מעניינים. אם אני רוצה לייצג ב בינארית המספר two-- אבל, שוב, גם אם יש לך אף פעם לא דברתי בשפה זו לפני, איך לעשות שאנו מייצגים בינארי אנו, בני אדם הערך יודעים כשני? אפס אחד אפס. פשוט לשים אחד ב עמודה שאתה רוצה את זה. עכשיו זה מתחיל להיות די קל כנראה עכשיו. אז אם אני רוצה לייצג לוש-- אין של שלוש עמודות. אז, שוב, אני יכול עכשיו להוסיף את הערכים הללו יחד על ידי הצבת אחד כאן. אז 2 פעמים 1 פלוס 1 פעמים 1 היא, כמובן, 3. עכשיו דברים מקבלים קצת כיף ב כי אלה הפכו כעת אפסים. ולייצג את ארבעה, אני מקבל את זה. ואם אנחנו להגדיל לאט here-- שיהיו חמש. זה יהיה שש. זה יהיה שבע. אבל עכשיו נדמה לי שיש לי נתקל בבעיה. איך ייתכן שאני הולך על ייצוג eight-- יהיה הערך הבא. כן, ולכן אנחנו צריכים ביטים חדשים. ואכן, אם יש לך שמעתי את המשפט הזה לפני, ביטים, זה רק קיצור של ספרה בינארית, אפס או אחד. וכך אני דווקא לייצג רק שלוש חתיכות כאלה כאן. אבל אם היה לי דרך של אחסון לא שלוש חתיכות שונות, אבל ארבעה, בוודאי שאני יכול לייצג שמונה, ולאחר מכן תשע, ולאחר מכן 10, ואפילו גבוה יותר ויותר. אבל זה אז קורא לשאלה איך אנחנו יכולים ללכת על ייצוג אלה דברים במקום הראשון. זה דבר אחד לצייר אותם כאן בשקופית, אבל איך אתה מייצג אותם אם אתה מכשיר מכאני? מה מחשב עושה ל מייצג את התשומות ותפוקות ש ביסודו להגדיר חישוב בסופו של היום? ובכן, מה עם משהו סופר פשוט כמו זה? זה רק הנורה. ואני יכול לגרום לזה הנורה ללכת על על ידי הפיכה כמה חשמל ובאלקטרונים המאפשרים לזרום דרך, אשר משנה מדינה או הערך שלה, אם אפשר לומר כך. לדוגמא, זה הוא מנורת שולחן בית ספר ישן כאן עם אחד כזה הנורה בתוכו. ועכשיו זה לא באמת עושה משהו מועיל. אבל ברגע שאני מחבר אותו לשקע חשמלי ולאחר מכן להשתמש switch-- זה או אנחנו יכולים אפילו לקרוא לזה טרנזיסטור או לחשוב על זה כsuch-- עכשיו אני יכול לייצג גם ערך זה, שבו הנורה של ברור שאת, או ערך זה. ערך זה או ערך זה. ערך זה וכן הלאה. אז בתוך מחשב, ככל הנראה, הן פיסות קטנות בהרבה של חומרה, אבל זה בסופו של הדבר היום פשוט יש לי להשתמש electricity-- אולי ללכוד it-- ולאחר מכן גם לשמור משהו או לשמור את משהו. כמובן, זה לא מעניין במיוחד לעשות רק עם הנורה אחת. למעשה, כמה גבוה אני יכול לספור ב בינארי עם מנורת שולחן זה כאן? קהל: אחת. דוד י מלאן: אחת, נכון? אני צריך מנורות שולחן יותר אם אני באמת רוצה לספור גבוה יותר. אבל אנחנו יכולים לעשות יותר טוב מזה. בגלל הנורות ש אנחנו שמנו בדברים האלה הם נורות מגדלת למעשה מ פעם תאפשר. והם למעשה נורות ברשת. וצרורות של חברות לעשות את הדברים האלה בימים אלה. אבל מתברר ש זה אחד בפרט מגיע עם לפי תכונה אתה יכול לשנות את הצבעים שלה. כך למשל, אם אתה מעוטר החדר במעונות שלך עם כמה אור אלה נורות, תלוי במצב הרוח שלך, תלוי מי מגיע ב, תלוי במזג האוויר, תלוי בזמן של יום, אתה בעצם יכול לשנות את הצבעים של הנורות בחדר שלך. וזה בגלל שהאור הבאים נורות ואחרים כמותו יש מה נקרא API, יישום ממשק תכנות, ש הוא נושא שבו אתה אהיה גם מכיר עד סוף הסמסטר. וזו רק אשליה, דרך נסתר לומר, אתה יכול לתכנת את האור אלה נורות לעשות כרצונך. אתה יכול לשלוח להם הודעות בדיוק כמו שאתה, אדם, יכול לשלוח הודעה לשרת אינטרנט אומר, תן לי את החדשות של היום או לתת לי את הדוא"ל שלי. אתה יכול לשלוח מסתורי יותר הודעות לנורות אלה לומר, להפעיל ולכבות. אבל זה לא כל כך מעניין. אתה יכול להגיד, להפעיל אדום, להפעיל ירוק, להפעיל כחול, כל עם אותה הנורה. ואתה יכול גם, עם קצת יותר מתמצא, אומר, להפוך את עצמך לכחול כאשר זה יום קודר מחוץ, למשל. זה באמת יכול לתקן לתוך API ומזג אוויר לגלות מה מזג האוויר, או את הזמן של יום, או גורמים אחרים כגון. אז, למעשה, שני של חברי צוות של CS50 עצמו, דן ברדלי ואנסל דאף כאן, שנרכש באדיבותו שלנו חבורה של נורות אלה כל. והם בנו CS50 של נורות אי פעם בינארי ראשון, שבו אנחנו כבר ייצגנו here-- עם magnets-- קצת השובב האלה מצייני המיקום השונים רמזתי רק לפני קצת. אז דרך לכאן הוא מקום אלה, שני, ארבעה. ואנחנו לא ראינו גבוהים יותר מזה. אבל, כמובן, שהם כוחות של שני. שמונה, 16, 32, 64, ו128. אז אם אני עכשיו רוצה להיות קצת מגדלת מאשר באמצעות מתג בית ספר ישן זה, יש לי כאן באייפד זה ממשק פשוט סופר כי דן ברדלי, לשעבר סטודנט ובחור עכשיו מלמד, programed באמצעות כמה HTML וJavaScript, ש הם סימון ותכנות שפות בהתאמה. ואתה כנראה יכול see-- אפילו בback-- יש יתרון גדול ומינוס גדול, בתוספת כפתור אחד לכל אחת מהנורות הללו. ומה זה הולך כדי לאפשר לי אין הוא, למשל, לחץ בתוספת ועכשיו מייצג, של כמובן, מה מספר? אחת. ואני יכול להכות אותו שוב. שני. שלוש. ארבעה. חמש. שש. שבע. והנה עכשיו אנחנו מקבלים גלגול ש, אבל יש לנו קצת רביעי הפעם, אז עכשיו יש לנו שמונה. אז אנחנו יכולים לעשות את זה די הרבה זמן. למעשה, במאמר מוסגר, כמה גבוהה אנחנו יכולים לסמוך? כל אחד? קהל: 255. דוד י מלאן: 255, נכון? אל תדאגו יותר מדי לגבי המתמטיקה ל עכשיו, אבל זה מספר די הגון. אבל זה דווקא כן קשור רק חתיכות כמה ממידע, כמו מכתב, או גרפי שאנחנו יכולים לייצג. אבל לא משנה לעת עתה. אני הולך קדימה ולהפוך את כולם לדרך. ואם אני יכול, אני רוצה לבקש מתנדב, volunteer-- הראשון שלנו הו, hello-- על במה. המלכוד הוא שאתה צריך להיות נוח מופיע, כמו שאתה באופן ברור נמצא מול כל חבריו לכיתה שלך, כמו גם באינטרנט. ותן לי להסתכל קצת מעבר the-- מה דעתך על כאן בחולצה הלבנה? ויד למעלה. בואו למעלה. מה שמך? קהל: ג'קי. דוד י מלאן: ג'קי. ג'קי, מגיע בעד. אז מה יש גם בזה iPad הוא כפתור הנקרא מצב משחק. ומצב משחק זה הוא הולך כדי לאפשר לי קלט מראש עשרוני מסוימת מספר, המספרים אנו בני אדם מכיר. ואז אתה יהיה לערער כאן כדי להשתמש בכפתורים על top-- אחד ל כל אחד מאלה bulbs-- כדי להבין באמת הדפוס של נורות שמייצג את המספר בשאלה. ואני מצטער, מה היה השם שלך שוב? קהל: ג'קי. דוד י מלאן: ג'קי. בסדר. טוב לפגוש אותך. אז תן לי ללכת קדימה ותכנית ב עבור העולם כדי לראות את המספר 15. אנחנו נשמור אותו קטנים בראשונים כאן. ואני הולך להיכנס למצב משחק. ואני הולך לציין, לתת לנו את המספר 15. אישור. ועכשיו עם כולם watching-- אם אתה רוצה אולי לעמוד בדרך זו, כי זה יהיה בשורה up-- קדימה לעבור שמונה כפתורים לאורך החלק העליון כדי להפעיל את הנורות על או ביטול כפי שאתה רואה לנכון. קהל: אישור. דוד י מלאן: ולא רמאות על ידי להכות בתוספת 15 פעמים. אה, אנחנו הולכים לעשות את זה. קהל: אה, רגע. אני כל כך מצטער. דוד י מלאן: אתה יכול גם לפנות הנורות באופן אינדיבידואלי עם כל אחד מהכפתורים האלה על גבי. קהל: אה, אוקיי. כך שזה יהיה like-- דוד י מלאן: אישור. אז עכשיו יש לנו שמונה. אז בואו נעצור ל קהל לעסוק כאן. מה מספר הוא ג'קי מייצג כיום? 11. אז אנחנו כמעט שם. ומצוין. אז יש לנו הזוכה הראשון שלנו. מזל טוב. ואנחנו חשבנו שנהיה לנו כמה מתנות נהדרת. אם אתה רוצה להיות אחד כזה חדר במעונות כאן בקמפוס, אתה יכול לקבל את עצמך פרויקט גמר באמצעות החברה API זו, הודות לג'קי. אז now-- [מחיאות כפות] --if שיכולנו, אחד יותר כגון סביב זה. אה, עכשיו כולם רוצה כמה נורות. למהדורת ההאקר מה שנקרא, אנחנו הולכים להגביר אותו a-- הו, כן, לא מחייב. אני חושב שאתה עולה עכשיו אם היד שלך הולכת במורד. מה שמך? קהל: אלכס. דוד י מלאן: אלכס, יבוא לכאן ב. אז לאלכס, אנחנו הולכים תכנית במספר מעט גדול יותר. אולי כדי. המספר 50. קהל: אישור. דוד י מלאן: אבל, כ אני said-- ואתה עלול רוצה לעמוד כאן כל כך כי הכפתורים בשורה כפי שהיית expect-- אבל עשיתי קורא לזה מהדורת ההאקר. So-- מזל טוב! [שחוק] אתה תהיה מסוגל להפעיל אותם אם you-- אישור. מצוין. נפלא. מזל טוב. [מחיאות כפות] אני מניח שאני צריך לשלם. מזל טוב לאלכס, כמו גם. אישור. אז ממסעדה האולטימטיבית כאן הוא בתקווה, בכנות, simplicity-- פשטות שבה אתה יכול לקבל קצת אור נחמד נורות, כנראה ב[ לא ברור]. אבל הם מייצגים, סופו של דבר, את אותו רעיונות שבה אנו בני אדם כבר מוכר מדי. אז מה אולי הבא צעד להיות בהתקדמות של מנסה לעשות משהו מעניין עם נתונים ומייצג תשומות שהם לא רק מספרים, אבל הם אולי אותיות או יותר? ובכן, מתברר ש עולם מחשב, במשך שנים רבות, פשוט אימץ שרירותי אבל סטנדרטי הממפה מספרים עולים בקנה אחד לאותיות האלפבית. לדוגמא, כאן הוא קטע מתוך מיפוי ש. זה נקרא ASCII. -S-C-I-אני. וכי הוא פשוט שולחן הממפה letters-- רישיות בזה case-- עשרוני מספרים. אבל מה המשמעות? ובכן, אם אתה באמת רוצה לייצג משהו כמו דואר אלקטרוני או טקסט כלשהו בדף אינטרנט, אתה רוצה כמובן להראות האותיות האנושיות של האלפבית, לא מספרים. אז תלוי ב הקשר של התכנית שהמשתמש הוא משתמש, אם זה דפדפן אינטרנט או לקוח הדוא"ל, מספרים בהחלט יכולים להיות להתפרש כאותיות. כלומר, דפוסים של ביטים יכולים בקלות להתפרש כאותיות. ואז מה יכול להיות לנו היא האות הוויה מיוצג כ65, B להיות מיוצג כ66. אז אם יש לנו סופר מילה קצרה, כמו היי, מה מחשב סופו של דבר היית חנות בעשרונית אבל באמת בינארי, באמצעות כמה רצף של ביטים, מינוף קצת חשמל בדרך כלשהי, יהיו שני המספרים 72 ו73. אבל הדפוס של ביטים ש מייצג את הערכים האלה. אז אלה אז הם איך אנחנו יכולים מייצג תשומות ותפוקות שלנו. ודי אם נאמר, שביכולתנו לעשות ייצוגים מורכבים יותר סופו של דבר עם דברים כמו גרפיקה, קטעי וידאו, מוסיקה, ועוד כפי שנראה מאוחר יותר במונח זה. אז זה משאיר רק לאחר מכן אלגוריתמים, מערכות אלה של הוראות שבה אנחנו פתרון בעיות בפועל. אנחנו עוברים בתשומות לאלגוריתמים. ואלגוריתמים אלה מייצרים פלטים, פלטים נכונים בתקווה ובתקווה, גם, יעילות שנאסף תפוקות. במילים אחרות, זה דבר אחד כדי ליישם משהו בצורה נכונה. זה עוד דבר ליישום משהו טוב או ביעילות. לדוגמא, הפגנה אחת שאנחנו מחבבים בקורס זה אחד. אבל הדברים האלה מקבלים קשה יותר ויותר למצוא. אבל זה אכן בית ספר ישן ספר טלפונים, ובתוכה הם 1,000 דפים בתוספת של שמות ומספרי טלפון. ואם אני רוצה להסתכל למעלה מישהו בספר טלפונים זה, אני פשוט יכול לעשות אלגוריתם נאיבי מאוד. אני יכול לפתוח בעמוד הראשון, ו אני יכול להתחיל לחפש, למשל, מישהו בשם מייק סמית. ואם הוא לא בראשון דף, אני מתקדם לשני, ולאחר מכן לשלישי, ולאחר מכן לרביעי, וכן הלאה, עד שסוף הסוף למצוא מייק סמית. עכשיו הוא אלגוריתם זה נכון? קהל: כן. דוד י מלאן: כן. אם הוא שם, אני סופו של דבר למצוא אותו. אבל זה ללא ספק לא מאוד יעיל, בוודאי לא מהיר, כי, אלוהים, למה אני מבזבז את הזמן שלי מרפרף בכל אחד מהדפים הללו כאשר אני יכול בהחלט לעשות מבחינה פיזית מהר יותר זה? ובכן, אופטימיזציה קלה, כל כך ל לדבר, יכול להיות לא דף אחד בכל פעם, אבל שני, ארבעה, שש, שמונה, 10. עדיין נכון? קהל: מס ' דוד י מלאן: אז לא אם אני ל למשל לדלג על מייק סמית. אבל כל עוד אני לגבות דוושה עמוד אחד, אם אני להחטיא את מטרתו, אולי נוכל לתקן את מה ש אחר עלולים להיות תפסתי אותך. אבל האם זה טוב יותר? האם זה יותר מהר? אני מתכוון, כן. זה ממש מהר פעמיים אם אני עושה את שני עמודים בכל פעם. אז אם לא היה לי במקור 1,000 דפים, עכשיו אני רק צריך להעיף 500 פעמים, לא באופן מלא 1,000 דפים כדי לקבל פוטנציאל במקרה הגרוע ביותר בסופו של הטלפון ספר, שבו מישהו כמו מייק סמית או מישהו עם שם מאוחר יותר עשוי להיות דווקא. אבל, כמובן, שאנו בני אדם הם בהחלט לא הולך לעשות את זה, בוודאי לא בשלב בחיינו זה. מה הוא סביר אדם סביר הולך לעשות? קהל: לכו ישר לthe9 S של. דוד י מלאן: לכו ישר לS של? איך אני הולך ישר לS של? קהל: לקרוע אותו לשתיים. דוד י מלאן: ובכן, אין סימון. אז, כן, אם אכן היו תווית או כרטיסייה דביקה לS, אנחנו צריכים לקפוץ ישר לשם. אבל זה די בלתי מזיק. אז הכי טוב שאני יכול לעשות הוא בערך לסעיף S או אולי בערך למרכז. אבל ממסעדה המפתח now-- והאינטואיציה כי אתה כבר נלקח ל מובן מאליו במשך שנות probably-- זה מה שעושה לך עכשיו יודע על בעיה זו? קהל: [לא ברור] דוד י מלאן: מייק סמית היא ללא ספק לא במחצית מהבעיה כי סמית מגיעה אחרי האמצע שזה בערך סעיף ז, זה נראה לי. אז כפי שאתם יכולים לראות ב Visitas, אנחנו יכולים עכשיו, פשוטו כמשמעו, לקרוע את הבעיה הזו במחצית. קהל: וו! דוד י מלאן: זה מקבל יותר ויותר קל. [מחיאות כפות] הנה לך. [שחוק] ועכשיו אני ביסודו יש את אותה בעיה, אבל זה ממש חצי כגדול. אני עדיין מחפש מייק סמית. ואני מעז לומר, עדיין אני יכול לחפש אותו באותה הדרך, פיצול הבעיה במחצית שוב, קורע את הבעיה שוב במחצית, שעכשיו יוצאת איתי בעיה רבע מהגודל, באופן דרמטי לזרוק שמחצית משם, ו לחזור על תהליך זה שוב ושוב ושוב, מעיף מבט למטה בכל נקודה כדי לראות אם מייק סמית היא על הדף מדובר. עכשיו, אם אני עושה את זה נכון, סופו של דבר אני תמצא את עצמי עם רק עמוד אחד שבו מייק סמית הוא אם הוא אכן בספר טלפונים. כמובן, שאני יכול אף פעם לא קורא מייק שוב. אבל הנקודה כאן היא שאם התחלנו עם 1,000 דפים, האלגוריתם הראשון שלי, להעיף את הדף, אולי 1,000 times-- בהחלט פחות כי זה שם S ולא ת שם, אבל כ כמה ש1,000 דפים שעלולים להיות. אלגוריתם שני, טוב יותר. 500 עמודים. אלגוריתם שלישי, אם כי, כמה צעדים היית זה לקחת לחלק דף 1,000 ספר טלפונים במחצית ככה? 10, פחות או יותר. אז רק על ידי לדפדף ש ספר טלפונים, צלילה וכיבוש, אם אפשר לומר כך, 10 פעמים, יהיה אני עושה בדרך שלי למטה רק דף אחד בודד. וכך אנו יכולים ללכוד אינטואיציה זה עכשיו קצת גרפי אם אתה רק רואה גרף סופר פשוט הזאת. אנחנו בציר x, או אופקי ציר, הוא בגודל של הבעיה שלי, את מספר העמודים בספר טלפונים. ומדעני מחשב בדרך כלל אוהבים לקרוא בגודל של n בעיה, שבו n הוא רק חלק משתנה ש represents-- בזה case-- מספר העמודים. ציר y האנכי, או, כאן הוא הולך להיות הזמן לפתור, אולי מספר סיבובי דף, אולי מספר שניות או דקות, כל מה ש יחידת המידה שלך היא. וכך הקו האדום הזה מייצג את האלגוריתם הראשון, בגלל שיש אחד לאחד קשר בין המספר דפים ומשך זמן שלוקח. אם Verizon מכפיל את מספר דפים בספר טלפונים בשנה הבאה, הריצה שלי time-- זמן דרוש לביצוע שalgorithm-- הראשון מכפיל את המקרה הגרוע ביותר. אבל האלגוריתם השני, לאן אני מרפרף על ידי שתי, דורש פחות זמן ל בעיה גודל נתון. אז אם יש לי את זה הרבה הודעת here-- דפים כי הקו הצהוב מציע פחות זמן לפתור. ואכן, הוא מייצג, אנחנו אומרים, n יותר משני. אבל מה את הצורה של ג ועקומה סופית הולכת להיראות? כן, זה אכן הולך look-- אני לא יודע מה אתה הולך להגיד. אבל בואו נראה מה אתה הולך להגיד. קהל: כמו ש. דוד י מלאן: זה הולך להיראות כמו , Exactly-- slope-- לוגריתמים זה לפי שיש לך השיפוע מוזר הזאת. זה כבר לא קו ישר. ומה משכנע על זה הוא ש למרות שהגרף עכשיו מנותק, אתה יכול להסיק בך אכפת כי כי הקו ירוק לא הולך להגדיל ב גובה כל כך הרבה ככל שאתה מתקדם עוד יותר מטה שציר אופקי. ואכן, ורייזון, ל למשל, יכול להכפיל את מספר העמודים בטלפון ספר בין השנה ובשנה הבאה מ1,000 2000 דפים, אבל לא ביג דיל. עם זה שלישי ואחרון, יש אלגוריתם אינטואיטיבי חלוקת וכיבוש. זה הולך לקחת לי עוד כמה צעדים בשנה הבאה למצוא מישהו כמו מייק סמית? קהל: אחת. דוד י מלאן: יש רק דבר אחד. והם יכולים לרבע אותו, זה הולך לקחת לי רק שני צעדים נוספים וכן הלאה. ואז זה הוא עדות ל כמה כמה תכנון זהיר וקצת הערכה למה ש התשומות שלך יכול לעשות אפילו טוב יותר. עכשיו אנחנו בוגדים קצת במובן שאנחנו מינוף הנחה. מה היא ההנחה שלי על ספר הטלפונים שלנו זה אפשר לי פרד ומשול באופן אינטואיטיבי, ועדיין נכון זה? קהל: [לא ברור] דוד י מלאן: כן. אז זה היה הורה. זה היה בסדר אלפביתי ידי חברת ספר טלפונים. אם זה היה בסדר אקראי, ש יהיה גיהינום של ספר טלפונים, אבל זה בהחלט לא היית להשאיל את עצמו לאלגוריתם הייתי, כי אתה אף פעם לא היית רק במקרה על פני מייק סמית אם אתה כל הזמן החלוקה ב מחצית בדרך שבמקרה. אז בואו עכשיו למסד מה בבירור אינטואיטיבי. אז משהו שנקרא pseudocode מקום שבו שנציע ב תתחיל כמה מהבעיות הראשוניות שלנו. וזו היא דרך הגנרית של מתאר תכנית מחשב אלגוריתם או, לא באמצעות C, או C ++, או Java, או כל שפה מסוימת, אבל רק באמצעות אנגלית, עם שכל אדם יכול להיות מוכר. ואנחנו יכולים לכתוב pseudocode לבעיה זו באופן הבא. השלב ראשון, להרים את ספר טלפונים. שלב שני, פתוחים לאמצע ספר טלפונים. שלב שלישי, מסתכל על השמות. צעד ארבעה, אם סמית היא בין names-- ועכשיו זה הוא מבנה מעניין. זוהי נקודת החלטה. זה מזלג בכביש, אם אתה יהיה, סניף, אם אפשר לומר כך. אז אני הולך להגביה רק על ידי הוועידה step-- לא five-- שבו הוא למשל, אני אתקשר אל מייק. אז הזחה זה, לגמרי אמנה אנושית שרירותית, אבל זה פשוט נועד להעביר סמנטי שאם סמית היא בין שמות, אז אני צריך להתקשר למייק. בינתיים בשלב שש, הודעה שהכניסה נעלמה. אז אחר הוא המזלג האחר ב כביש, הכביש האחר אני יכול לנסוע. אז אחר אם סמית היא מוקדם יותר בספר, מה הצעד הבא שלי כנראה הולך להיות כאן? קהל: אתה הולך לצד השמאל. דוד י מלאן: כן, אז ללכת ל המחצית השמאלית של ספר טלפונים. לזרוק את החצי הימני אם סמית היא קודם לכן בספר. כל כך פתוח לאמצע המחצית השמאלית של הספר. ואז צעד שמונה, ללכת בקו שלוש. ואת זה הוא לולאה מוזרה אני התרמה, רקורסיה כביכול. אבל עוד על כך בעתיד. אני משתמש באותו האלגוריתם שלי, אותו pseudocode שלי, כדי לפתור את אותה הבעיה שוב כי דבר היחיד שהשתנה הוא בגודל של הבעיה, לא המטרה שלי, ולא האדם אני מחפש. אז אני יכול לעשות שימוש חוזר באלגוריתם כי אני כבר מוגדר. אחר אם סמית היא מאוחר יותר בbook-- אולי אתה guess-- פתוח לאמצע המחצית הימנית של הספר. ושוב, ללכת בקו שלוש. Else-- מה השורה הסופית בתכנית זו הולכת להיות? אם הוא לא בין שמות על הדף אני ב, אם הוא לא קודם לכן ב הספר, והוא לא אחר כך בספר, מה לעשות אני יודע זה נכון גם לגבי מייק סמית עכשיו? קהל: הוא לא בספר. דוד י מלאן: הוא לא בספר. אז הכי טוב שאני יכול לעשות הוא פשוט לוותר ולהפסיק תכנית זו. בסדר. לכן בשלב זה, בואו ניקח את סיור מהיר של חלק ממה שמצפה. ואכן, אני מצטרף כאן על ידי מספר עובדי CS50. אם האנשים האלה כל יכולים תצטרף אליי לכאן על במה. [מחיאות כפות] אכפת לך, זה הוא רק קבוצת משנה של צוות CS50, מאז בכל שנה יש לנו כמעט 100 צוות חברים בתפקידים של עוזרים כמובן, עמיתי הוראה, ועוד. בואו למעלה. אז הם יצטרפו אלינו כאן בצורה מוזרה לרגע כפי שאנו נותנים סיור מערבולת של מה אתה צריך לצפות כאן בקורס. אז בראש ובראשונה, יש לנו SAT / UNS כאופציה לדירוג בקורס. זה נועד במכוון להיות לפי אופציה אם אתה קצת לא בנוח בלהיות בקורס, ואתה חושש failure-- גם אם בכנות כישלון פירושו לפגוע בממוצע הציונים שלך, מקבל B ולא A-- שהוא בדיוק מה, בוודאי לשער כמובן כמו CS50 ואחר קורסי מבוא, אפשרות לדירוג זה נועדה לאפשר. אני בלב שלם ממליץ students-- במיוחד אם בfence-- להתחיל כמובן SAT / UNS, אפילו להישאר SAT / UNS. אבל אתה בהחלט יכול לעבור למכתב כיתה על ידי ביום שני החמישי בטווח. למען האמת, כשאני הייתה בכיתה ט 'בשינה 1995, אני בעצמי אפילו לא לקחתי CS50 כי אני לא קבלתי את האומץ למעשה לדרוך בכיתה. רחוק מדי זה נראה תחום לא מוכר לי ובאמת רק עבור אלה חברים שלי, בכנות, שהיה תכנות מאז שהיו בן שש או אולי 10 שנים בן. וזה היה רק ​​בגלל שהייתי תוכל לקחת CS50 ביום שלי בגרסה המקבילה של SAT / לעבור UNS-- / נכשל שוב בday-- כי גם אני לקחתי 50. ודרך זו או אחר, אני כאן שוב איתכם היום. עכשיו בינתיים מה עוד אתה צריך לזכור על 50 הוא גיוס בו זמנית. בניגוד לשמועות ש אתה אולי שמעת, אתה יכול, למעשה, בו זמנית להירשם CS50 וכיתה נוספת ש פוגש באותו או חופף בחלקם זמן כמו ההרצאות של CS50 ממש כאן. ראה תכנית הלימודים לפרטים של היישום. הרצאות, דיונים, בינתיים, בניגוד ל מה באופן רשמי בקטלוג, בדרך כלל רק נפגש לרק שעה. בהזדמנות אנו עשויים לרוץ קצת ארוכים. אבל יש לזכור ש מטרה בהרצאות של CS50 הוא לספק לך סקירה מושגית, אני מקווה שכמה הפגנות, אולי אפילו כמה מתנות, ממה שמצפה ל השבוע. העוקב וכך בהרצאות, אנו לחקור אלה נושאים ודוגמאות יחד, הבאת סטודנטים על במה, ו צוות עולה לבמה לעתים קרובות ככל שביכולתנו, רק כמה שעות בכל שבוע. סעיפים, בינתיים, יהיו המוצע על ידי האנשים האלה here-- רבים מהם ללמד את הבחורים, כמה מהם כמובן assistants-- להיות שזה קורה שבועי. ומה מפתח כדי לשמור על בראש הוא שאנחנו ש אל have-- לא בניגוד הראשון לילות, המוזיקה class-- מסלולים שונים של חלקים ל תלמידים פחות נוחים, יותר נוח, ואי שם באמצע. ולמען אמת, אתה יודע אם אתה פחות נוח. ואתה בוודאי יודע אם אתה יותר בנוח. ואם אתה לא ממש בטוח, אתה על ידי הגדרה איפשהו באמצע. אז כשזה מגיע זמן לסעיף בשבוע או משהו כזה, לתכנית הלימודים, נבקש ממך את השאלה הזאת. ואתה יכול לבחור עצמי מבוסס על רמת הנוחות שלך ולהיות עם students-- להיות עם ירוק dots-- דומה ברמת נוחות לך. בינתיים, יש לנו בעיה קובע, שסופו של דבר יהיה להגדיר את החוויה שלך בקורס זה. הם הציעו בדרך כלל במהדורות מרובות. מהדורה סטנדרטית שאנו מצפים ביותר כל תלמיד בקורס להתמודדות עם אבל גם מהדורת האקר שנקרא שלא מציע שום צורה של אשראי נוסף על הסף אבל באמת זכויות ההתרברבות לומר שניסית, והתמודדו עם מהדורות ההאקר של הקורס ש להתקרב לחומר הדומה אבל מזווית מתוחכמת יותר. מה שאנחנו מציעים ל מהדורה סטנדרטית, ל, שוב, רוב סופר של תלמידים, אינם ללכת על מודעות רק, שהם קטעי וידאו בראשות צוות של הקורס כי באמת לך ללכת דרך בעיות של הקורס ועיצוב אפשרי מימושים. ואנחנו גם, לאחר למעשה, מציע ניתוח שאחרי, לפיה אם אתה תוהה איך יכול להיות לך או היה צריך לפתור כמה בעיה, צוות ההוראה תעבור אלה בוידאו, כמו גם. בינתיים, מה מחכה לי גם הם חמישה ימים מאוחר והעובדה שאנחנו נרד הבעיה הנמוכה ביותר שנקבעה ציון. אנחנו בהחלט מעריכים כי בתמורה לעומס העבודה ש50 מצפה שלך, חיים מקבלים את הדרך לפעמים, אם לא חמש פעמים. ואז זה יהיה להציע לך קצת גמישות, הארכת המועד האחרון שלך מ, למשל, יום חמישי בצהריים ליום שישי בצהריים. ראה תכנית הלימודים ל פרטי הביצוע. עכשיו מה עכשיו מחכה? וזה מתרחש רק לי עכשיו כמה זמן אני נתקלתי בחבר 'ה עומדת כאן על במה. [שחוק] דוד י מלאן: אבל עוד נגיע ל גימור השיא לפני זמן רב. אז מה מחכה לי במונחים של סטי הבעיה? ובכן, אולי טיזר של מה שכולנו עשה בשנה שעברה עם קודמיך. בסט הבעיה הראשון בשנה שעברה, הצגנו שריטה, גרפי שפת תכנות ש מאפשר לך לתכנת, פשוטו כמשמעו, על ידי גרירה ושחרור של חתיכות פאזל, כמו אלה, כי הם מזכיר את המבנים יראה רק בשבוע אחד לכן, כאשר אנחנו עוברים למסורתי יותר שפה, הידועה בשם ג בשנה שעבר המשיכו לקבוצת בעיה זו, מעורב לקריפטוגרפיה, הערבול של מידע כדי למנוע ממנו 'חברים ממשלתיים או עיניים שאתה לא רוצה לראות את זה. מקודד בכאן הוא הודעה כי בקרוב אתה תוכל לפענח או דה לטרוף. הפריצה הייתה בעיה נקבע בשנה שעברה, שבו אתה משתמש בתכנות מצא חדש כישורים ליישם בפועל משחק wherein-- כמו שאתה אולי זוכר מchildhood-- המטרה הייתה לנגח לבנים שעל גבי המסך כאן, צבירה ציון לאורך הדרך, ויישום אלגוריתמים משלך עם איזה פתרון זה סופו של דבר מאפשר לך לשחק את המשחק. בינתיים, בהמשך סמסטר, אנו נותנים לך מילון של 143091 מילות באנגלית. ואתה יהיה לערער כדי לכתוב תכנית ש לאיית בדיקות, מסמכים, על ידי טעינת מילים שרבות בזיכרון ביעילות רבה ככל האפשר. בדרך כלל צבת לך נגד חבריו לכיתה שלך אם תבחר לקצת אתגר בלוח המנהיג כדי לראות מי יכול להשתמש בהכי מעט שניות של זמן ריצה, והמספר הקטן ביותר מגה בייט של זיכרון, ולמעשה כיוון עדין התוכניות שלך להיות משאב יעיל להפליא לא רק זמן. בשנה שעברה, גם, שאנחנו נראים בסוף של הסמסטר בתכנות האינטרנט. ואכן, אנחנו נעשה את זה שוב זה שנה עם סטי בעיה מרובים, מציג בפניך את הטכניקות ו את הלך הרוח שבה אתה יכול ליישם כישורי תכנות אלה ל אתרים, אתרים דינמיים, אתרים שבעצם לפתור בעיות ומתנהגים בצורה שונה ולא פשוט סטטי אתרים עם מידע סטטי. פרויקט הגמר סופו של דבר יגדיר, אם כי, שיאו של הקורס לסטודנטים, שבו אתה תהיה תיגר ליישם רוב משהו מעניין לך, כל עוד זה איכשהו מסתמך על השיעורים של הקורס. וכפי שראית ב וידאו בתחילת, נסיים את הסמסטר עם CS50 Hackathon, שאם, לא מוכר, יתחיל בשעה 7:00 לילה אחד ו בסופו של ב7:00 למחרת בבוקר. בסביבות שעה 9:00 בערב, שנציע ב סדר בארוחת ערב ראשון. בסביבות שעה 1:00 בבוקר, שנציע ב סדר בארוחת ערב שני. ואם אתה עדיין עומד שעת 5:00 בבוקר, אנחנו יהיה הסעות באוטובוס אתה לIHOP לארוחת בוקר. יריד CS50, בינתיים, הוא אירוע שאליו 2,000 בתוספת סגל, סטודנטים, וצוות מכל רחבי קמפוס תבואו לראות את ההישגים שלך בקורס והסופי פרויקטים ויצירות שאתה יוצר על המחשבים הניידים שלכם, שולחנות עבודה, או נורות אולי אפילו אור. בינתיים, שעתי עבודה ומבנה התמיכה. ועכשיו זה היה כבר זמן טוב יותר כדי להביא את כולך עד. שעתי העבודה תתקיים ארבעה לילות בשבוע במשך שעות מרובות בכל לילה עם בדרך כלל 20 עד 30 של צוות של הקורס על החובה בבת אחת כדי לספק לך אינטימי אחד על אחד הזדמנויות לתמיכה עם סטי הבעיה של הקורס. שיעורים גם יהיו זמין, במיוחד לתלמידים פחות comfortable-- או מעז לומר לפחות comfortable-- עבורם שעתי עבודה הן לא רוב הסביבה המטפחת והם בהחלט לא רוב ללא המתח. במיוחד כאשר מועדי לחיצה, אנחנו באופן יזום יהיה זוגך את עצמנו עם חבר צוות לעבוד עם על כמה לוח זמנים קבועים כצרכימים שלך ולוח הזמנים שלהם מאפשר. וצוות. הרשה לי להציג דבון, רוב, וגבריאל, הראשים של השנה. אם כל אחד הייתי רוצה say-- [מחיאות כפות] מילת --a. [מחיאות כפות] דבון כאן הוא מנהל קורס, ש משמעות הדבר היא בתפקיד במשרה מלאה שלו הוא מסייע בביצוע ולוגיסטיקה של CS50. דבון: כן, היי, חבר 'ה. אתה רואה הרבה לי בשעתי עבודה. אני מלמד את החלקים. ואם אתה יורה מיילים קדימה, אני כנראה תהיה להגיב. אז אני אראה הרבה מכם כל הסמסטר. וברוכים באים לCS50. דוד י מלאן: ועכשיו גבריאל, ש עצמו היה רק ​​בכיתה ט 'בשנה שעברה, אבל עבור בני הזוג של השנים האחרונים יש פועל הגרסה של CS50 בברזיל, לפיה הוא הוריד כל content-- של הקורס וזו ללא ספק להיות צילמתי והניח online-- כדי שהוא יוכל לתרגם אותו ל פורטוגזית ולאחר מכן ללמד יותר מ -100 של חבריו לכיתה על במהלך כמה שנים, מלמד בשפה האם שלו תכנית הלימודים של הקורס. גבריאל: שלום. [מחיאות כפות] גבריאל: היי, אני גבריאל. אני TF ראש המסלול. ואני מקווה שאוהב את CS50. זה CS50. דוד י מלאן: עכשיו לרוב. אה, אתה רוצה הקדמה? ROB: לא, אני לא יודע. [שחוק] דוד י מלאן: ורוב בודן. [שחוק] ROB: היי, אני רוב. זו השנה החמישית שלי מעורב עם הקורס. בכל שנה, זה פשוט טוב יותר ומעמד טוב יותר, כך אתם נמצאים באופן ברור הולך להיות מדהים. אני מקווה שלכולכם להשתעשע עם זה. אני הולך להשתעשע עם זה. אז רואה אותך בסביבה. דוד י מלאן: ו הזמן לא יאפשר us-- [מחיאות כפות] הזמן לא יאפשר לנו להציג את כולם על הבמה וכל עמיתיהם שעורך את קניותיהם שיעורים היום. אבל הרשה לי להציג פאזל בלינדה וCS50 יום, שמחכה זה שבת הקרובה, בי הוא הראשון מ אירועים בקנה מידה הגדולים של קורס. זה אחד בפרט נועד פטיש בית הנקודה שמדעי המחשב הוא סופו של דבר לא על תכנות, אלא על פתרון בעיות באופן כללי יותר. ופאזל יום, כפי שאתה לראות, יביא לך והחברים לכיתה שלך together-- אנו מקווים בשבת קרובה. בלינדה: אישור. היי, חבר 'ה. אז תודה. אז כפי שהקפטן המהולל שלנו אמר, של השם שלי בלינדה. אני בכיתה י 'בבית קווינסי. אני, בדיוק כמוך חבר 'ה, לקח השנה CS50 האחרונה, ממש אהבתי את זה. יש לי חולשה ל אתם בשורה השלישית. ואני גאה לומר, שאני עכשיו במערכת יחסים מחויבת עם CS50 [לא ברור]. אישור. זה היה הגרסה הצולעת שלי של בדיחה. בכל אופן, כל כך מרגש על, רק רציתי להזמין את אתם כל למעבדה-i, או כוורות HBS. אנחנו הולכים להיות שיש פאזל יום 12:00-3:00. וזו הזדמנות מצוינת בשבילך החבר 'ה להיפגש עם חברי CS הבחור שלך, לפתור כמה שאינו CS חידות, כמו קפטן ציינו, וגם לאכול קצת אוכל חינם, להרוויח כמה פרסים מדהים, כמו כרטיסי מתנה, 75 $ לאדם, וalso-- מה זה היה? Wii U או משהו? Wii U? כן. להגרלה שלנו. מדהים. אז אני אשאר בסביבה אחרי השיעור. ואם יש לכם כל שאלות, תנו לי לדעת. דוד י מלאן: ואתם תראו, מעבר זה אין מה לעשות היום. להגדיר את הבעיה הראשונה אצא ביום שישי. אבל כדי להביא אותנו הביתה היום, אני רוצה להכיר לך באופן ספציפי לאחד יותר חבר בצוות, קולטון אוגדן כאן, שידיו עכשיו מוגן מעליך עם בקר MIDI זה פטיש בית הנקודה נוסף שמדעי המחשב, מדי, יש תחולה הרבה מעבר להנדסה וגזע ואת עצמו למדעי מחשב, הארכה אפילו לכאלה תחומים כמו מוסיקה. קולטון יש חביבות offered-- חשבתי אחד מהם היה הולך לתקן את הפוקוס. אנדרו, מיקוד אם נוכל לזמן כאן רק לרגע. מה קולטון עשה מראש היא תכנית מכשיר זה, משטח הזה של כפתורים שאתה רואה בתמונה כאן למעלה, כבקר MIDI, לפי כל אחד מהכפתורים האלה קווית כדי תו מוסיקלי מסוים או צליל, באופן כללי יותר הקלטה, כך שעל ידי משחק דפוסים אלה כפתורים, בדומה לדפוסים של ביטים, יכול לייצג אחר מושגים ברמה גבוהים יותר. האם הוא יהיה מסוגל סופו של דבר שתיקח אותנו הביתה לכאן היום? בלי שהיות, אם אנחנו יכולים לעמעם את האורות, ולהפעיל את המסך מאחורי קולטון. קהל: וו! דוד י מלאן: זה CS50. [השמעת מוסיקה] [מחיאות כפות] זהו זה לCS50. אנחנו אראה אותך ביום שישי. עוגה כמה מחכה לכם בבית הרוחב. [השמעת מוסיקה]