>> [וידאו השמעה]
>> [סגירת דלת מכונית]
>> [התנעת מנוע מכונית]
>> [השמעת מוסיקה]
>> -Moving תקין לאורך בחיפוש של זמנים טובים וחדשות טובות.
עם חברים טובים שאתה לא יכול להפסיד.
>> -זהו יכול להפוך להרגל.
>> דפיקות -Opportunity בואו רק להושיט יד ולתפוס אותו.
'כן!
, המהווים יחד אנחנו נתפוס אותו.
טיול תקלה, חדים, אוטובוס, או מונית צהובה זה.
-Dammit.
אנחנו כבר נעו ימינה לאורך.
-Footloose ומפואר בחינם.
-Getting יש חצי הכיף.
בואו לשתף אותו איתי.
>> אנחנו כבר נעו ימינה לאורך.
>> "בקרוב הולך לחלוק את העומס.
>> -אנו לא צריך מפה ל לקבל תכנית זו על הכביש.
הי, Fozzy, אני רוצה שפונה שמאלה אם אתה בא למזלג בכביש.
-כן אדוני.
פונה שמאלה במזלג הדרכים בכביש.
פונה שמאלה.
>> -אני לא מאמין ש.
>> -Cruising תקין לאורך מצאנו האורות בכביש.
>> -ואז הדרך שלך או בדרך שלי.
>> -אז סומך הניווט שלי.
>> כוכבי -Movie עם מכוניות נוצצות וחיים עם הראש למטה.
>> "בקרוב מסתער על הגבעות הגדולות.
>> 'כן, סערה היא נכונה.
זה צריך להיות שלג?
>> לא, אני לא חושב כך.
>> -Moving תקין לאורך.
>> -Footloose ומפואר בחינם.
>> "אתה מוכן לזמן הגדול.
>> 'האם זה מוכן בשבילי?
>> -Moving תקין לאורך.
נע ימינה לאורך.
-אני חושב שאתה טוב יותר לעצור בצד הדרך.
-כן אדוני.
>> [סוף ההשמעה]
>> [מחיאות כפות]
>> דוד י מלאן: זה CS50.
וזה סוף השבוע 0, אבל תחילתה של ידידות מופלאה.
אנחנו כל כך נרגשים להיות כאן באוניברסיטת ייל
בפעם הראשונה עימנו חבר Scaz, וג'ייסון, ואנדי.
כל 40 של TF של של CS50 וCA כאן באוניברסיטת ייל.
וכולכם.
ולמעשה, זה כנראה זמן צריכה--
>> [מחיאות כפות]
>> אז, למרות שרוב ההרצאות אכן יהיה בקיימברידג 'בשנה זו,
המציאות היא שעל ידי עיצוב, ו מאוד במכוון בCS50,
אני חושב שאנחנו מתקרבים לנקודה מבחינה טכנולוגית, ופדגוגי,
שבו הוא יכול להיות מעולה חינוכי ניסיון לעסוק עם כמה
של אינטרנט החומר של הקורס.
ואכן, reality-- ואם אני מאמין philosophically-- זה הוא שהרצאות
לא במיוחד אמצעי יעיל להעברה
מידע מורכב למדי.
בהחלט מעל השעה משתרע על פני זמן בתוספת זמן.
ואכן כל כמה minutes-- אני זוכר את עצמי בcollege--
אתה לייעד אותו לרגע, אתה מתגעגע כמה נושא מורכב,
ואתה נעלם די הרבה במשך 45 הדקות הבאות.
והמציאות היא שאם אתה כאן בניו הייבן או קיימברידג '
או מעבר, את הפשטות שיש היכולת להשהות וקדימה מהר,
אחורה, קישור בנושא משאבים, תעתיקי טקסט מלא חיפוש
וכמו הזדמנות ש אני מעז לומר לתלמידים שלנו באינטרנט
הרבה מעבר לניו הייבן, מציע להם הזדמנות
באמת לתפוס את חומר רעיוני ש
להציג בהרצאות כל טוב יותר.
>> אבל סופו של דבר בCS50, הוא הניסיון של התלמידים
מאופיין כל כך, כל כך הרבה יותר על ידי סטי הבעיה של הקורס,
או פרויקטי תכנות שבועיים, החלקים של הקורס בראשות ההוראה
בחורים, שעתי העבודה הליליות בראשות העוזרים כמובן והוראה
בחורים, ואכן כזה אירועים כמו פאזל CS50
היום, האק-א-תון של CS50, CS50 הוגן, ארוחות צהריים שבועיות, והרבה מעבר לכך.
ואז אם אתה כאן בניו הייבן, או כוונון במרחוק,
היום בקיימברידג ', ו נתראה שוב בקרוב,
המציאות היא זו אחד ואותו הסוג.
ואנחנו כל כך מתרגשים להיות כאן כולם יחד היום.
וכך בסוף הסמסטר, אם כאן או מרחוק, גם
אני מקווה שאתה לובש בגאווה, בשמחה, ואולי עם קצת הקלה,
החולצה שמעידה לך שלקח CS50.
>> אז איפה אנחנו לא נעזוב את ביום רביעי?
לקחנו להסתכל ב חשיבה חישובית.
וזה לכיוון מה שאנחנו מזוקקים מדעי מחשב אל, לפחות
לעת עתה.
אבל אנחנו מזוקקים זה עוד קצת ל לפחות שלושה מרכיבי אלמנטים.
>> תשומות, אז מה הוא בעיה שאנחנו מנסים לפתור?
פלטים, מה הוא לענות אנחנו מקווים לקבל?
והייצוג של שם.
ואנחנו לא נשכון כאן ב לאחר ב, או אפילו ASCII בינארי,
וכמו כל כך הרבה, אבל ולא לקחת כמובן מאליו
שאנחנו יכולים לייצג את המידע הזה, כי החלקים הרבה יותר מעניינים
בעיות אלה אינם רק כניסות ויציאות, אבל האלגוריתמים
שייכנס לפתרון בעיות אלה.
>> וייתכן שזוכר מ היום האחר ש
לקחתי די מסורתי רעיון של מישהו מסתכל למעלה
בספר טלפונים גדול למדי, או באופן כללי יותר דיגיטלי בימים אלה,
רק ערכת נתונים גדולה מאוד.
רשימת אנשי קשר של ממש גדולה, עם הרבה שמות מסודרים לפי סדר אלפביתי.
והבנו שבזמן ש יכול לגשת לבעיה זו פשוט
באמצעות יניארי דף approach-- לפי דף,
או אפילו שני של בtime-- הבנו שalgorithm-- אינטואיטיבי יותר
רק סוג של החלוקה ולכבוש הבעיה שוב, ושוב,
וagain-- וחצה אותו עם כל אחד זמן, נתן לנו תוצאה ירוקה זה.
וזה כל כך הרבה להחמיא כי זה מרמז
כי גם כבעיה זו מקבל יותר ויותר גדול,
כמו במקרה בימים אלה עם הנתונים סטים ופייסבוק reality-- וגוגל
תוצאות חיפוש ו like-- עושה האלגוריתם שלנו
לבצע רק בצורה יעילה עם עקיצות גדולות אלה
כפי שעשה גם עם העקיצות הקטנות יותר.
>> עכשיו זה מעלה את השאלה, מה אנחנו יכולים למעשה לפתור באופן דומה
עם אינטואיציה סוג זה?
זה סוג של חלוקה ולכבוש?
ובכן, אנחנו יכולים לעשות משהו כמו היום זה כאן.
אנחנו יכולים לקחת את הנוכחות.
אז אולי כמו 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11--
לא הולך להיות כל יעיל ש.
אז לחכות, בית ספר יסודי.
2, 4, 6, 8, 10, 12, 14, 16, 18 וכן הלאה.
אבל אנחנו יכולים לעשות קצת יותר טובים?
>> אני די בטוח שאני לא יכול לעשות את זה בעצמי.
אז אם תוכל הומורנו רק רגע, שהבאנו איתנו
אלגוריתם זה יש רק שלושה שלבים,
אבל זה require-- אם אתה לא mind-- כולנו לקום,
אם היית.
אז, עם כולנו עומד עכשיו, צעד אחד של אלגוריתם זה הוא הבא.
סטנד אפ ולהקצות את עצמך המספר 1.
אז בנקודה זו בזמן, פשוטו כמשמעו, כולם בחדר הזה
אני מקווה חושב לעצמם, עם זאת בצורה מוזרה, המספר 1.
>> עכשיו שלב השני של אלגוריתם זה הוא הולך לערב הבא.
שלב שני, בזוגות עם מישהו עומד,
להוסיף המספרים שלך יחד, ו לאמץ את הסכום כמספר החדש שלך.
בדיקת שפיות מהירה.
מה מספר שכולם חושבים על עכשיו?
>> אז 2, מלבד אולי לאחד, אדם מוזר, בודד.
אם יש לנו מספר אי-זוגי אנשים בחדר.
אז אדם אחד יכול עדיין להיות המספר 1, זה בסדר.
אבל שלב שלישי כאן, אחד שלך צריך לשבת.
האחרים צריכים לחזור לצעד שני, ולחזור, אם היית.
>> אז אם עדיין עומד, אתה צריך להיות בין אלה חוזרים לשלב שתי.
תמשיך ללכת.
כמה אנשים עדיין עומדים.
>> לכן, אם עדיין עומד, זוג עם מישהו.
בסדר, קטן והולך.
כמה אנשים עדיין עומדים.
אני אעזור אם תהיה בכך צורך.
זכור ממסעדה המפתח כאן, הוא איך הרבה יותר מהר זה יותר ממני לספור.
>> אז בואו לראות.
אני יכול לעזור.
אז מה מספרם אתה עדיין חושב?
>> קהל: אני בגיל 44.
>> דוד י מלאן: 44, כך אתה הולך קדימה ולשבת.
מה מספרם אתה חושב?
קהל: 74.
>> דוד י מלאן: 74.
בסדר, קדימה ולשבת.
מי עוד הוא עדיין עומד?
86.
ואף אחד אחר עדיין עומד?
>> איזה מספר?
שמעתי 67.
ולאחר מכן בראש?
32.
אף אחד אחר עדיין עומד וחושב על מספר?
>> אה היי.
מצטער.
אשוב בקרוב.
42.
כל אחד אחר?
>> קהל: 47.
>> דוד י מלאן: 47.
האם מישהו אחר עדיין עומד שלא נספר?
אז המספר הסופי של אנשים בחדר שיש 497 מושבים הוא-- כולם
הם filled-- הוא 390.
אז זה נהדר.
>> בקרוב לדון ברעיון של באג בתוכנת מחשב.
אבל אנחנו נחזור לזה לפני זמן רב.
אבל בתאוריה, יכול מה קרה רק עכשיו?
אז למרות שהיו שלושה גדולים צעדים לאלגוריתם זה, כל אחד מאלה
היה רק ​​סוג של פעולה אחת גדולה.
ולא הייתה מחזוריות זו לזה שבאם אתה עדיין עומד,
אתה כל הזמן הולך מצעד 01:57, צעד 01:57, צעד 01:57.
>> אבל מה שהחזיק את קורה בכל איטרציה?
כל מחזור של לולאה זה?
מה קורה במקום אחר בחדר?
לא רק את אותו דבר, אבל מה ש קורה למחצית מכם?
יושב.
ולכן יש בשקרים תובנה זו, כמו למשל ספר טלפונים,
שבאם המחצית מכם לשבת בכל פעם,
הבעיה מתחילה עם אולי 400 אנשים,
אז 200 אנשים, מ -100 אנשים, 50 אז אנשים, וכן הלאה.
>> וכך אנו לגלף למטה ב תאוריה לאדם אחד בלבד,
חושב על הערך הכולל של כולם.
עכשיו מציאות, כמה דינמיקה חברתית, וכמה טעויות חשבון
עשוי לתרום לכי באג אולטימטיבי.
אבל בתאוריה, בזמן שאני עדיין לספור משם,
לוקח כמה עשרות צעדים, או מאות צעדים
לספור את עצמכם ל, לספור חדר מלא של 500 או כך אנשים
צריך לקחת הרבה פחות צעדים, בגלל שאתה רק יכול לחלק 500 ו1/2
כל כך הרבה פעמים.
וכך בדיוק כמו עם הטלפון להזמין דוגמא היום האחר,
היה לנו משהו לוגריתמים כביכול,
לפיה אם כולנו היינו הפועל בתיאום,
ומתעלם מ שגיאות בנוסף, הייתם
השיג בדיוק סוג כזה של זמן ריצה?
>> עכשיו כדי להיות הוגן, סוג של בגד, ב שמנפתי משאב אחר.
ואילו זה רק אחד ממני, אני ממונף המאה.
אבל זה יכול להיות אמר להיות דוגמא של עיבוד מקביל,
או מדינה של אמנות מאוד באופנה שבו מחשבים בימים אלה יש
מעבדים מרובים, או יותר מבחינה טכנית, ליבות מרובות יותר,
ובאמת יכול לעשות מרובה דברים בבת אחת, הרבה כמוך
כל מה שאנחנו עושים שם, במקביל.
אבל זוכר שאת מה שאנחנו גם עשה ביום רביעי
היה מנסה ללכוד אינטואיציה זו ולמסד אותו בקוד.
משהו כמו פסאודו-קוד.
ואכן, ואני מקווה שאמצא לסלוח, זה כמו 80 מעלות בכאן.
אז אני הולך לקחת את זה את רק קצת.
מה חשבתי שכדאי לעשות הוא מעבר עכשיו ללפי יישום
אנחנו שוב להעסיק את הקהל, אבל לכתוב תכנית באנגלית
כמו תחביר, שבה ל לפתור את הבעיה הזו כאן.
[וידאו השמעה]
זמן ריבת חמאת בוטנים של 'זה.
חמאת בוטנים זמן ג'לי.
>> דרכך!
דרכך!
עכשיו יש לך!
הנה לך!
ריבת חמאת בוטנים!
>> ריבת חמאת בוטנים!
ריבת חמאת בוטנים!
בוטנים, ריבת חמאת בוטנים!
ריבת חמאת בוטנים!
ריבת חמאת בוטנים עם מחבט בייסבול.
>> [סוף ההשמעה]
דוד י מלאן: --that וידאו, אבל זה קצת ממכר,
אם לא קצת מעצבן.
אבל כדי לעשות זאת, חשבתי מה הייתי לעשות הוא לנסות לכתוב תכנית יחד,
שבם אנו זקוקים לשלושה מתנדבים.
צריך להיות נוח על מצלמה ואינטרנט.
סם, יבוא עליו.
חולצה סגולה, ממש כאן, בחייו.
>> ומכאן, תן לי ללכת קצת רחוק יותר בחזרה.
Crimson וחולצות כחולות, מגיעים בעד.
מושלם.
נו באמת.
בואו למעלה, מגיע בעד.
>> ומה שמך?
אריקה.
דוד, נחמד לפגוש אותך.
אם אתה רוצה לקחת את המושב הזה כאן.
זה סם.
>> מה השם שלך?
אנטוניו.
אנטוניו, נחמד לפגוש אותך.
אריקה וסם, אם היית רוצה להיות מושב כאן.
מה שנבוא מוכן עם, כבחורים האלה מגלים,
הוא המרכיבים שעם לעשות חמאת בוטנים וריבת כריך.
>> עכשיו זה יכול להיות משהו ש אתה לוקח הרבה מאוד כמובן מאליו.
אבל אנחנו כבר נתנו לכל אחד שלושת המתנדבים שלנו
כאן-- שני מתנדב וסם כאן, כיכר לחם אחד, צלחת, סכין,
צנצנת ריבה או ריבה, ו צנצנת של חמאת בוטנים.
והמטרה ביד כרגע היא הולך להיות לשלושה אלה
כדי להפוך את חמאת בוטנים וכריך ריבה.
אבל מה שאנחנו הולכים לעשות הוא לצפות audience-- מאז כולכם
בוודאי יודעים איך לעשות זה כל כך טוב בreality--
הולכים לספק לנו הוראות הצעד אחר צעד.
פסאודו-הקוד, אם תרצה.
>> אז אני אשחק את התפקיד של סופר כאן.
ויש לי קצת את רשימת המטלות, וכדי שכל אחד מכם, אחד בכל פעם,
קורא פוטנציאל הוראה, אני
לכתוב את זה, לחזור עליו לפי צורך.
ואז אתם הולכים לעשות חמאת בוטנים וריבת כריך
רק על ידי עושה מה שאומר לך.
אז תחשוב על עצמכם כמחשבים.
>> אתה יכול לעשות רק מה שאומר לך.
אין הנחות, אין שאלות.
אתה פשוט צריך לעשות את זה.
אז מי הייתי רוצה להסתכן הראשון הוראה להכנת כריך PBJ?
במרפסת יש.
>> קהל: פתח את השקית של לחם.
>> דוד י מלאן: פתח שקית לחם, אם תרצה.
אז בואו לראות.
בואו לחזר, ולקבל קצת יותר מדויק.
>> דרך טובה להתחיל אף.
שלב שני, מישהו אחר.
עכשיו אף אחד לא רוצה להתנדב.
שלב שני, בחזית.
קהל: פתח הפנימי גם שקית של לחם.
דוד י מלאן: פתח כמו גם שקית פנימית של לחם.
גדול, אנחנו לומדים.
קצת יותר מדויק.
בואו לקבל עבודה זו.
כן, בחולצה ירוקה.
>> קהל: [לא ברור]
דוד י מלאן: פרוסות של לחם.
להסיר בעדינות שתי פרוסות לחם.
זה טוב.
שלב רביעי, מישהו אחר?
כאן, כן?
>> קהל: [לא ברור]
>> דוד י מלאן: לחם מקום על צלחת.
השלב חמישי?
השלב חמישי, כן?
>> קהל: [לא ברור]
דוד י מלאן: על גבי ל-- הו, יד.
הנח יד על גבי חמאת בוטנים.
האם זה מה שאני עומד בראש?
>> קהל: כן, ולהתיר.
>> דוד י מלאן: And-- אומר את זה שוב.
>> קהל: [לא ברור]
>> דוד י מלאן: ולשים מכסה ליד חמאת הבוטנים.
קל לשים את היד על העליון של חמאת בוטנים,
ולהתיר, ולשים את המכסה בסמוך לחמאת הבוטנים.
אישור, צעד שש.
שלב שש, מישהו אחר.
כן?
>> קהל: [לא ברור]
דוד י מלאן: תגיד את זה שוב.
קהל: חזור על שלב חמישה שוב.
דוד י מלאן: ו חזור על שלב חמישה שוב,
שהוא הולך ליצור קצת בעיה
עכשיו אם אנחנו עושים את זה צעד אחר צעד.
אז עכשיו אנחנו חוזרים לצעד חמש.
קל לשים את היד על ראש של חמאת בוטנים ושחררו
ולשים מכסה ליד חמאת הבוטנים.
אז לתפוס את חמאת הבוטנים וחזור על שלב חמישה שוב.
>> אז אנחנו לעקוף ש לולאה אינסופית, אם תרצה.
שלב שבע, מישהו אחר.
כן, בגב.
>> קהל: [לא ברור]
>> דוד י מלאן: ראש --on של אחרים.
>> קהל: [לא ברור]
>> דוד י מלאן: ב יד השנייה על החלק העליון האחר.
האם אתה רוצה רק לבוא לכאן?
איך אני גומר את ההוראה?
מה שאר ההוראה?
>> קהל: התעלמות שחלק.
>> דוד י מלאן: התעלמות שחלק.
בואו להתחיל מחדש.
שלב שביעי.
>> קהל: [לא ברור]
>> דוד י מלאן: אחוז עם המנוגדים hand-- זה טוב.
זה טוב בעצם.
>> קהל: [לא ברור]
>> דוד י מלאן: וjar-- פלסטיק
>> קהל: [לא ברור]
>> דוד י מלאן: וtwist--
>> קהל: [לא ברור]
>> דוד י מלאן: לשתי שניות.
פשוט לפתוח את צנצנת חמאת בוטנים.
אני מקווה שתסלח.
אז בואו נניח שהגענו לשם.
פתח את צנצנת חמאת בוטנים.
>> [מחיאות כפות]
>> דוד י מלאן: שלב שמיני, בואו נלך.
שלב שמיני, כן, בגב.
>> קהל: [לא ברור]
>> דוד י מלאן: טוב.
שלב תשע, כן?
>> קהל: [לא ברור]
>> דוד י מלאן: --out של צנצנת חמאת בוטנים.
And-- ומה?
>> קהל: [לא ברור]
>> דוד י מלאן: סכין לשים ו בחזרה לחמאת בוטנים.
שלב עשר.
>> קהל: [לא ברור]
>> דוד י מלאן: שים את הסכין החוצה, ולאחר מכן להסיר את החותם.
נחמד.
את חמאת הבוטנים.
בסדר, צעד 11.
>> קהל: [לא ברור]
>> דוד י מלאן: אישור מחשב אפור, מעקב מחשב כחול או אדום.
טוב.
>> [מחיאות כפות]
דוד י מלאן: יביא אותנו הביתה.
יותר צעדי זוג.
מה הלאה?
12 צעדים.
שלב 12.
כן?
>> קהל: שים אחד של פרוסות לחם בעדינות על אחד מהידיים שלך.
>> דוד י מלאן: אחת הידיים שלך.
ולאחר מכן, שלב 13.
כן?
>> קהל: [לא ברור]
>> דוד י מלאן: פרוסת לחם --on.
טוב.
די טוב.
שלב 14, כן.
>> קהל: בטל צעד 13.
>> דוד י מלאן: בטל צעד 13.
בואו נעבור לג'לי.
מדוברים בתכנית 100 צעד, אבל אנחנו היו בשלב 15.
כן.
>> קהל: [לא ברור]
>> דוד י מלאן: 7 עד 13 באמצעות הג'לי, כי אלה הלכו כל כך טובים.
חזור על שלבים 7 עד 13, באמצעות הג'לי.
אז לתפוס את החצי התחתון של צנצנת ריבה עם יד אחת על גבי.
מצד השני של ראש אחר, התעלמות שחלק,
לתפוס עם ידיים מנוגדות, את המכסה וצנצנת הפלסטיק
בתחתית, ו לסובב לשתי שניות.
לאחר מכן פתח את צנצנת הריבה.
ולבסוף, בואו ננסה לתת לנו משהו אכיל.
שלב 16.
אז למה אנחנו לא להשאיר אותו שם.
תודה רבה לך ל שלושת המתנדבים שלנו.
[מחיאות כפות]
>> יש לנו קצת CS50 לחץ כדור בשבילך.
זה הולך להיות כריך but-- אז מה
הייתה הנקודה, מעבר לצורך קצת כיף עם האלגוריתם?
אבל המציאות היא שגם כאשר אתה מתכנת מחשב,
אתה צריך להיות סופר מדויק.
כמורכב או מפחיד כמחשב שלך
ייתכן מאוד להיות לך, ב לפחות כאשר משהו משתבש,
המציאות היא שזה די מטומטם מכשיר שהומצא על ידי בני אדם,
ויכול לעשות רק קבוצת משנה של מה שאנחנו do-- לפעמים בהחלט faster--
אבל זה לא יודע איך להניח הנחות.
הוא לא יודע איך להיות ב אותו הגל כמו שאתה.
>> זה יעשה רק בדיוק מה אתה אומר את זה.
ואתה תהיה פגע, אולי, כפי שאנחנו מתחילים
כתיבת קוד בפועל עם סטים ראשון בעיה ומעבר,
רק כמה זה קל לעשות הנחה כאדם,
ולא לצפות שאני צריך להתמודד מקרה זה, או שמקרה הפינה,
כביכול, שעשוי היטב להתעורר אם למשל סם היה רק
צנצנת סחיטה של ​​ג'לי, ואילו שכולם נרדמו כמה צנצנות זכוכית כ
כן.
אז לפני שאנו פונים תשומת לב לכמה קוד בפועל,
הרשה לי להציג הראשים של הקורס כאן באוניברסיטת ייל.
החברים שלנו Scaz, אנדי, ו ג'ייסון לבוא ולהגיד שלום.
>> [מחיאות כפות]
>> SCAZ: איבדנו ג'ייסון באופן זמני.
היי שוב, כולם.
שמי Scaz.
אני מלמד באוניברסיטת ייל מאז 2001.
וכשאני לא מלמד, המחקר שלי הוא ברובוטיקה
ובינה מלאכותית.
>> וההודעה שיש לי היום הוא שמתחיל בכמה שבועות,
אנחנו הולכים להיות להביא כמה חומר נוסף לCS50 לדבר
על תוכנת מודיעין.
אנחנו הולכים לדבר על איך מקומות כמו נטפליקס והולו
יכול להמליץ ​​על סרטים ש אולי כדאי לך לצפות.
איפה נדבר על איך מכוניות נהג-פחות עבודה בפועל.
ושנוכל לקרקע את הדברים האלה במושגים
שאתה לומד בכיתה זו היום.
>> משום שכל הדברים האלה הם בנוי על אותו הבסיס.
וזה מה שזה סדרה תחקור.
אז באמת אני מחפש תשמח לראות יותר מכם
כל, ואתה הולך להגיע ל לראות יותר מכולנו בקרוב מאוד.
תן לי לאחר מכן להציג את ג'ייסון.
>> ג'ייסון: שלום לכולם.
השם שלי הוא ג'ייסון.
אני לצערי הלכתי ל הרווארד כתואר ראשון.
זה הולך לקבל לחתוך מתוך הזרם בפועל.
>> ועכשיו אני כאן כמרצה ב המחלקה למדעי מחשב.
ואני עוזר להפעיל את הקורס עם Scaz, דוד ואנדי.
>> אנדי: היי חבר 'ה.
קוראים לי אנדי.
אני למעשה ייל רק סטודנט על הבמה עכשיו.
>> [מחיאות כפות]
>> אני בברקלי קולג ', במקור מסולון, אוהיו.
ואני היה אחד מהילדים האלה שם, כשהגעתי לאוניברסיטת ייל,
אני באמת חשבתי שאני לעולם לא צריך להסתכל שוב אי פעם במספר.
ואז הבנתי שאתה צריך גם במדע וQR מזכה את הלימודים.
וכך באביב הראשון שלי, לקחתי כיתה, CS, CS כיתת intro כאן
באוניברסיטת ייל.
אני היה כמו, זה כמו למעשה די מגניב.
>> ובעוד אני למעשה בסופו של הכרזה כעניינים גלובליים גדולים, הכישורים
למדתי בפקולטה למדעי מחשב ותכנות כל כך ישימים לכל תחום
אתה בוחר לעשות.
ואת צוות כאן באוניברסיטת ייל, אנחנו כבר כל כך קשים בעבודה
להכין בשבילכם.
ואנחנו מצפים לראות כל בשעות סעיף ומשרד.
אז כן.
>> [מחיאות כפות]
דוד י מלאן: תודה לך.
אז רגע לפני שהשיעור התחיל, היו לנו הזדמנות
להסתובב בקמפוס עם טלפון סלולארי ולקחת
כמה selfies בוידאו צורה של ממש הסיור הראשון שלי בקמפוס של אוניברסיטת ייל כאן.
ולכן חשבנו שאנחנו רוצים לחלוק גסים קיצוץ של בדיוק את זה כScaz ואנדי
וג'ייסון לקח לי ברחבי קמפוס.
[וידאו השמעה]
[סירנות]
דיוויד ב.
בעת הגעה לאוניברסיטת ייל.
-טוב לראות אותך.
"בסדר." "החנות אנחנו הולכים לסיור?
'תן נלך לסיור.
סיור -Road.
סימן -זהו היה שם זמן מה.
-Whah, CS50.
>> -Hurry!
ללכת, ללכת, ללכת, ללכת.
אתה צריך [לא ברור] הרקנס מגדל.
>> -ואז ראה שכמה פעמים.
>> [מחיאות כפות]
>> -תראה על האופניים!
אהה!
היי פרנק.
>> -מה קורה חבר 'ה?
-איך אתה?
-טוב לראות אותך.
בעת הגעה לווידאו.
אין לפעול נרגש מדי.
>> -אני אוהב סילימן.
אהה!
>> 'זה היה בערך שלוש שעות מאז היה ג'ייסון גלידה ונוטלה.
אז אנחנו חייבים לעצור את הגב ב סילימן לקצת.
>> 'זה אפילו לא [לא ברור] עדיין, רק את העובדה
כי יש להם את זה כאן הוא כל כך מדהים.
אחי, יש נוטלה בכל ארוחה.
>> ואכן, הייתה בשנה שעברה יותר מדי.
>> 'כן.
>> ספר הרבה על ייל עד כה.
אבל אני עכשיו זה TD שם.
וזה נחשב מחוץ לקמפוס.
>> -הנה לנו ארכיטקטורה גותית.
מפורסם בעולם.
יש לנו כמה ארכיטקטורה גותית יותר.
ובנייה, ו אדריכלות הגותית יותר.
היי.
זה מקום שבי אנו עורכים שעות עבודה ימי שלישי עד חמישי בהוגוורטס,
כ[ לא ברור].
-בסדר.
זהו זה לסיור.
אנחנו נמצאים באוניברסיטת ייל של בית ספר למשפטים, שבו
ההרצאה של היום היא עומד להתרחש.
בואו ראש ב.
>> [סוף ההשמעה]
>> דוד י מלאן: ו זה מביא אותנו כאן עכשיו.
אז עד כה, שהיינו התמקדות בפסאודו קוד,
אשר הוא תחביר כמו-אנגלית זה.
אין לו מפרט שנקבע.
זה רק אתה משתמש בכמה שפה אינטואיטיבית אם אתה
רוצה להסביר את מה שאתה רוצה לעשות.
>> אבל בואו נתחיל עכשיו למעבר לקוד, כפי שרוב האנשים היינו אומרים.
אבל לייתר דיוק, משהו ידוע כקוד מקור.
זו השפה שבני האדם לכתוב שמחשבי ultimately--
אולי אחרי כמה מספר steps-- סופו של דבר מבין
כדי לדעת איך לעשות משהו.
שראית הצצה זה אולי ביום רביעי.
>> זוהי דוגמא ש לא ייאמן, משעמם
כאשר לרוץ פשוט אומר "שלום עולם".
וזה כתוב בשפה שנקראה C, שהוא בחינה תחבירית דומה מאוד
להרבה שפות אחרות שאתה אולי לא יודע,
אבל אולי שמע על כמו Java, ו- C ++, ופייתון, ורובי,
וכמו, ואכן, אנחנו מבלה את רוב הסמסטר באמצעות C,
ואז לקראת סוף סמסטר, בנייה עליו,
והחדרת כל מספר שפות אחרות.
ביניהם PHP, ו- JavaScript, שפת מסד נתונים בשם SQL.
אבל עם C, מה שיהיה לנו הבנה מלמטה למעלה זה
איך בדיוק עבודת מחשבים, מה אתה יכול לעשות איתם,
ואיך אתה יכול לפתור את הבעיות כל בצורה יעילה יותר על ידי זה
שכבות שדנו ביום רביעי, ובמעמד
על כתפיהם של אחרים.
אבל עוד על כך שיבואו.
>> היום אנחנו מסתכלים על סביבה פשוטה, אבל ביסודו זהה
סביבה ידועה כשריטה על ידי החברים שלנו במעבדת המדיה של MIT.
זהו גרפיים שפת תכנות, סריטות,
לפיה ניתן לגרור ושחררו דברים ש
נראה כמו חתיכות הפאזל ש רק משתלבים אם זה גורם לי
תחושה הגיונית או תכנותית לעשות זאת.
אבל זה הולך כדי לאפשר לנו יש שיחה על כל
מאותו תכנות יסודות שחלק מכם
אולי כבר יודע, ש רבים מכם אולי לא
יודע שום דבר ממבלי להסתבך בכנות,
באינטלקטואלי תחביר מעניין של נקודה-פסיק,
וסוגריים, ו מצטט, וכדומה.
כולן, מוקדם ב, הן הסחת דעת
למה הם מעניינים ורעיונות באמת שימושיים.
אז בואו ניקח מהיר מבט חטוף בסביבה
כאן, כך שאתה יודע מה מחכה לי.
ואכן, בין המשחקים ש יכול לשחק כמה תוכניות שנכתבו
על ידי תלמידיה לשעבר של CS50.
אחד מהם, בעצמי, אני אהיה זה אחד נכתב בבית הספר לתואר שני עבורי.
>> אם אני יכול לקחת מתנדב אחד מי מוכן לשחק
משחק בפעם הראשונה.
בטח.
בואו למעלה.
מה השם שלך?
>> קהל: אנג'לה.
דוד י מלאן: אנג'לה, מגיע בעד.
אז Scratch כבר יצא לכמה שנים.
וכשאני היה בבית הספר לתואר שני, הייתי צלב הרשום ב- MIT,
לוקח פרופסור מיטשל רזניק של כמובן בטכנולוגיות חינוכיות.
ואנחנו היו בין הראשונים סטודנטים בעולם בעצם בטא
Scratch מבחן.
והפרויקט שלי היה מה שאנג'לה עכשיו התנדב באדיבות
למחזה בשם Oscartime.
>> אז אני הולך קדימה ו לחץ לחיצה כפולה על הסמל כאן.
זה הולך להיפתח תכנות סביבה שבקרוב לצלול לתוך.
אני הולך למסך מלא זה לאנג'לה, כאן.
אני הולך להכות את ירוק דגל ברגע.
ואז המון אשפה הוא הולך ליפול מהשמים.
ואתה הולך להשתמש בעכבר כאן לגרור למעשה ושחרר
האשפה לפחי האשפה של אוסקר.
אז אם אתה רוצה ללכת קדימה ולחץ הדגל הירוק, המשחק יתחיל.
>> [השמעת מוסיקה]
>> הו, אני אוהב את האשפה.
שום דבר מלוכלך או מלוכלך או מאובק.
דבר מרופט או רקוב, או חלוד.
כן, אני אוהב את האשפה.
אם אתה באמת רוצה לראות משהו זול, להסתכל על זה.
יש לי כאן נעל זה מרופט ובלוי.
זה כל מלא חורים מחזיק והשרוכים נקרעו.
מתנה מהאמא שלי ביום שנולד.
אני אוהב את זה כי הוא--
דוד י מלאן: --green בימים אלה רק להיות לזרוק הכל לפח.
ואז מה אחד did-- צוות של CS50 של
ירדן, שאתה אולי לפגוש יש today-- למעשה
מעודכן זה לזמנים של היום.
וכך תאפשר לי לפתוח remix במקום לאנג'לה.
ואנחנו נשחק במקום זה ל כמה רגעים שבם עכשיו אתה
תצטרך להחליט בין אם לזרוק משהו לפח,
או למחזר אותו או קומפוסט זה.
אז יש קצת לחץ עליך לקבל
זכות זו מול 392 ל 497 חברים לכיתה כאן באולם,
אם היית.
[וידאו השמעה]
[השמעת מוסיקה]
אה אני אוהב את האשפה.
שום דבר מלוכלך או מלוכלך או מאובק.
דבר מרופט או רקוב או חלוד.
כן, אני אוהב את האשפה.
>> אם אתה באמת רוצה לראות משהו זול, להסתכל על זה.
יש לי כאן נעל זה מרופט ובלוי.
זה כל מלא חורים והשרוכים נקרעו.
מתנה מהאמא שלי ביום שנולד.
אני אוהב את זה כי זה זבל.
>> הו, אני אוהב את האשפה.
שום דבר מלוכלך, או מלוכלך, או מאובק.
דבר מרופט או רקוב או חלוד.
כן, אני אוהב את האשפה.
הנה כמה דברים רקובים יותר.
יש לי כאן כמה newspaper--
>> [סוף ההשמעה]
דוד י מלאן: --are compostable למעשה.
אבל תודה למתנדבים שלנו, אנג'לה.
יש לנו לחץ כדור בשבילך גם כאן.
אז תודה לך.
>> אז זה אחד נכתב על ידי לי.
אבל עכשיו אחד על ידי תלמיד לשעבר בפועל שמיושם זה, שבו הוא משחק.
כל בשפה זו נקראת שריטה, שעוד מעט
לקלף את השכבות של.
אבל אם היינו like-- איך על התנדבות אחרת?
תקין.
>> בואו למעלה.
מה השם שלך?
מבט?
לאנס.
לאנס, מגיע בעד.
נחמד לפגוש אותך.
בואו בדרך זו.
אז זה אחד שאולי יש לי נושא מוכר לחלק מכם.
אבל תראה גם את זה לא יכולה להיות אינטראקטיביות,
לפי למעשה אתה יכול להיות תפקיד של הדמות נעה סביב.
נחמד לפגוש אותך.
דוד.
>> אני נותן לך, פיקאצ'ו.
הוראות תהיה על לבוא על המסך.
אבל בקיצור, אתה הולך רוצה לתפוס את הדברים טעימים,
ולמנוע את הפצצות ודברים אחרים.
עם הסמנים לחלוטין.
אז פגע בשורת הרווח.
-Pikachu.
דוד י מלאן: תפוס החומר על השמאל,
לא לתפוס את הדברים בצד הימין.
>> [השמעת מוסיקה]
>> אז עבר אחד אחד כאן.
אם יש לנו יכול אחד יותר מתנדב כאן.
חשבנו שאנחנו היינו לשחזר משהו from-- בshirt-- הצהוב
מיום רביעי.
מה שמך?
מרי, בחייך עד מרי.
>> ולהיזכר ביום רביעי הצגנו הרעיון של ינארי, ונורות בינארי.
זהו למעשה החברה יישום שאותו ממשק
שהיו לנו באייפד עם האור נורות, אבל כאן שניתנו דיגיטלית.
ובמקום לעשות מתח ball-- נחמד לפגוש אותך, דוד.
הבאנו כמה אור נורות מקיימברידג '.
>> אם אתה יכול, לחיצה על אלה נורות להפוך אותם לסירוגין,
לבוא עם ינארי ייצוג אומר 256.
ותראה ב אמצע, הנקודות הנוכחיות.
כך שאחד זה ב.
אז קצת השמאלי ביותר הוא על.
>> מרי: כן, [לא ברור]
>> דוד י מלאן: ובכן, אז יש לנו פשוט-- הו.
אז זה הטור 128.
אז אנחנו עד 128.
יש לנו כדי לקבל 256.
ואתה יכול להתעסק ב ואת, לא ביג דיל.
או שאתה יכול להכות 128 ש יותר פעמים אם אתה רוצה.
>> בסדר, טוב.
24.
כן, מתקרב.
קרוב יותר!
אה, מה הבעיה אז?
אז מה הבעיה?
>> אז מה אנחנו צריכים לעשות כדי לפתור את הבעיה הזו?
אז אנחנו צריכים קצת אחר.
וזה בצורה מושלמת סביר במציאות, נכון?
אם אתה רוצה לספור מהמספר 1 עד 2 3 עד 4 עד 5, 6, 7, 8, 9
להתגלגל למעשה מעל ל -10, אתה הולך צריך קצת נוסף.
אז בואו למעשה אחורה כאן, ולבוא
with-- שהיה ברור ש אמור להיות להגדיר.
>> אתה לא יכול לעשות 256 עם רק הנורה.
אז מה דעתך על פשוט המספר 50?
מספר 50.
מצוין.
מחיאות כפות גדולות למרי ושלה גם כן.
תודה.
>> אז זה topic-- מכוון כ was-- שלמעשה יחזור על עצמו.
גדול הערך שאתה יכול מייצג עם שמונה סיביות, או בית אחד,
אכן 256.
אבל לא אם אתה מתחיל ספירה מ 0, כפי שאנו
נראה שימשיך לעשות על ידי בעל כל אלה פיסות מ.
אבל עכשיו בואו לצלול לתוך הבסיס יישום של סביבה זו,
ולהפריד כמה מהרעיונות האלה.
>> אז ברגע שאנחנו עומדים לראות כמה יסודות תכנות שונים.
הראשון שבם אנחנו קוראים להצהרה.
סוג של פעלים, אם תרצה.
פעולות.
דברים שצריכים להיעשות.
>> וברגע שתראה בלוקים שנראים כמו זה.
להגיד "שלום עולם", למשל.
או לחכות שני אחת.
או לשחק מייאו קול.
ואכן בסביבה שאנחנו הולכים לעשות את זה
נקרא Scratch.
>> ואם אני מושך את סריטות בלי טעינה מוקדמת כל קוד בפועל,
בואו ניקח מבט מהיר על זה ממשק משתמש, אם אפשר לומר כך.
הבקרות שבה אנו מתקשרים.
בחלק העליון השמאלי של כאן מסך, מתחת לתפריטים,
יש לנו את הבמה, כביכול.
אז Scratch הוא מה שאנחנו נתקשר ספרייט.
זה אופי.
>> והוא יכול להיות נשלט על ידי כתיבת תוכניות נגדו.
והוא יהיה מסוגל לנוע מעלה ומטה וימין ועל שמאל בסביבה זו,
לא רק על ידי הזזת עכבר, אבל תכנותי.
אני יכול להגיד לו ללכת ימינה, הליכה שמאלה, למעלה, למטה או משהו הדומה.
ואני יכול להציג את אחר שדונים או דמויות גם כן.
>> ואכן, בתחתית כאן הוא מקום שבי תראה הרשימה של שדונים שלך.
כרגע, יש לי רק אחד, אבל אני יכול ליצור יותר,
והם יופיעו שם למטה בדיוק.
אז אם אתה אחורה לרגע, כמו Oscartime-- למשל, אוסקר,
בצד השמאל, האשפה יכול, היה ספרייט.
והדבר באמצע, מחזור סל, היה ספרייט אחר.
ובן קומפוסט היה ספרייט אחר.
וכל פיסת אשפה או למחזור
שנופל מהשמים גם ספרייט, כל אחד מהם
היה לתכנת בנפרד.
>> איך אתה לתכנת?
ובכן, כאן בצד הימין צד הוא אזור סקריפטים.
וזה מקום שבו אנחנו יכולים לגרור ולשחרר חלקי הפאזל.
בשבוע, שזה הולך להיות שבו אנו שקול לכתוב קוד
עם יותר ממקלדת, אבל ל היום זה תהיה גרירה ושחרור
חלקי הפאזל, לוחות שיכולים כל
ניתן למצוא כאן ממש באמצע.
ואכן, באמצע כאן יש כל חבורה
קטגוריות של חידה חתיכות או בלוקים.
אחד קשור לתנועה, להסתכל, צליל, עט עולה ויורדים,
הנתונים, אירועים לשלוט.
עדיין לא בטוח מה כל אלה אומר,
אבל אתה תראה שיש להם סווג יפה.
ולכתוב תכנית ב שריטה, בואו לעשות בדיוק את זה.
>> אני הולך להתחיל ב אירועים, ולגרור את זה כאן.
כאשר הדגל ירוק לחץ.
עכשיו למה זה?
ובכן זוכר שהמתנדבים שלנו עליתי, אני הדבר הראשון
או שהם לא היו לחצו ירוקים ש דגל בפינה הימנית העליונה.
וזה רק אומר להפעיל את התכנית.
>> לכן, כאשר האירוע שקורה, מה שאני רוצה לעשות?
אני הולך ללכת תחת מבטים, ואני הולך לעשות ", אומר שלום."
ואני הולך לשנות את זה ו אומר משהו כמו "שלום ייל."
ועכשיו אני הולך להתמקד את, לחץ על הדגל הירוק,
וזהו, שכתבתי תכנית.
זה לא כל כך מרגש עדיין, אבל זה
הוא בדיוק איפה כל של היוצר אלה התחיל,
שניהם עם פיקאצ'ו, ו נורות בינארי, וOscartime,
וכל כך הרבה דוגמאות נוספות.
>> אתה מתחיל סופר פשוט, ו אז אתה מתחיל שכבה,
ולהוסיף על תכונות ופונקציונליות.
אז מה הן שכבות אלה הולך מורכבות?
ובכן, מעבר להצהרות, אנחנו גם יש דברים שהם קצת יותר הידור
נקרא בוליאנית ביטויים, לאחר שמישהו בשם בול.
וביטוי בוליאני הוא פשוט ביטוי זה אמיתי או מזויף,
כן או לא, 1 או 0.
>> כל קטבים כמו ש.
זה נכון או לא.
אבל אנחנו גם הולכים לראות אלה שעשויים להיראות כך.
כך למשל, הוא העכבר למטה?
הם סוג של שאלות, אם תרצה.
>> העכבר הוא גם למטה, אמיתי או שזה לא, שקר.
1 או 0, אם תרצה, נוטה להיות המיפוי.
נכון הוא 1, שקר הוא 0.
ובכן מה על פחות מזה?
או כך, זה פחות מזה?
זו שאלה של מיני.
>> ואם אתה שם את שני מספרים שם, או x
הולך להיות פחות מ y או שווה ל- y, או גדול מ y,
אבל בלוק זה נראה, הוא פשוט הולך לענות על השאלה,
זה פחות מזה?
אנחנו יכולים גם לראות משהו כזה.
מצביעי עכבר נוגעים ללב.
אז בשריטה, אתה יכול לשאול השאלה, היא ספרייט
לגעת בסמן העכבר?
במילות אחרות, הוא ריחוף הסמן על הכובע, או שווה הערך?
>> אנחנו תראו את הדברים anding יחד.
אתה יכול לשאול שתי שאלות, ו לוודא ששניהם
אתן לך כן או תשובות נכונות לפני קבלת החלטה לעשות משהו.
אבל אז איך לך לקבל החלטות?
ובכן, יש לנו בתנאים אלה.
>> וראינו את זה בנו דוגמא של ספר טלפונים.
במבט לשמאל או נכון עבור מייק סמית.
ובמצב ש, לעשות משהו שעלול להיות,
אם ביטוי בוליאני הוא אמיתי.
>> ואכן, לב הצורות עכשיו.
יש מציין המיקום הזה עכשיו על תקורה שבו אנחנו יכולים fit--
אם אני rewind אחד slide-- צורה ש.
זה לא ממש באותו הגודל.
ואכן, תראה ש שריטה משנה את הגודל באופן דינמי הדברים
כדי להתאים חלקי הפאזל, אבל צורה היא מה שחשוב.
דבר זה נראה כמו ש, ואכן זה
בערך באותה הצורה שצריך להתאים לשם.
ואם אנחנו רוצים לעשות משהו בדרך זו או בדרך זו, אם או אחר,
יש לנו את הפאזל חתיכה בגרד גם כן.
>> עכשיו נניח שאתה רוצה לעשות אם, אחר, אם, או אחר.
במילים אחרות, מזלג שלוש-דרך בכביש.
ובכן מה שאתה יכול לעשות רק על ידי צצה בזה?
אני יכול לקחת את פיסת הפאזל הזה, וזה לא נראה מתאים,
אבל שוב, Scratch הולך מחדש גודל יפה עבורנו.
אני יכול להתחיל לשכבה הדברים האלה ביחד.
>> אז עכשיו יש לי שלוש-דרך מזלג אם זה נכון, לעשות את זה.
אחר אם דבר אחר זה נכון, ללכת בדרך זו, אחר ללכת בדרך אחרת זה.
ובMuppet Movie, מזלג בכביש, אם אפשר לומר כך,
בין ייל או סטנפורד, היה בדיוק את זה, רק שני תנאים.
או ללכת בדרך זו, אחר ללכת בדרך זו.
>> ובכן, לולאות קיימות גם בתכנות.
ואנחנו כבר בשימוש כבר באלה כיתה ובקוד פסאודו קוד,
ובוודאי באלה תוכניות Scratch לנצח.
יש שריטה פיסת הפאזל הזה ש פשוט לתת לך לעשות משהו לנצח.
ולפעמים אתה רוצה לעשות משהו לנצח.
זה לא בהכרח באג, זה בגלל שאתה רוצה שעון כדי להמשיך,
או משחק להמשיך לשחק.
או שאתה יכול לציין מספר סופי של צעדים, כמו בגוש חוזר זה כאן,
שיחזור על משהו 10 פעמים.
אנחנו יכולים להגדיר משתנים, אנחנו בקרוב לראות.
ועם משתנים, דומים ברוח לאלגברה, כמו x, y או, או z.
זה משהו סמלי שיכול לאחסן ערך כלשהו, ​​כמה פיסת המידע,
שאולי אתה רוצה לזכור למועד מאוחר יותר.
>> הדוגמא הטובה ביותר לכך עשויה להיות משחק שבו יש לך ציון,
כמו בפיקאצ'ו.
כמה חתיכות של עוגה ומה לא עשה לך לתפוס?
ובכן, שעשוי להיות משתנה נקרא ציון שמתחיל ב 0.
ואז בכל פעם שתפסנו חתיכת עוגה או ממתק, או כמו,
הוא מקבל מוגדל.
הוא מקבל הוסיף לאחד בכל פעם.
וחנויות כל כך משתנים פיסת המידע כזה.
אז יש מערכים, ואנחנו נבוא בחזרה לאלה בשבוע או שבועות זמן,
אבל מערך הוא כמו סוג של מלאי או ילקוט, בתוך
שאתה יכול לשים את הדברים וירטואליים.
זה מאפשר לך לאחסן יותר מ פיסת מידע אחת.
ושעשוי להיות שימושי אם במשחק, אתה
סוג של מסתובב להרים דברים.
ואולי אתה רוצה לשמור כל אלה חתיכות של עוגה
מסביב, ולא רק לאכול שלהם אחד אחרי השני.
ואז יש מבנה מהודר שנציע ב
מגיע לפונקציות או פרוצדורות נקראות.
ולמרות שאנחנו הולכים מהר כאן, אנחנו
רואה שמדובר במאוד פתרון טבעי לבעיות
שאנחנו הולכים מפגש.
תוכניות שלנו מתחילות מקבל שנציע יותר גדול
מתחיל לשים לב לדפוסים ב הקוד שאתה כותב,
חלקי הפאזל אנחנו גרירה ושחרור.
וברגע שאתה שם לב את עצמך עושה משהו שוב ושוב, או גרוע מכך
העתקה והדבקת תכנות קוד שכתבת,
זה כנראה הזדמנות גורם החוצה
כל מה שאתה לשמור על העתקה והדבקה, ולשים אותו
במשהו שנקרא "פונקציה".
אבל נוסף על אלה בהרבה פרטים נוספים לפני זמן רב.
>> ואז יש תכונות אפילו מהודרות.
לאלו מכם יותר נוחים, או לקחת נגמ"שים או שווה ערך,
שריטה למעשה תומכת בדברים כמו חוטים ואירועים ועוד.
אז הבין שיש לו תקרה גבוהה למדי,
למרות שזה מאוד גם באופן רחב נגיש לאנשים
שמעולם לא תכנתו בעבר.
אז אכן, בואו נסתכל בתכנית פשוטה או שתי.
>> אנחנו כבר הסתכלנו על איך אנחנו אפשר לומר שלום עם סריטות.
תן לי ללכת קדימה ולפתוח תכנית מעניינת יותר קטנה
שכתבתי מראש.
וקרא זה אחד לחיות מחמד החתול.
כל התוכניות האלה יהיו באתר האינטרנט של CS50.
ואכן, כבר שם.
>> אז אתה יכול להוריד שלהם, ולשחק איתם,
ועם הבעיה סט 0, ש גם באתר האינטרנט של הקורס,
אתה מוזמן ללכת דרך אלה.
ויותר מכך, יש לנו מספר קטעי וידאו ללכת דרך
באינטרנט שבו אני ו צוות של CS50 באמת ללכת
דרך כל אחת מדוגמאות אלה בהרבה קצב איטי יותר, forwardable מהר מאוד,
או קצב rewindable, כך שאתה יכול ללכת באמצעות אלה בשעתי הפנאי שלך גם כן.
אז הנה שריטה על השמאל.
הנה תכנית בפינה הימנית כי אני כבר מראש שנעשה.
אז תן לי להתמקד על זה.
ומישהו יכול באנגלית, בידיעה מה שאתה יודע, רק מעתה כ
לאיך עובד Scratch, סוג של אומר בביטוי אנגלי או משפט,
מה בתכנית זו, ככל הנראה, לעשות?
>> כן, בחולצה כתומה.
>> קהל: [לא ברור]
>> דוד י מלאן: כן, אם שלך סמן הוא על סריטות החתול,
להשמיע צליל מיילל.
אבל שים לב כיצד אנו מביעים את זה.
יש כנראה לולאה שם, לנצח.
ואז יש מצב, אם הביטוי.
וביחד, מה אלה אומר?
זה אומר בתכנית זו הוא פשוט תמיד פועל,
וזה פשוט תמיד מחכה וצפייה והאזנה
לי להזיז את העכבר שלי על החתול.
>> כי בכל פעם שאני עושה את זה, כפי ש אתה מציע, זה הולך לעשות את זה.
תן לי להפעיל את התכנית.
שום דבר לא נראה להיות קורה, אבל שים לב איך
זה מודגש עכשיו בקו צהוב.
זה רק אומר שזה פועל.
ובגלל שיש לנצח לולאה, זה עדיין פועל.
>> אז תן לי להזיז את הסמן שלי על גרד. [MEOW] [MEOW] ואם אני מזיז אותה,
[MEOW] עכשיו הוא מפסיק, אבל התכנית של עדיין פועל. [MEOW] וכך, מקסים.
[MEOW] אז בואו לפתוח את מעט יותר מתקדם
דוגמא נקראת אל חיות מחמד החתול.
>> ועכשיו בואו נראה מה קורה כאן. מיילל [MEOW].
אז זה קצת ב טייס אוטומטי, אם תרצה.
--pet החתול.
אני תוהה למה.
[שאגה] [MEOW] אז איך זה עובד?
ובכן, אתה יכול סוג של סיבה דרכו באופן אינטואיטיבי, אולי.
>> אבל בואו נסתכל על הקוד בפועל.
אז שוב, כאשר הדגל הירוק הוא לחץ, לעשות את זה לעולם.
מה אתה רוצה לעשות לנצח?
ובכן, עכבר נוגע ללב אם מצביע, ואז לשחק
קול שנקרא כנראה האריה 5, שיש בפנים של פרויקט זה, אחר
לשחק מייאו קול, ו אז לחכות שתי שניות, כך
כי זה לא מיילל ללא הרף.
למעשה, אתה יכול להתחיל מהר מאוד כדי לעצבן את עצמך והשותפים שלך.
>> בואו להסיר את הבלוק הזה.
ושים לב מה שיפה Scratch.
דברים פשוט סוג של דראג ושחרר ומשתלב.
אז שוב, הוא גדל ל למלא את מה שאתה רוצה.
אבל אם אני מסיר את זה, ולאחר מכן משחק להיט, [מחשב נקודת אור SOUND]
>> --it זה סוג של מעד על עצמו, כי זה ממש
עושה מה שאני אומר.
זה אומר לנצח לנגן הצליל הזה, אבל אני לא נותן לזה סיכוי לסיים.
וכדי שיהיה באג.
וזה למה שהיו לנו דבר זה בכאן ועכשיו.
אז בואו באמת להתחיל מscratch-- סוג של משחק מילים מעט intended--
שבו יש לנו עכשיו את מהלך החתול.
>> אז אני הולך לעשות את זה במהירות ההבזק.
אני הולך להתמקד בכאן, רק לנתחיל איתי על אירועים.
ודגל ירוק לחץ.
ויש דרכים אחרות כדי להתחיל את התסריטים.
אנחנו הולכים לשמור את זה פשוט כאן.
>> ועכשיו אני הולך קדימה וללכת תחת בקרה.
ושוב, אם אתה שוכח שבי דברים, פשוט לחצו מסביב,
וסופו של דבר אתה מוצא אותם שוב.
אז אני רוצה לעשות את מה שלנצח?
אני רוצה להשתמש בבלוק התנועה כי אני יודע שקיים, לעבור 10 שלבים.
>> אז בואו לראות מה קורה כאן אם אני משחק את המשחק הזה.
למרבה המזל זה לא ללכת רחוק מדי.
אני עדיין יכול סוג של לתפוס אותו בזנב ולמשוך אותו בחזרה.
אבל התכנית עדיין פועלת, כך הוא סוג של לחימתי.
אבל שזה יהיה סוג של נחמד אם אני תנאים לתקן את זה בקוד.
>> בגלל זה הוא not-- למעשה זה באמת
לא משחק מהנה לכל אחד בכל גיל.
אז בואו ננסה לתקן את זה על ידי יש סוג מסוים של תנאים.
אז אני הולך ב בקרה, ולאחר מכן אם.
אני אוהב את הרעיון הזה.
אז לאחר שעבר 10 צעדים, if-- תן לי לחוש בו אני נמצא.
אני הולך ללכת תחת חישה, ואז זה נראה שאני יכול ללכת כאן.
שורה לגפרורי צורה.
>> גודל לא, אבל זה הולך לגדול כדי למלא.
ועכשיו זה תפריט קטן.
ועכשיו עכבר pointer-- אני לא רוצה העכבר, אני רוצה את הקצה.
אז Scratch הוא חכם מספיק כדי לדעת כאשר ספרייט נוגע בקצה.
מה אני רוצה ממנו לעשות בעצם?
>> תן לי ללכת קדימה ולשנות את התנועה.
אתה יודע מה?
אני הולך יש לו להסתובב.
אז ב 15 מעלות הוא לא באמת הולך לעזור לי.
אני רוצה שהוא יסתובב וללכת בדרך אחרת.
>> אז בואו לראות מה קורה כאן, אם אני מכה לשחק עכשיו.
אישור, סוג של הטיפשים מחפשים, אבל הוא עושה בדיוק מה שאמר.
וזה מסתובב כל ספרייט.
עכשיו מתברר שאני יכול לתקן את זה.
ואני לא יודע איך כדי לתקן את זה בהתחלה.
אני סוג נאלצתי אתעסק ו לראות את הדרך הטובה ביותר לעשות זאת.
אבל אם אני הולך צריכה-- בואו לראות, תנועה.
אה, מצאתי את זה.
למעשה, נקבע סיבוב סגנון.
שמאל, ימין, או לא לסובב, או בכל מקום.
ומתברר שזה מה שאני רוצה.
ואני הולך לשים את זה לא שלי לולאה, כי אני לא צריך להגדיר
סגנון סיבוב מספר רב של פעמים.
אני הולך לשים אותו בחלקו העליון של תכנית זו, כך שהוא מקבל להגדיר פעם אחת,
ואז נזכר.
ועכשיו אני הולך לנסות את זה שוב.
תן לי לעצור את התכנית.
>> ועכשיו קבוע שבאג ש.
אז iteratively אני משתפר בזה.
התכנית מקבלת קצת יותר מורכב וגדול יותר,
אבל אני לוקח את תינוק צעדים כביכול, ונגיסות קטנות מהבעיה
כדי לקבל את זה יותר ויותר טוב.
אבל זה יותר מדי, הוא סוג של צולע.
>> אתה יודע מה?
היה שואל מישהו עם ממש טוב, קול מפחיד רוצה לבוא?
מישהו עם קול.
אה, כן.
בואו למעלה.
בחולצה הירוקה.
>> אז מתברר שיש קצת כיף אחר דברים, אסתטיקה ונשמעים כאחד.
הנה מיאו.
אני לוחץ על כרטיסיית הצלילים.
[MEOW] יש מיאו. [MEOW] [MEOW] [MEOW] --actually משהו שיא
משלנו כאן.
>> אז בואו לעשות בדיוק את זה.
במקום להשתמש בקול החתול הזה, בואו קדימה כאן, ומה שמך?
ניק, נחמד לפגוש אותך.
זה דוד.
אז ברגע, אני הולך ללחוץ על כפתור ההקלטה.
ואם אתה רק יכול לצעוק למחשב הנייד,
"אאוץ '," כאילו שאתה רק נכנס לקיר,
שיהיה להערכה רבה.
1, 2.
>> ניק: אאוץ '!
דוד י מלאן: מדהים.
ועכשיו יכול לעשות קצת עריכה כאן.
הולך להיפטר מהחלקים שקטים.
ואני חושב שזה טוב.
תודה רבה.
>> ניק: תענוג.
דוד י מלאן: לי רק שינה את שמה "אאוץ ',"
אבל עכשיו אני הולך לחזור לתסריטים שלי.
והודעה אכן יש צליל כאן.
ואני הולך קדימה ולשחק אאוץ קול,
ואני הולך לעשות את זה אם זה נוגע בקצותיו בלבד.
ואז אני הולך ל יש לו להסתובב.
אז בואו לראות מה קורה כאן.
בואו נלך על מסך מלא.
[וידאו השמעה]
-Ouch!
אאוץ '!
>> [סוף ההשמעה]
>> דוד י מלאן: אז אתה מבין שאנחנו מקבלים קצת מזל.
אני הולך יש לו מהלך כמו בכל פעם 100 צעדים.
ההשפעה של שעכשיו הוא הולכת ללהיות-- [SOUND תקלה במחשב] אז
בתוך סיבה.
אז הזדמנות כדי לחדד ש עוד יותר אם אנחנו באמת רוצים.
>> אז עכשיו בואו להציג את מושג אחר.
שינתנו לי להיכנס לאחד בשם ספירת כבשים ושימוש משהו
נקרא משתנה.
זה כבשים קטנים מקסימים, ו שיניתי תחפושתו כביכול.
אז למרות שברירת המחדל היא חתול, אתה יכול להעלות, אתה יכול לצייר,
אתה יכול לעשות כל מספר של דמויות על ספרייט.
הנה תכנית ש הולך לעשות את מה שבאנגלית?
>> בהתבסס שוב על בדיוק מה שאתה יודע עכשיו.
מה בתכנית זו עושה?
כן, זה הולך לספור.
מספר אחד בכל פעם.
יש לנו כנראה יש דלפק קבוצה זו.
>> אני לא יודע מה זה, אבל אולי זה משתנה.
זה רק מיכל, x או y.
אבל המילה הנגדית הוא יותר תיאורים מ x של המתמטיקאי או y.
אז אנחנו יכולים להשתמש במילים באנגלית לדברים.
לנצח, רק אומר להמשיך לעשות את זה.
>> אומר דלפק.
עכשיו איפה זה בא?
ובכן, מתברר ש הדלפק הוא משתנה.
אז זה רק חידה נוספת חתיכה שיצרתי מראש.
ולמרות שזה קורה לא להיות באותה הצורה כאן,
בדרך כלל היית אומר משהו כמו שלום כאן.
>> ניתן גם לגרור משתנים כך שזה מה שאמר של לקבל.
אז אני מחכה לרגע, אני לשנות את הדלפק על ידי אחד,
הגדלה על ידי הוספה אחד.
כך שההשפעה נטו היא כבשים ספירה מקסימים זה.
למרות שהוא בונה את עצמו.
עכשיו זה מהר מאוד הולך לקבל משעמם
בגלל שהוא הולך ל לעשות את זה באמת לנצח,
אבל זה בדיוק מה ש העיצוב של התכנית קובע.
עכשיו בוא אנסה דוגמא נוספת שממנף משתנה.
זה אחד נקרא היי היי היי, ש אין לקבל מעצבן במהירות.
עכשיו זה אחד יש שני תסריטים.
וכך שוב, אנחנו נוקטים בצעדים תינוק.
>> התחלנו עם משהו סופר קטן, הוסיף לו, הוסיף לזה.
עכשיו אני רוצה לעשות משהו אפילו יותר דינמי,
כך אני רוצה להקשיב ל שני דברים שונים בכל פעם.
אז בצד השמאל, כש דגל ירוק נלחץ,
אני מגדיר משתנה שכתבתי מראש נקרא מושתק.
ואני באופן שרירותי להגדיר אותו 0.
אז Scratch אין אמיתי ו שקר, אבל זה עושה לי 0 ו -1.
>> אז אני יכול משוער אותו רעיון.
ולאחר מכן לנצח, אם על מקש הרווח הוא לחץ, ולאחר מכן קבע את המשתנה 0.
או מצטער.
אם החלל נלחץ, ו אם מושתק, משתנה, הוא 0,
לאחר מכן קבע מושתק עד 1, להגדיר מושתק אחר 0.
זה נראה כמו סוג שלנו רק עושה וביטול עבודה.
>> אבל מה ההשפעה?
בכל פעם שאני מכה על מקש הרווח, מה קורה למשתנה שלי
שם מושתק, באופן הגיוני?
סוג של מקבל התהפך.
זה משנה 0-1, או 1-0.
אז זה לקח כמה רחובות להביע את זה, אבל כל
אני עושה הוא החלפה של המדינה משתנה זה ל0 או 1, או 0 או 1
בכל פעם שאני מכה על מקש הרווח.
עכשיו כאן, מה שעושה את זה?
לנצח, אם מושתק הוא 0, כך שאם מושתק הוא שקר.
אז אם זה לא מושתק, הוא סמנטיקה שם, לשחק אריה ים צליל,
ולחשוב היי היי היי לשני שניות, לחכות שתי שניות.
אז שם לב עכשיו אלה תסריטים הם ביעילות
הולך לרוץ במקביל, כך שאחד יכול מקשיב לפעולה אחת, אחר
כדי לקבל החלטה מבוססת על פעולה זו.
והוא יכול לעשות את זה לנצח.
>> [Sea Lion נובח]
>> זה הולך לעשות את זה לנצח ו [Sea Lion נובח] כפי שרק עשיתי.
ועכשיו זה עדיין פועל אבל יש לי "מושתק" המשחק.
[Sea Lion נובח] וזה כל הבחור הזה גם עושה עכשיו.
>> בואו לפתוח דוגמא נוספת כאן.
תן לי ללכת לאירועים, וגם עכשיו זה מקסים.
אבל שם לב שיש לו שני שדונים.
אז לא רק שני תסריטים עם ספרייט אחד, אלא שני שדונים.
ואם אני לוחץ על הבחור הכחול כפי ש כבר יש לי, אני רואה שהוא כתכנית אחת
עד כאן זה ממש פשוט אומר זה, כאשר אני מקבל אירוע,
אומר "פולו" למשך שתי שניות.
>> אז אם אי פעם שיחקו ב בריכה, משחק מרקו פולו,
אם התסריט הכתום הבחור הוא כל אינדיקציה, כנראה
בכל פעם שאני מכה על מקש הרווח, מה הבחור הכתום הולך לעשות?
הוא הולך להגיד "מרקו".
ואז זה בלוק חדש.
אנחנו כבר לא ראינו לפני זה, אבל לשדר אירוע.
ואני יכול לקרוא לזה דבר אירוע שאנחנו רוצים.
>> אנחנו נחזור לזה אולי לפני זמן רב.
אבל לשדר אירוע היא דרך לספרייט אחד
לדבר אחר על ידי בעצם מעביר אותה הודעה.
זה לא מסר שאתה רואה.
זה לא משהו חזותי.
זה סוג של מסר מחשב כי הבחור האחר מקשיב ל.
בגלל אכן, הבחור הכחול, כזכור אין כאשר הדגל ירוק לחץ.
>> הוא במקום יש, כאשר אני מקבל אירוע.
כשהוא מקבל מסר הפתק הזה בכיתה, כביכול, הוא צריך לומר "פולו".
וכך התוצאה הסופית היא שכאשר אני פגע בדגל הירוק, שום דבר לא קורה.
אבל כאשר אני מכה על מקש הרווח, הוא אומר "מרקו", הוא מגיב עם "פולו".
אבל ספרייט רק אני אינטראקציה עם היא אחד הכתום.
אז זו דרך של סוג של העברת מסרים בין שדונים
ויש להם לתקשר ב אחד עם השני.
>> עכשיו בואו נסתכל על אחד אחרון אחד נושאים שנקראו כאן.
ושים לב זה על ידי משחק זה.
אז אלה הם שני שדונים.
ציפור היא סוג של עפות.
הוא מקפץ.
אין "אאוץ '," אבל אותו רעיון.
>> אבל החתול נראה די חכם.
מה החתול עושה כנראה?
ולחכות שזה.
מה החתול עושה כנראה?
זה לא רק הקפצה.
>> הוא הבא ציפור.
וכך ככל הנראה, יש דרך עם שילוב של אבני כאן--
ובואו נסתכל על החתול ממש מהר.
לנצח, אם נוגע ציפור, ואז לשחק הקול 4 אריות, מה שזה לא.
שמענו את זה פעם אחת.
אחרת, מצביע לכיוון ציפור, ולעבור צעד אחד.
עכשיו את העובדה שזה אחד צעד זה מה שנותן את ציפור
קצת יתרון בתחילה, אבל אם אנחנו במקום
לעשות 10 זה, למשל, כל כך שכל איטרציה של לולאה הוא
נע 10 צעדים של זמן.
אז שטח גדול יותר.
בואו לראות מה קורה אז.
[נהמת ארייה] לא כל כך הרבה יותר טוב.
אז עכשיו בואו ננסה לשפר על אלה קטנים iteratively,
ואחזור לזה רעיון של פונקציה.
>> ואכן אחד מבסיסית מזנונים של עיצוב הכיתה.
לא רק בכתיבת תוכניות הפועלות וכי הם נכונים, אבל הם גם
תוכנן.
ועיצוב הוא הרבה יותר סובייקטיבי, ותקבל את זה יותר טוב לאורך זמן.
אבל בואו ניקח קצת צעדי תינוק לכיוון מתחיל עם תכנית שעובדת,
בהחלט, אבל זה לא כל כך טוב.
זה לא כתוב היטב.
>> אז הנה תכנית שעושה את זה.
שיעול, שיעול, שיעול.
מה התכנית נראית?
נראה לי נכון.
זה אומר ספה ל שני, אז זה מחכה.
>> אז זה אומר את זה שוב, אז זה מחכה.
אז זה אומר את זה שוב, אז זה מחכה.
ולאחר מכן את התכנית במשתמע מסתיים, כי אין לולאה.
אבל למה זה תכנית כתובה רע?
גם אם אף פעם לא תכנתו לפני?
כמו, מה משפשף דרך הלא נכונה, אולי כאן?
כן?
>> קהל: [לא ברור]
דוד י מלאן: בדיוק.
אתה חוזר את עצמך שוב ושוב.
וממש, אני להעתיק ולהדביק שניים מאלה בלוקים שוב ושוב.
וזה בדיוק הסוג של שפיות לבדוק שאתה צריך להיות ביצוע.
חכה דקה.
אני צריך באמת לעשות את זה?
אז מה זה מה פתרון ברור אולי?
יש איזשהו לולאה.
ואני זוכר שלא די מה את פיסת הפאזל היא,
אבל אם אני מסתכל על איטרציה הבאה כאן,
אכן, יש לא רק הלולאה לנצח,
יש לחזור על כמה וכמה פעמים.
ואז אני כבר צוין שלוש.
ועכשיו שימו לב כמה הרבה יותר הדוק, איך הרבה יותר תמציתי תכנית זו היא.
ובמובן מסוים, איך הרבה יותר לתחזוקה.
אם אני רוצה לשנות את המילה משיעול למשהו אחר,
כמו אצ'ו, כאילו הוא מתעטש.
אז לשנות את זה באחד מקום, ולא שלוש.
אז זה כבר מרגיש כמו עיצוב מעט טוב יותר.
תן לי שיעול במקום פתוח 2, הדוגמא השלישית שלנו.
>> שים לב כמדען מחשב, אני מתחיל לספור ב 0, בדרך כלל.
עכשיו זה נראה קצת מפחיד ב ראשון, אבל התוצאה זהה.
שיעול, שיעול, שיעול.
אבל מה שנראה ביסוד חדש בחלק העליון של התכנית?
אני כבר הסרתי את אומר.
>> אני כבר הסרתי את ההמתנה.
ומה יש לי המחובר במקום?
פונקציה.
בלוק שיעול.
אני מתכוון, בכנות, אני נראה סוג של אידיוט אם אני לא עשיתי בדיוק
להתחיל עם הבלוק זה נקרא כנראה
"שיעול," אם זה כל מה שאני רוצה שהוא יעשה.
אבל זה לא קיים בגרד.
ולא הלכתי לאחד ב לוח נקרא יותר בלוקים כאן,
ואני גורר דבר סגול גדול זה כאן, המאפשר לי להגדיר פונקציה.
זה בעצם מאפשר לי ליצור פאזל שלי
חתיכה שיכול להיקרא משהו שאני רוצה, שיכול לעשות מה שאני רוצה,
אבל זה נותן לו שם.
זה נותן לי פיסת הפאזל חדשה, סגולה שעכשיו עושה מה שאני אומר לו לעשות.
אז חתיכה סגולה זה כאן מתאים לזה כאן.
>> ומה הוא עושה?
זה אומר שיעול ל שני, ולאחר מכן הוא ממתין.
ועכשיו אני כבר סוג של יצרתי פיסת הפאזל מותאם אישית משלי,
כך שהוא מתנהג בדיוק באותה דרך.
אז אני יכול להמשיך לעשות את זה.
ואכן, יש הולך להיות יותר ו יותר הזדמנויות למודולריזציה,
ולשכבות, מורכבות על גבי זה.
אבל הרעיון הבסיסי הזה, אכן בבעיה אמר 0.
מה אתה הולך לערער לעשות הוא
להוריד סריטות, או פשוט להשתמש בו באינטרנט, ורק להשתעשע עם זה.
אנחנו ניתן לך סט של דרישות, יש קול,
וכמה מספר חלקי הפאזל.
אבל אתה תעשה בדיוק את זה.
ואתה מבין שאתה הולך רוצה לקחת כמה צעדי תינוק בתחילה,
עד התכנית שלך מקבלת יותר ויותר מורכב.
אבל בהתחשב בהוא זה הדרך הטובה ביותר שאני יכול לעשות את זה?
האם אני יכול להימנע מזה אינסטינקט אולי, להעתיק ולהדביק?
>> אבל לפני שבעית הגדר 0, ולפני שאנחנו לדחות,
חשבתי שניקח את אחד יותר מתנדב אם היינו יכולים,
לתכנית סופית זה אולי ביותר
ראוי בכל, נתן מקום של היום.
בואו למטה.
כן.
מה השם שלך?
אוי.
זה בסדר.
שני לרדת.
ולי יהיה להתמודד עם זה איכשהו תוך עשר שניות שהבאות.
אז בואו למטה.
בואו למטה.
>> תן לי לבוא בעד כאן.
בחייך.
בסדר.
בואו לראות כאן.
אז שם לב ממש מהר כאן, אם אתה רוצה לבוא בעד.
>> אנחנו נעשה שני סיבובים של זה.
ומה שמך?
>> סברינה: סברינה.
>> דוד י מלאן: סברינה ו?
>> יינג GEE: יינג גי.
>> דוד י מלאן: יינג גי.
נחמד לפגוש אותך גם.
דוד.
אז הדוגמא האחרונה שלנו כאן היא נקרא המשחק הקשה ביותר של אייבי.
ולמה אין לנו אתה עושה רמת 1, ואתה עושים רמה 2.
>> ואנו רואים כמה רחוקים מעבר לכך שאנחנו באמת הולכים.
נכתב על ידי תלמיד בשנה שעברה, רמיקס ידי
כך שזה ילך על גם בניו הייבן.
ואני נותן לך משחק שהולך כרוך הזזת החצים מעלה ומטה,
ומקבל ייל אל קו הסיום.
הנה אנחנו יוצאים.
>> [וידאו השמעה]
>> [MUSIC - NFL ברשת פוקס שיר נושא]
[MUSIC - MC האמר, "U לא יכול לגעת זה "]
>> -U לא יכול לגעת זה.
U לא יכול לגעת זה.
לא יכול לגעת זה.
שלי, שלי, שלי, המוזיקה שלי פוגעת בי כל כך קשה, גורם לי לומר, הו, אלוהים שלי.
תודה לך על ברכה עימי אכפת לחריזה ושתי רגלי ההייפ.
>> זה טוב כשאתה יודע שאתה למטה.
נער שכונות סמים סופר מOaktown.
ואני ידוע ככזה וזה פעימה אה, אתה לא יכול לגעת.
אמרתי לך Homeboy U לא יכול לגעת זה.
כן, זה איך שאנחנו חיים ואתה יודע U לא יכול לגעת זה.
>> תראה בעיניים שלי, גבר.
U לא יכול לגעת זה.
יו, תן לי לפרוץ את מילות פאנקי.
U לא יכול לגעת זה.
בעיטות טריות חדשות ומכנסיים.
>> יש לך את זה ככה ו אתה יודע שאתה רוצה לרקוד.
אז לצאת מהמושב שלך ולקבל את לטוס ילדה ולתפוס קצב הזה.
בזמן שהוא מתגלגל אחיזה במשאבה קטנה קצת ולתת להם לדעת מה קורה.
כמו זה.
>> קר במשימה כל כך מושך על הגב.
תן להם לדעת שאתה יותר מדי וזה מהלך אה אתה לא יכול לגעת.
יו, אמרתי לך U לא יכול לגעת זה.
למה אתה עומד שם אדם?
U לא יכול לגעת זה.
>> יו, נשמע בבית הספר של הפעמון, פרייר.
U לא יכול לגעת זה.
תן לי שיר, הקצב שהופך אותם להזיע זה מה שאני נותן להם עכשיו.
הם יודעים כשאתה מדבר על האמר אתה מדבר על תכנית זה משולהב.
וזמרים הדוקים הם מזיע כל כך להעביר אותם מיקרופון.
>> או קלטת כדי ללמוד מה זה הולך לקחת ועכשיו
הוא הולך לשרוף את התרשימים.
קשה או או עבודה חוקית אתה יכול גם להפסיק.
כי אתה יודע U לא יכול לגעת זה.
U לא יכול לגעת זה.
לשבור אותו.
תפסיק.
זמן האמר.
ללכת עם הזרם בספין אם אתה לא יכול לעבור לזה
אז אתה כנראה מת.
אז לנופף את הידיים שלך ב האוויר [לא ברור]
>> זהו זה לריקוד מנצח ל זה ואתה הולך לקבל דק יותר.
הזז להחליק העכוז שלך רק ל דקה בואי כל לעשות המכה.
כן.
U לא יכול לגעת זה.
>> U לא יכול לגעת זה.
אתה טוב יותר לקבל משולהב הילד U לא יכול לגעת זה.
לצלצל חזרה של בית ספר פעמון ב.
לשבור אותו.
תפסיק.
זמן פטיש
>> דוד י מלאן: זהו זה לCS50!
תודה רבה שהצטרפו אלינו!
לראות אותך בחוץ.
>> [סוף ההשמעה]
[וידאו השמעה]
[מוסיקה - שיר נושא "סיינפלד"]
הי, דוד.
היי, דוד.
איך הולך?
>> עבודת -יופי, היום.
יש לי -אז אתה חשב על מה ש אתה הולך לעשות לבדיחות החוצה?
לא, אני לא קיבלתי דבר.
-מה If-- מה אם זה הבדיחה?
דמוי, לפרוק עגלות?
-אה הא.
אתה יודע, זה על שום דבר.
>> -אז רוצה, אין סיפור, אין סכסוך, אין לה פתרון.
אֲנִי לֹא מֵבִין.
מה זה אז?
>> אין גולשים.
>> -אז יש לנו את הבדיחה היא על שום דבר, ואין לנו שחקנים.
מי הולך להיות בזה?
>> -לא לא לא.
אני מתכוון, אני יהיה בזה.
>> ואתה עומד להיות בזה?
'כן!
אנשים תמיד אומרים לי לי שאני דמות.
>> "טוב, אני מתכוון, זה נכון.
אבל מי עוד הולך להיות בזה?
זה לא יכול פשוט להיות אתה.
>> 'אתה יהיה בזה, גאווין, דן, דן, קולטון, Z'Myla, Alysse, דאג,
דוד, כולם.
>> -אז זה על שום דבר, וכולם בזה?
>> -בהחלט שום דבר.
>> -זה מגוחך.