אז זה התענוג הכי גדול שלי לברך את כולכם כאן היום
עבור ההרצאה הראשונה של, ובכן, מבוא
מחשוב ותכנות.
ידוע גם בשם CS50 או טוב, CPSC 100, כאן באופן רשמי בייל.
>> אז אנחנו לא יכולים להיות נרגשים יותר לברך את כולכם כאן.
שמי פטריק Rebeschini.
אני מאמן הראש של הכיתה.
אני כאן המייצג קבוצה של כ -60 אנשי צוות
זה יעבוד איתך במהלך הסמסטר.
מספר זה הוא כמעט 60 מאיתנו.
עם זאת לאורך יוצא הדופן רמת ההתחייבויות
כי שהשקענו זה בכיתה, עושה CS50 הכיתה
באוניברסיטת ייל, אשר מציעה הרמה הגדולה של תמיכה
לכולכם.
ולא יכולנו להיות יותר גאה מציע המעמד הזה כאן שוב.
>> למעשה, כפי שאתה חווה בקרוב, CS50 הוא הרבה יותר מאשר בכיתה.
זו קהילה.
ואתה תהיה חלק בקרוב של קהילה זו.
זוהי השנה השנייה ייל מציעה המעמד הזה.
אנחנו בונים על הקיצוני ההצלחה של השנה שעברה, שבו
בפעם הראשונה, כאן באוניברסיטה הזאת,
עוזר למידה לתואר ראשון אומצו בכיתות.
הכל התחיל עם המעמד הזה בשנה שעברה.
>> אז כפי שאתם יודעים, המעמד נלמד במשותף עם אוניברסיטת הרווארד.
כדי ללמד את הקורס הזה אנחנו relying-- נוכל
לסמוך על המומחיות הגדולה של דוד מלאן צוות הרווארד.
אז דוד מלמד CS50 עבור טוב, עכשיו 10 שנים.
ובכל שנה הוא כבר דוחפים את הגבולות
ולשפר את חוויית בכיתה.
שוב, לא היינו יכולים להיות יותר שמח להמשיך את שיתוף הפעולה הזה איתם.
>> למעשה, אחד רוב החלקים המעניינים,
אני אגיד לרוץ המעמד הזה עכשיו, הן בהרווארד כאן בייל,
הוא באמת מדהים הפריה הדדית
רעיונות, שנועד לשפר את חוויית למידה לכולכם.
אז כתוצאה זה נרחב שיתוף הפעולה בין השניים
באוניברסיטה, CS50 גאה להכריז על הגרסה החדשה השנה
עם שינויים בולטים.
דוד ישיב לנו עליהם עכשיו.
אז please-- וזאת אמר, בבקשה להצטרף אלי
וברוכים הבאים לתת מחיאות כפיים
לברך דוד צוות הרווארד כאן בייל.
>> [תְשׁוּאוֹת]
>> DAVID מלאן: תודה.
תודה.
זהו CS50, אוניברסיטת הרווארד של והכנסה של אוניברסיטת ייל
אל הרוחני חברות של מדעי המחשב
ואת האמנות של תכנות.
ומה פירוש הדבר הוא כי הקורס הזה בסופו של דבר, הוא על פתרון בעיות.
ואכן רבים מכם אולי הגיע מהתיכון
או השקיעו בשנתיים האחרונות תוהה מה כמה מהחברים שלך
עשה בשנה שעברה או בסוגים אחרים.
ובכל זאת, המציאות הוא, לא משנה מה אנחנו
לעשות בסוף היום בכיתה זו, זה הולך להיות על פתרון בעיות.
>> וככזה, אולי לקחת קצת חיזוקים בעובדה
73 כי% מהתלמידים כי לקחת את השיעור הזה, הוא כאן
בייל וכן בהרווארד, לא לקח בכיתת CS לפני.
אז אם אתה יושב כאן הקהל היום תוהה
מדוע אתה יושב כאן בקהל היום,
או אולי אתה פשוט אחריו יחד עם כמה חברים,
או אולי אתה היית קצת סקרן לדעת מה
מדעי המחשב בתכנות, מבין
שרוב התלמידים שלך משמאל ומימין מכם
מאוד הם הרבה באותו דמוגרפי.
>> ואכן, אם נסתכל על סטטיסטיקה בשנה שעברה
בתוך הסטודנטים של CS50, הוא כאן בהרווארד, 58% מהתלמידים
מגדירים עצמם פחות נוח.
9% יותר נוח.
ואז 33% הם איפשהו באמצע.
ואין הגדרה פורמלית מה דליים באמצעות המלחמה.
אתה הרי מכיר אתה פחות נוח אם אתה.
אתה מרגיש קצת לא בנוח אולי בלהיות בכיתה.
אתה לא ממש בטוח אם למחשב בשיעורי מדע הוא בסופו של דבר בשבילך,
ולהבין כי אתה בחברה טובה.
ואכן לדירוג, ואת ההערכה,
ואת המשוב, וכל זה מבנה תמיכה בכיתה
בסופו של דבר מאוד נעשה יחידני.
יותר מרוב כל בכיתה אחרת על ידי עיצוב.
ואכן, מה שבסופו של דבר בעניינים בכיתה זו אינה
כל כך איפה אתה בסופו של עד יחסית לאחרים,
אבל איפה אתה, בשבוע 11 או אחרון, ויחסית עצמך בשבוע
0 כאן הראשון שלנו.
אז מה זה אומר?
ובכן, זה אומר מאותם 73% סטודנטים בשנה שעברה כי מעולם לא לקח
לפני כיתת CS, על ידי תחילת הסמסטר הם
היו שכשוך בשפה Scratch שנקרא, אשר אנו עצמנו
תראה כאן היום.
ועל ידי תום סמסטר אילו נעלם
באמצעות הרשימה כולה אתגרים.
החל עם ג שפה שנקרא.
היישום, מה במבט ראשון, הולך
להיות קצת אתגר עבור כמה, אבל די מהנה ברגע שאתה
לקבל סופר מריו מקפץ למעלה ולמטה פירמידה
מיושם, אם כי, עם רק משהו שנקרא אמנות ASCII.
הטמעת year-- האחרון מה התלמידים בשנה שעברה אז
עשה אחר כך היה ליישם שלהם צופן קיסר עצמו צופן ויז'נר.
אז אלגוריתמי ההצפנה שבה אתה יכול
מידע לטרוף ואז לפענח מידע לשלוח מסרים סודיים.
המשחק של 15.
אם אתה זוכר ילדות או כמה מסיבה טובה,
כי משחק פלסטיק הקטן שבו אתה מזיז את המספרים, למטה, שמאלה וימינה
מנסה להשיג אותם לפי סדר, בעצם יישום זה משחק
ופתרון ההיגיון הנדרשים שם.
ואז אנחנו ועסקה זיהוי פלילי אשתקד.
>> אז עד אמצע הסמסטר, סטודנטים שמעולם לא
השתמש המקלדות שלהם למטרה זו לפני,
כותבים תוכנה כדי להתאושש, אם אפשר לומר כך,
תמונות JPEG או צילומים כי היו לנו בטעות
נמחק דיגיטלי כרטיס זיכרון ממצלמה.
שחזור מסר סודית מבפנים של תמונת מפה סיבית,
וסוגים אחרים כגון הגרפיקה גם כן.
>> אז העברנו לנתינה כל הכיתה מילון.
רק קובץ טקסט גדול באמת עם 150,000 מילים באנגלית.
וכולם היו תיגר איכשהו לקרוא, אם אפשר לומר כך,
המילים האלה לתוך הזיכרון.
לתוך הזיכרון של המחשב.
ואז לענות על שאלות של הטופס, הוא זה מילה?
האם זו מילה?
באמת רק ביישום בודק איות.
ואז מאתגר כל אחר עם board-- גדול
לוח מנהיג כדי לראות מי יכול להשתמש את כמות הזיכרון לפחות,
בסך הנמוך ביותר של זמן כדי למעשה בדיקת איות מסמכים גדולים.
>> העברנו מאז ועד יישום שרת אינטרנט אלה משלו.
אז לא עושים דפי אינטרנט בשפות כמו HTML ו- CSS, אם אתה מכיר.
אבל למעשה ביישום השרת
מאזין באינטרנט לבקשות מדפדפנים
ואז להגיב לבקשות אלה.
ואז יישום משלנו סחר אלקטרוני כמו אתר אינטרנט, שבו
תלמידים יכולים לקנות ולמכור מניות.
ציור בזמן כמעט אמיתי מחירי מניות מן Yahoo Finance.
ושהרשה תלמידים לראות מה מצב התיק שלהם מתפתח.
ואז סוף סוף מחית למעלה של Google News ו- Google
מפות לפיה סטודנטים לפי תקופה עד הסוף במונחים
הייתה היכולת ללחוץ, ו עגול, וחיפוש במפת Google.
ואז לראות את כל הכתבות החדשותיות כי
הם הפרוקסימלי לאזורים ספציפיים אלו.
אז באמת הולך מאפס עד 60.
>> ועל הדרך שיש מה שהיה לנו בשנה שעברה נקרא, תוספות האקר.
זה להרים את הרף נוסף לאלה מכם
שאולי יש היטב טוב סכום של ניסיון להיות 9 כי%
של יותר נוח.
אז להבין שיש תקרה גבוהה מאוד
אפילו בתוך אלה אתגרים לסטודנטים
באו מרקע שונה.
מכיוון בסוף היום, אנחנו בסופו של דבר
התמקד די פשוט על זה.
>> אבל מה עושה את זה כלומר, פתרון בעיות?
אז בואו להציע כי אנחנו לזקק את זה ככה.
אז פתרון בעיות הוא באמת רק סוג זה של תמונה.
אז יש לך תשומות לכמה מבעיות, משהו שאתה באמת רוצה לפתור.
המטרה היא לקבל פלטים, פתרון לבעיה הזאת.
ואז באמצע הוא מה אנחנו נתקשר קופסא שחורה.
אתה לא בהכרח יודע או אפילו אכפת לי מה יש בפנים את הקופסה השחורה.
כל מה שאתה יודע הוא שכאשר אתה מאכיל קלט לתוכו,
אתה מקווה לקבל פלט או פתרון ממנו.
ובעוד היום נחפש הן תשומות ותפוקות,
אנו יהיה לטווח ארוך, ובמשך במהלך הסמסטר כולו,
להתמקד במה בתוך התיבה.
>> וכאן ישקר אלגוריתמים שנקראים משהו.
שלב שלב לפי ההוראות עבור למעשה לפתור כמה בעיות.
אבל מה דוגמא תשומות כמה?
אז אולי דבר פשוט בבית בתחילת כל שנת לימודים, מישהו
אולי כדאי לך לקחת נוכחות.
אז אנחנו יכולים לעשות אחד, שתיים, שלוש, ארבע, חמש, שש,
ואיך אני אשמור על אחר המידע.
אולי באמת כדאי לי ללכת אחד, שתיים, שלוש, ארבע, חמש, שש.
ובדיוק להשתמש מעין חד-ספרתית.
>> או שאני באמת יכול להקליט זה מונח קצת יותר זמן.
ואיך לעשות אני מייצג את כל בני האדם בחדר הזה?
ובכן, אני יכול לעשות משהו כמו, אישור.
אני רואה אדם אחד.
בסדר.
אני רואה אדם אחר, אדם שלישי, וכן הלאה.
אבל אף אחד לא סופר אנשים אוהבים את זה.
אז ממש, רובנו אם אנחנו אפילו הולך לצייר משהו בכלל,
כנראה הולכים ללכת אחת שתיים שלוש ארבע,
אולי לקבל חמודות, חמש, שש, שבע, שמונה, תשע, עשר וכן הלאה.
>> וזה בעצם מערכת בשם יונארית.
אונו, כמו uno רומזות אחד, שבו אתה יש רק אות אחת של אלפבית.
סתם נכנס לך סימן חשיש זה.
ואני, ליעילות, פשוט שלף אלה סימני חשיש, בסופו של דבר
קווים ישרים כמו.
אבל יכולתי משכתי אותם כמו דמויות מקל קטנות.
איפה לייצג אדם אחד, קלט אחת,
אני פשוט לצייר מקל דמות או סימן חשיש.
אבל זה לא כל כך הבעה.
>> אם כל מה שיש לי הוא אלה חשיש סימנים, בואו דמויות מקלות לבד,
איך ייתכן שאני מייצג משהו כמו המספר 15?
או 15 אנשים בחדר?
אולי אני צריך לעשות משהו כמו 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15.
זה פשוט לא קנה מידה היטב.
ככל התשומות לקבל גדולות, אנחנו צריך מערכת יותר טוב מזה.
>> ומתברר כי מערכת שמחשבים משתמשים
לא כל זה שונה ממה שאתה ואני יודעים.
למעשה, רוב האנשים בחדר הזה, גם אם אתם נמנים עם אלה פחות
נוח, לא בהכרח יודע איך Mac או PC שלך באמת עובד,
אתה בטח כבר לפחות שמעת, כי מתחת למכסה המנוע הם 0 ו -1.
מערכת בינארית מה שנקרא.
אז אכן, מחשבים יש יותר רק סימני חשיש אוצר המילים שלהם,
אבל לא באותה מידה של אוצר המילים כפי שאנו בני האדם.
>> ואכן, אנו בני האדם לא להשתמש בינארי.
Bi כלומר 2, 0 ו -1.
אבל עשרוני, Deca כלומר 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 מלאן: כן.
סמכויות 2 במקום חזק של 10.
לכן, אם הייתי רוצה לשמור הולך, 8, 16 שניות וכן הלאה forth--
אבל עכשיו אם יש לך סוג זה של מושג, עכשיו במערכת בינארית
הוא בעצם די פשוט.
למה הוא דפוס זה של ספרות 0 בעולם של מחשבים 0?
ובכן, כי זה 4 פעמים 0, 2 פעמים 0, 1 פעמים 0 ואתה מקבל 0.
>> למה זה מספר 1?
אותו היגיון, אבל עכשיו אנחנו יש 1 בעמודה 1.
למה הוא 2 זה?
יש לנו 1 בעמודה 2s.
ואיך אז לעשות אני מייצג אומרים, מספר 7 ב בינארי?
תגיד בקול רם.
>> סטודנט: שלושה 1s.
>> DAVID מלאן: שלושה 1s.
אז 1, 1, 1, כי אנחנו פשוט צריכים 4 פלוס 2 פלוס 1 נותן לי 7.
בסדר.
אז משם איך אנחנו מייצג 8 עם 3 מצייני מיקום?
כֵּן.
>> תלמיד: 1, 0, 0, 0.
>> DAVID מלאן: כן 1, 0, 0, 0.
ובכל זאת אולי, אני סוג של טכני צריכים
כדי להוסיף מציין מיקום אחר ללוח.
אם אני רוצה להתאים שאני אכן צריך לעשות משהו כזה.
אז אני באמת צריך להשתמש עכשיו בעמודה 8s, וזה בסדר.
אבל הדבר המוזר במחשוב הוא כי זה הולך לעלות לנו משהו.
אתה צריך יותר זיכרון RAM במחשב שלך עכשיו.
אתה צריך יותר זיכרון כי אתה צריך משהו
פיזי לאחסן כי קצת נוסף, אם אפשר לומר כך.
ספרות בינאריות.
ואכן כל מה שקרה כאן, כמו השיטה העשרונית,
אם נמשיך הוספת מספרים מעלה מעלה ומעלה, אנחנו הולכים 5 עד 6 עד 7 עד 8
זה כמו נושא את 1, פשוטו כמשמעו.
ואז כל השאר חוזר עד אפס.
>> אבל איך אנחנו מייצגים בפועל אלה דברים פיסיים למחשב?
ובכן, בסוף היום, רק קלט פיזי להיכנס למחשב שלי
כאן הוא כבל החשמל הזה, כך חשמל או אלקטרונים מהקיר.
וכך איך אני מגיע ממשהו פיזי כזה באמת
מייצגי רעיון כזה במקום.
>> ובכן, מה יכולנו לעשות?
אנחנו יכולים לשקול את זה, בסדר, אולי אם החשמל זורם
יכולתי לאחסן אותו להיצמד אליו.
ואם אני מחזיק מעמד לחשמל מסוימים,
כי רק הולך מייצגים 1 שרירותי.
ואם אני מושך את התקע ויש שם כלום,
אתה יודע בדיוק קורה לייצג 0 שרירותי.
>> אז אם משהו שם, 1.
אם שום דבר לא נמצא שם, 0.
או שאתה יכול לעשות זה קצת יותר חזותי.
הנה 0.
שום דבר לא קורה מעניין על אודות האחורי של הטלפון שלי.
אבל אם אני מרשה קצת קצת החשמל לזרום,
למרות שזה קצת בהיר כאן, הפנס שלי המשיך.
אז אני אחסון מטען ו ergo, הטלפון הזה עכשיו מייצג 1.
אז 0 1.
>> אז עם 1 iPhone כמה גבוה אני יכול לספור באמצעות סוג זה של גישה?
אני מתכוון ל -1.
זה לא כל כך משכנע.
אז מה עוד יכולנו לעשות?
ובכן, הבה נראה, מישהו בכוחות לטלפון עכשיו שאני יכול לשאול?
כל מי שיש לו טלפון עם פנס מובנה?
האם אני יכול להשאיל?
אני לא צריך את זה נעול.
בסדר.
תודה רבה לך.
תן לי לשאול את זה.
בסדר.
אז אם אני עכשיו לגלול מעלה כאן, מה אני מייצג עכשיו?
כֵּן.
אז זה שלושה, כי זה נמצא טור 1s, זה בעמודה 2s.
אז 1 ועוד 2 הוא 3.
ואז אם ננסה להגיע באמת creative-- הו, תודה.
מאוד מנע.
בסדר.
עכשיו יש לי שלושה מכשירי iPhone.
בסדר.
>> ועכשיו זה- אני לא לעשות כל מעבר לכך.
מה אני מייצג עכשיו?
רק שביעיות.
אבל הייתי צריך פיזי זיכרון יותר במקרה זה.
אבל זה כל מה שזה.
אתה יכול לחשוב על מה קורה on-- תודה שאתם-- הפנימי של הטלפון שלך
כמו פשוט להיות מתג זה להיות מופעל לסירוגין.
>> ואם שמעת פעם הטרנזיסטור המילה.
או אם אי פעם שמעתם את שיווק לדבר Intel Inside,
כי מדבר אל סוג של חומרה זה בתוך המחשב.
אינטל עושה מעבדים, יחידות עיבוד מרכזיות,
שהן כמו המוח בתוך המחשב.
וגם מעבדים אלה דברים שהם מחוברים
צריך המון המון מתגים זעירים.
מיליון, מיליארד של מתגים כי גם יכול להיות מופעל או כבוי.
>> אז מחשבים, לשמחתי, כמו מקינטוש והמחשבים שלנו,
יכול לספור את הדרך גבוהה מ -7 או 8 כי יש להם הרבה יותר משלושה
או ארבע חתיכות.
דרך יותר מאשר המקביל של שלושה פנסים שפשוט היו לנו.
אבל עכשיו זה מתחיל להיות די מעניין במהירות.
אם אני עכשיו רוצה באמת להיות מסוגל לעשות משהו יותר מעניין,
אני רוצה להיות מסוגל לקפוץ למשהו כזה.
>> אז ASCII, זה לא ממש שימושי ראשי תיבות, אבל אמריקאי קוד הרגיל
עבור מידע מחלף.
זה רק אומר, כמה שנים לפני שאנו, בני האדם החליטו,
אתה יודע מה, אנחנו רוצים להיות מסוגלים לעשות יותר עם מחשבים מאשר רק מספרים.
אנחנו לא רוצים אותם רק להיות מחשבונים יקרים,
היינו רוצים להיות מסוגלים לעשות דברים כאלה עיבוד תמלילים, אם כי מאוד פשוט.
מאוחר יותר היה לנו אימייל ומדיה אחרת כאמור.
>> וכך העולם החליט כמה שנים לפני פי ASCII מערכת זו,
אתה יודע מה?
בסוגים מסוימים של תוכניות בכל פעם שאתה
לראות את המקבילה של המספר 65, כמו הדפוס של ביטים.
ואנחנו יכולים לעשות את מתמטיקה כאן על הלוח.
הדפוס של ביטים מייצגים 65.
אל תחשבו על זה כעל 65 עשרוני.
תחשוב על זה כעל באופן שרירותי, אבל באופן גלובלי, באופן עקבי כביר
א.
ואז העולם החלטת, אתה יודע מה?
בואו לקחת דפוס אחר של ביטים.
ואם אי פעם אנו רואים את מספר 66, בוא פשוט
להניח כי הוא קדימה ההון B. מהיר H
ואני, אם אתה רואה 72 או 73, כי צריך להיות H ו I, בהתאמה.
וכך, כל עוד כל העולם מסכים עם זה.
כך שכאשר אתה מקבל הודעת דוא"ל, או היית מקבל קובץ על מקל USB,
או משהו כמו ש-- כאשר אתה רואה דפוס של ביטים,
אתה יודע שזה צריך להיות זה מכתב או איזה מכתב אחר.
>> אבל זה בהקשר ספציפי, נכון.
תוכנת דואר אלקטרונית עלולה לפרש הדברים האלה כדמויות,
אבל מחשבון גרפים או מחשבון עשוי לייצג או לפרש
אלה דברים, כמובן, כמו אותיות.
>> אז עם זאת, ביקורת קטנה מהירה.
זהו אולי דמות שלוש דואר אלקטרוני שנשלח אל לי.
מתחת למכסה המנוע זה הכל 0s ו 1s, אבל לא אכפת לנו.
אנחנו הולכים להתחיל מופשטים מעל 0s ו 1s לאותיות.
ואם אני רואה דפוס של 0s ו 1s כי באמת מייצג 72, רמז, רמז, 73,
ולאחר מכן 33, מה המסר?
>> סטודנט: [לא ברור]
DAVID מלאן: אז אם אתה חושב בחזרה רק לפני רגע, HI
היה המסר שאני מנסה לתקשר כאן כי H הוא 72,
I הוא 73, ועכשיו 33-- שהיית לא בהכרח יודעים זאת מראש,
אבל מסתבר אם אתה באמת לראות יותר של התרשים והמערכת
האנושות כי מוסכמת שנים לפני, זה רק סימן קריא.
ואכן, קיים דפוס של סימנים ומספרים לכל תו
כי ייתכן שיהיה במקלדת.
>> בסדר.
בואו עוד מופשטים.
אם אנחנו לא רוצים רק צריכים דברים כמו מספרים ואותיות,
אנחנו באמת רוצים ליישם גרפיקה.
ובכן, אם אי פעם שמע את ראשי התיבות RGB.
זה סוג של מיום עכשיו, אבל זה עדיין סוג של שם.
RGB אדום, ירוק, כחול.
וזה רק מערכה לומר, אתה יודע מה,
בואו להשתמש בשלושה סטים של ביטים.
סט של 8 סיביות, קבוצה נוספת של 8 ביטים, קבוצה נוספת של 8 סיביות.
ובואו להשתמש פיסות אלה איך לאחסן אנו אדומים הרבה
רוצה על המסך שלנו, עד כמה ירוק אנחנו רוצים על המסך שלנו,
וכמה כחול שאנחנו רוצים על המסך שלנו.
וזה רק אומר שאם אתה יש מספר גדול הרבה-- עבור אדום,
זה אומר לתת לי המון אדום.
אם יש לך מספר גדול ירוק, תן לי הרבה ירוק.
ואם יש לך רק קצת כחול או מספר קטן כמו 33,
תן לי קצת מעט כחול.
ואם יקרה לך אם תשלב אותן שלושה גדלים, אם אפשר לומר כך,
אתה מקבל זה- אתה בקושי יכול לראות על המקרן כאן, אבל זה עכור
בצל צהוב או חום.
>> אבל זה עוד לפני שאמר, באמצעות כי דפוס של 8 ועוד 8 פלוס פלוס 8--
דפוס זה של 24 סיביות הוא עד כמה יכול להצליח מחשב
לאחסן כי בצל צהוב באחד נקודה זעירה פיקסל על המסך.
אז שעברנו מן 0s ו 1s עשרוני מספרים אותיות האלפבית.
או יותר מעניין, נקודות צבעוניות.
>> ובכן, מה כמובן ואז מגיע הבא?
ובכן, מה הוא דימוי שאתה לראות בפייסבוק או לקבל באי-מייל?
או כמו?
מהי ההגדרה טכני של תמונה?
כֵּן.
מהו דימוי מורכב אם אתה נראה ממש בהישג המסך?
כֵּן.
זה פשוט חבורה שלמה של פיקסלים.
למעשה, אם אתה לוקח שלך מחשב נייד אולי יותר מאוחר,
ולחפש ממש מקרוב ב it-- בהתאם
על כמה יקר הנייד הוא ו כמה איכותיים המסך,
ייתכן מאוד גם לראות את כל הנקודות הקטנות על המסך.
>> ונקודות או פיקסלים אלה, כלומר יש
24 ביטים מייצגים כל פיקסל כי תצלום שאתה רואה בפייסבוק,
או שאתה פשוט לקחת ב- iPhone שלך ​​לאחרונה.
וכך וככה אנחנו מקבלים דברים כמו גרפיקה.
ובכן, מה זה וידאו?
בסרטון הוא רק קבוצה של גרפיקה טוס על ידי המסך שוב
ושוב ושוב.
וכך סרטונים באמת, הם רק תבניות ביטים המייצגים רשתות, שורות
ועמודות של נקודות, עף על ידי תמונת המסך,
אחרי תמונה, אחרי תמונה, המוכר גם בשם
סרטים.
אז זהו זה עבור כניסות ויציאות.
>> כל מה שיש לנו עכשיו הוא הנחה, אתה
יודע מה, אם אנחנו רוצים מחשב לייצג מידע,
יש לנו מערכת עבור עושה את זה.
אנחנו יכולים לעשות את זה עם 0s ו 1s בסוף היום.
אבל אנחנו יכולים מופשטים, כך לדבר, על גבי זה
כדי לייצג יותר דברים מעניינים.
וכאן על החוצה CS50, וב מדעי המחשב באופן כללי יותר,
עכשיו אנחנו עומדים על הכתפיים של כל האנשים
בא לפנינו שעלינו על העניין.
ועכשיו רק להניח שמחשבים יכול לייצג תשומות ותפוקות.
>> אבל עכשיו בואו למעשה לעשות משהו איתם.
אז אלגוריתם הוא פשוט צירוף של הוראות, צעד אחר צעד,
לפתרון בעיה כלשהי.
ומה עלול אחד בעיה כזו להיות.
אז זהה בית ספר ישן טכנולוגיה, ספר טלפונים.
ובתוך של ספר טלפונים הוא החבורה של שמות ומספרים כולו.
והשמות הם בדרך כלל בסדר אלפביתי.
>> אז אם אני רוצה למצוא מישהו ספר טלפונים זה כמו מייק סמית,
מה בן אדם טיפוסי הולך לעשות?
ובכן, אתה יכול פשוט לפתוח אותו, להסתכל בדף הראשון.
אני לא רואה מייק סמית.
פנה אל הדף השני, אני לא רואה מייק סמית.
ובדיוק להמשיך וללכת.
האם זה צעד גישת צעד נכון?
כֵּן.
זה די טיפשי, נכון.
זה לא יעיל, נכון.
כי זה הולך לקחת לנצח להגיע מייק, אבל היא נכונה.
כי אם מייק הוא כאן אני אכן אמצא אותו.
>> אז מה מעט יותר אדם סביר הולך לעשות?
הם עדיין עשויים לפתוח לחזית, ואולי לטוס דרך ספר הטלפונים
שני עמודים בכל פעם.
שתיים, ארבע, שש, שמונה.
אני לא יכול באמת פיזית לעשות את זה טוב מאוד.
אבל בתיאוריה, זה צריך להיות במהירות כפולה, שני עמודים בכל פעם.
האם זה אלגוריתם נכון?
>> סטודנט: [לא ברור]
DAVID מלאן: לא בהכרח.
טוֹב.
למה כי האזהרה?
>> תלמיד: כי הוא יכול להיות על אחד הדפים שאתה מדלג.
DAVID מלאן: כן.
אז גם אם אני מקבל יותר ויותר.
מה אם הוא רק בטעות, על ידי רע מזל, דחוק בין שני העמודים
כי אני טס מעל?
אז אנחנו צריכים לתקן את זה.
אנחנו באמת צריכים אז לומר, חכה רגע,
אולי אם נלך רחוק מדי, אולי אם פגענו סעיף T,
עבור T מגיע אחרי סמית ', אז אנחנו צריכים לפחות להכפיל בחזרה לפחות עמוד אחד.
אז אפשר לתקן, אבל יש סוגיה מותנית שם.
אז זה פי שניים יותר מהר, אך ייתכן יש להכפיל חזרה רק קצת.
אבל אף אחד בחדרו, אפילו אם אתה לא באמת להשתמש ספרי טלפון יותר,
עומד להתחיל בהתחלה.
מה אתה הולך לעשות מחפש מייק סמית?
אתה הולך בערך את שנת S של.
לחלופין, אם אתה לא באמת צריך הגיליון לרמות על הנייר,
אתה הולך ללכת לפחות בערך לאמצע.
ובוודאי שלא החלק הקדמי של הספר.
אתה הולך להסתכל למטה.
וזה מתמטי אתה כנראה הולך לראות את סעיף ז, אשר
בערך נמצא באמצע.
ואז אתה הולך להבין, מה נכון?
איפה מייק?
>> סטודנט: [לא ברור]
DAVID מלאן: כן.
אז הוא נגמר בצד הזה.
אז מה אפשר לעשות?
ובכן, היא בהשאלה, פשוטו כמשמעו אתה יכול לקרוע את הבעיה לשתיים פעם?
ואז יודעים כי אתה יכול לזרוק מחצית הבעיה משם.
ועכשיו נשארנו עם ביסודו אותה הבעיה, אבל זה חצי כמו גדול.
אז עכשיו מה סט של הוראות?
מה האלגוריתם למציאת מייק סמית?
זה בדיוק אותו הדבר.
>> עכשיו זה קורה להיות M סעיף וזו סעיף Z,
אבל היסוד הנוסחה היא עדיין אותו.
עבור בערך לאמצע, להסתכל למטה, אוי, לעזאזל.
עכשיו אני בקטע T, אני כבר הלכתי רחוק מדי.
אבל גם כאן אתה יכול להחיל אותו ההיגיון.
חצי לזרוק מהבעיה משם ועכשיו אנחנו
נשאר עם בעיה זו רבע הגודל.
ואנחנו יכולים לחזור, ואנחנו יכולים לחזור, ואנחנו יכולים לחזור עד תיאורטית
יש רק דף אחד נותר על אשר מייק גם הוא או היא לא.
>> אז מה כל כך חזק על הרעיון הזה?
אני מתכוון אחרי הכל, זה די אינטואיטיבי.
אף אחד לא הולך להתחיל בבית תחילתו של ספר טלפונים
להעיף 1,000 עמודים כדי למצוא מייק סמית.
רוב הנוכחים בחדר זה הולך בערך לעשות את זה סוג של אלגוריתם
לחסוך עבור הקריעה.
>> אם כך מדוע עשינו את זה?
ובכן, כדאי לשקול את היעילות.
קחו רק כמה טוב זה האלגוריתם היה על ידי פירוק זה
למרכיביה.
אז מה עשיתי קודם?
הרמתי את ספר הטלפונים.
ומדען מחשב, ו מתכנת,
באופן כללי יותר מתברר, הוא הולך להתחיל לספור את הכל בבת 0.
>> למה?
ובכן, זה קצת מוזר כי אנחנו בני אדם לסמוך, בדרך כלל,
החל מאחד.
כי מה המספר הקטן ביותר אנחנו יכולים לייצג מבוססים בבירור
אפילו על המתמטיקה בבית הספר יסודי הישנה שלנו?
ובכן, זה היה 0, אם שהוא עשרוני או בינארי.
וכך תראה בעולם של מחשוב ותכנות,
במיוחד, אנחנו מתחילים לספור כל דבר, החל 0.
>> אז הרמתי את הצעד ספר הטלפונים 0.
אני הולך לפתוח את באמצע בספר הטלפונים.
וזה אכן ביטוי של מה שעשיתי.
ואז צעד שני הוא לבחון את השמות.
השלב השלישי הוא קצת שונה מבחינה מושגית.
אני שואל את עצמי שאלה.
אם סמית היא בין השמות, אני הולך לקבל החלטה.
אם הוא בין השמות, אז אני הולך לקרוא מייק.
ואני הולך לקבל החלטה מבוסס על כי פיסת מידע.
>> עם זאת, אם לא, אם סמית היא מוקדם יותר בספר שמאלה,
אני הולך לפתוח לאמצע המחצית השמאלית של הספר.
ואז הנה פקחותה, אני הולך לחזור לשלב שני.
אני אסדיר של לעמוד על הכתפיים שלי
ופשוט לחזור על העבודה בעבר עשיתי.
אבל העבודה שנותרה לי היא פחות, ופחות ופחות.
אבל זה עדיין יעבוד.
אבל אם מייק, במקום, הוא מאוחר יותר בספר ימינה,
אני הולך לפתוח לאמצע של החצי הימני של הספר,
אז לחזור לשלב שני.
>> אבל יש למעשה תרחיש רביעי.
מייק גם כאן, או כאן, או כאן, or--
>> סטודנט: לא שם.
DAVID מלאן: לא שם.
ואכן, אם אנו לא צופים תרחיש רביעי ואחרון זה
התכנית שלנו עשויה להיות מרכבה או פגום באופן כלשהו.
אחר, להפסיק במקרה זה לא מצאנו מייק בכלל.
ואכן, אם אי פעם שמת לב תליית המחשב, או כל
של מילה פתאומית או אחרת תכנית פשוט נסגרה באופן פתאומי,
ולפעמים אותך שגיאה המסר הוא, פשוטו כמשמעו, כי.
תוכנית זו להיסגר באופן בלתי צפוי.
זה יכול להיות עבור כל מספר סיבות.
אבל לפעמים זה משהו פשוט כמו זה.
המתכנת האנושי שכתב תוכנה
לא תפסתי את זה, אה, יש ושוב דבר שיכול לקרות בפועל.
ואם אתה לא לכתוב קוד ללכוד כי התרחיש הרביעי,
זה אכן לא צפוי לפעמים מה ייתכן שהמחשב באמת עושה.
עכשיו בואו נקראים החוצה כמה הדברים האלה.
אז בצהוב כאן, אני יש במונחים מודגשים
שמכאן ואילך אנחנו רק הולך לקרוא לפונקציות.
פונקציות בעולם תכנות הוא בדיוק כמו פעולות,
דוחות של פעולות.
אז להרים, פתוח, להסתכל בבית, לקרוא, פתוח, פתוח, להתפטר.
זה פונקציה, פרוצדורה, פעולה, כל מספר של מילים נרדפות
יעבוד גם כן.
עכשיו מה הם הדברים האלה עכשיו בצהוב?
אם אחר, אם אחר, אם אחר, אלה הם מה
אנחנו הולכים לקרוא תנאים בתכנות,
או סניפים, החלטה מצביע, אם תרצה.
אבל איך אתה יודע איזה מזלג על הכביש לקחת, אם אפשר לומר כך?
עלינו להדגיש התנאים ימינה
שם, שהן אלה שאלות כן ולא.
שאלות נכונות לא נכון אלה.
סמית בקרב שמות?
סמית בתחילת הספר?
סמית מאוחר יותר בספר?
אלו הן שאלות כדי אשר קיים כן, או לא,
או באופן שקול נכון, או לא נכון, או באופן שקול, תשובה אחת או אפס.
>> ובינתיים יש רק חתיכה אחת שעברה.
זה כאן יש איזה סוג של השפעה?
או אם אתה לא לתכנת לפני, איך היית
לתאר מה הצעד שבע ו -10 עושים?
מה אמרת?
סטודנט: צעד רקורסיבית.
DAVID מלאן: צעד רקורסיבית.
כן, בעצם.
מבחינה טכנית איטרטיבי כאן אם אתה מכיר.
אבל נחזור לזה.
אבל זה עושה משהו ברור.
שוב, זה גרימה מחזור, לולאה, נכון.
אתה ממש הולך לגבות לכמה בשלב מוקדם יותר.
וכך אכן, זה הולך ליישם איזשהו מחזור.
אבל אתה לא הולך לקבל תקוע בלי סוף זה, נכון.
כי אם אתה בודק כל הזמן הוא מייק כאן, או שמאלה, או לא כאן,
בסופו של דבר הוא לא מתכוון להיות שם.
ואתה פשוט יכול להפסיק לגמרי לפי כי השורה האחרונה.
>> אז זהו זה עבור אוצר המילים.
וזה מה שהיינו בדרך כלל קוראים קוד פסאודו קוד.
זו לא שאלה של שפה.
זה פשוט מאוד מצומצם אנגלית, אבל זה מתקשר לנקודה.
אין מבנה פורמלי כאן.
אתה פשוט להשתמש בו זה כמה מילים, אבל כמו דברים ברורים
ככל שתוכל לתקשר הרעיון שלך.
>> עכשיו איך טובות הוא אלגוריתם וכמה טוב זה?
ובכן, אנחנו לא צריכים להיכנס פרטים של מספרים או משהו
כמו זה.
אבל אנחנו יכולים להסתכל צורת הפתרון הזה.
אז אם אנחנו פשוט למשוך כמה עלילת XY כאן על הציר האופקי כאן.
בואו נגמור עם את גודל הבעיה.
ומדען המחשב היה משתמשים בדרך כלל n כמשתנה כאן.
אז n דפים, או n אנשים בחדר, או מה שזה לא יהיה שאתה מנסה לספור.
>> ואז על הציר האנכי על עזוב, זה יהיה הזמן לפתור.
אז כמה שניות עושה את זה לקחת לי למצוא מייק סמית?
או כמה צעדים נדרשים?
כמה הופך דף זה לוקח?
אז זה וכמה זה עולה לי בזמן כדי לפתור בעיה.
ואנחנו יכולים לצייר את הראשון מדרון אלגוריתמים, אם תרצו,
כמו רק קו ישר זה באדום.
ואני אקרא לזה n.
>> למה n?
למה זה רק זה אחד למערכת יחסים אחד?
ובכן, אם Verizon או מה חברת הטלפון
מוסיף עוד דף אחד כדי בספר טלפונים בשנה הבאה,
שעשוי לדחוף מייק אחד קרוב יותר צעד עד הסוף,
תלוי איפה בדף זה.
וכך האפקט עשוי רק להיות להוסיף עוד שנייה אחת.
או להפוך עוד דף אחד.
אחד יחס אחד.
>> לעומת זאת, האלגוריתם השני.
כמה מהר היה כי באופן אינטואיטיבי?
איפה הלכתי שני עמודים בכל פעם?
כֵּן.
>> סטודנט: [לא ברור]
>> DAVID מלאן: כן.
אז זה הולך להיות פי שניים יותר מהר.
והיינו לצייר שכאן תלוי בקנה המידה.
זה עדיין הוא קו ישר, אך נמוך יותר מאשר הקו האדום.
כי בשביל מספר כמה עמודים, אם זה לוקח
אתה צעדים רבים זה עם האלגוריתם הראשון,
זה הולך לקחת לך חצי כמו הרבה שלבים עם השני.
וכך הקו הצהוב המתאר את האלגוריתם השני
רק הולך להיות מתחתיו.
>> אבל מה באמת חזק הוא לחשוב על השלישי והאחרון,
ומדהים ביותר אינטואיטיבי אלגוריתם, כי יש את הצורה הזו.
מבחינה טכנית שהיינו מכנים זו עקומה לוגריתמים.
התחבר בסיס 2 של n במקרה הזה.
אבל זה לא ממש משנה.
מה שחשוב באמת הוא ביסודו צורה שונה כי יש לו.
ואתה יכול לשקול עד כמה הרבה יותר קצר הקו הזה באמת
הוא בטווח הארוך.
זה הולך וגדל.
זה לא ומיישר בצורה מושלמת.
אבל הוא גדל אי פעם כל כך הרבה יותר לאט כבעיה נעשתה גדולה יותר ויותר.
ואתה יכול לחשוב על זה אגב-- אם Verizon לא רק
להוסיף עמוד אחד בשנה הבאה אבל זוגות מספר עמודים בספר טלפונים,
אולי האלגוריתם הראשון לקחת פעמיים כמו הרבה צעדים.
אם זה 1,000 עמודים זה שנה, 2,000 עמודים בשנה הבאה,
מייק עלול להיות הרבה יותר רחוק.
אז זה 1,000 צעדים נוספים כדי למצוא אותו.
האלגוריתם השני יכול להיות רק עוד 500
צעדים כדי למצוא אותו כי שוב, אני טס דרכו שתיים בכל פעם.
>> אבל מה לגבי האלגוריתם השלישי?
אם Verizon מכפיל את גודל של ספר טלפונים
בשנה הבאה מ -1,000 עד 2000 דפים, כמה עוד צעדים
הולך האלגוריתם השלישי שלי לקחת?
כן, זה רק אחד.
וזה רעיון חזק.
אתה יכול לקחת 1,000 דף ביס מתוך בעיה כי בבת אחת.
ועכשיו אם אתה מחשיב תרחיש טיפשי,
אבל זה סוג של מדבר אל כוח מסוג זה של intuition--
אם ספר טלפונים היה, כמו, ארבעה מיליארדים דפים, מרגישים כמו בעיה גדולה באמת.
ואכן, בגלל שזה עלול לקחת לי ארבעה מיליארד דף
פונה למצוא מייק סמית כי מקרה עם האלגוריתם הראשון.
אבל כמה צעדים היה זה לקחת באלגוריתם השלישי
למצוא מייק בין ארבע מיליארדים פיסות נייר?
אז ארבעה מיליארד לך לקרוע לשניים.
אתה מקבל שני מיליארד דולר.
ואז ממיליארד, אז 500 מיליון דולר, 250 מיליון, 125 million-- אבל זה
מרגיש כמו זה הולך לקחת זמן מה.
אולי אני צריך 32 אצבעות לספור עד גבוה.
אבל זה אכן כמו מעטים ככל 32 דמעות הדף.
אתה יכול ללכת מארבעה מיליארדים לחלוקת עמוד אחד
המספר המקורי של דפים לשניים 32 פעמים
עד אתה נשאר עם רק כי עמוד אחד.
>> עכשיו, כמובן, אני מרמה כאן.
זה לא שאנחנו פשוט להיות מעין טיפשי לחלוטין עם שני הראשונים
אלגוריתמים.
אני בוגד במובן מסוים, או באמת אני מינוף הנחה.
מה שהיה נכון לגבי בספר הטלפונים בצורתו המקורית שאפשר
לי אפילו להשתמש כי אלגוריתם שלישי?
כֵּן?
קהל: זה היה בסדר אלפביתי.
DAVID מלאן: זה היה בסדר אלפביתי, נכון?
אם זה היה רק ​​אקראי כדי, זה בזבוז
זמן, השיחה הזאת.
אני חייב להסתכל על כל דף אם זה בסדר אקראי
למצוא מייק סמית לפני שאני ניתן להסיק שהוא שם או לא.
וכך אנו בפינה קצץ הוא שיש לי
להניח כי מישהו אחר במקרה זה עשה את העבודה בשבילי.
וכך בסופו של דבר מזמין השאלה, טוב, חכה רגע.
איך אפשר למיין 1,000 דפי שמות ומספרים?
זה בעצם שונה בעיה, משהו
נצטרך לחזור בעתיד.
אבל כשחושבים על אתרים כמו Facebook ו- Google עבור Gmail
ודברים כמו של גוגל מדדי החיפוש עצמו,
כאשר יש לך מיליונים או מיליארדים של פיסות מידע תאוחסנה בימים אלה,
searching-- ולא לדבר מיון אלה problems--
בסופו של דבר היא אתגר בפני עצמו.
ואכן, כל זה הוא רק אחד האתגרים האלה
כי אנחנו נהיה מסתכלים.
>> אז עכשיו בואו ניקח רגע ו תסתכל CS50
עצמו ולתת לך תחושה של מה שמחכה בסמסטר הזה.
ואכן, אם טרם עשית זאת, אל תסתכלו על אתר זו.
וכמו פטריק רמז כדי, השנה אנחנו
ביצוע השקעה משמעותית כל יותר בתמיכה של הקורס
מבנה במונחים של עוזרי ההוראה ואת האישורים, שעות עבודה,
זמין חלקים, ו חומרים דיגיטליים באינטרנט, כמו גם.
ואכן, במונחים של הקורס של הרצאה, אנחנו כאן היום.
ואת הציפיות זה שנה באופן רשמי של הקורס
הם לטפל היום, קורס ההרצאה האחרונה, וקורס
בערך באמצע הסמסטר עם כל הרצאה בין
מצוי ביום שישי אחר הצהריים
באינטרנט, הן לסטודנטים ייל וסטודנטים הרווארד השנה.
ואכן, אחד שינויים יסודיים הם
שאנחנו אימוץ בבית הרווארד פרדיגמה מאוד
כמו שעשינו כאן אחרון שנה ועכשיו השנה,
כך באופן דומה, אנו עדיין לצלם ביותר ההרצאות בקורס בקיימברידג
אבל להפוך אותם לזמינים מוקדם ממה שיש לנו בעבר
כך שמי של שאתם-- אם אתה רוצה, למשל,
להשיג יתרון על חומרים על סוף השבוע הראשון למדי
מ בסוף השבוע השני, תצטרך גישה לסוגים כאלה של חומרים,
לחיפוש, להטבעה, hyperlinkable למשאבים הקשורים לכל המוקדם.
מבחינת הנושאים, כדי לתת לך תחושה של trajectory-- של הקורס
וכמה זה יכול להיות בז'רגון עבור עכשיו, אך לא לזמן רב, היה סמוך ובטוח.
נתחיל היום, בסופו של דבר, עם הסתכלות תכנות אחת
שפה בשם Scratch.
נעביר ואילך בשבוע הבא משהו שנקרא C
ואז מסתכל בנייה אחרת בלוקים לפתרון בעיות,
דברים בשם מערכים ואלגוריתמים, האופן בו אנו משתמשים בזיכרון לטובתנו
וחסרון, ו דברים כמו מבני נתונים,
ואז לקראת סוף הזנב של בכיתה מסתכלת למידת מכונה
ומביט אחר שפה נקראת Python,
כיצד האינטרנט עובד, איך האינטרנט יותר בדרך כלל עובד, פרוטוקולים כמו HTTP,
בשפות עבור מסדי נתונים כמו SQL, JavaScript עבור האינטרנט,
ובסופו של דבר קשירה כל אלה יחד.
>> וכך אכן, בבית בסופו של יום, אתה
לא אלמד Scratch המעמד הזה או C או Python או SQL או JavaScript.
תוכל במקום באופן כללי יותר ללמוד מדעי המחשב ואת היסודות
ממנו, ואתה תהיה ללמוד איך לתכנת
בכל מספר אלה בשפות לאורך הדרך.
אז אכן, אחת מהמטרות הקורס בסופו של דבר
היא לקחת את כל הקורס של גלגלי עזר על ידי אלה בשבועות האחרונים
כך שלאחר מכן ניתן יכול לחזור fields-- משלך
אם זה או הוא לא מדע מחשב
או הנדסה, בתוך טבעי מדעים, אמנויות, מדעי הרוח, או beyond--
ולהביא כמה זה הרעיונות של הקורס בתחום זה של
רעיונות מעשיים מיומנויות לדומיין משלך
על מנת לפתור בעיות בהם.
>> מה עלינו לעשות כאן בינתיים ברוב החמישי לאחר היום
הוא עם הראשים של הקורס המוביל מה אנחנו נתקשר ערוצים
של ערכות הבעיה של הקורס.
אז בכל שבוע כשאנחנו הגדרת בעיה, אנו נתאים
להיות הליכה דרך במיקום ככה האתגרים של הקורס,
מציע לך כמה טיפים טריקים וטכניקות עיצוב.
אבל אם אתה לא מסוגל לבצע את אותם פנים אל פנים,
מבין אלה זהים משאבים יהיו מוטבעים
על ידי אחד הקורס עוזרי הוראה
בבעיה קובע עצמם, כמו גם.
>> הבעיה קובע השנה, בניגוד בשנה שעברה, בהתבסס על משוב,
עדיין ישוחרר ביום שישי.
אבל במקום להיות בשל יום שישי שלאחר מכן,
ובכך נותן לך רק שבעה ימים, ביעילות יהיה בשל כעבור 10 ימים.
ואכן, זה לא אומר הם חופפים על ידי סוף שבוע.
אבל אנחנו מקווים השנה במיוחד זה יהיה
לאפשר לתלמידים לקליטה טובה יותר גאות ושפל בלוח הזמנים שלהם,
בין אם זה אנשי אקדמיה או לחוגים או אתלטיקה
או עונת אמצע הקדנציה.
אתה יכול גם מול עומס או-מטען בשבוע שלך התמקדות CS50 מבוסס
על עומס הקורס בפועל של שבוע משלך.
>> הבעיה קובע עצמם יכסה מגוון של שפות,
אם נתמקד בעיקר בשלב מוקדם על C
לפני נתמקד לאחר מכן על גבוה רמה, בשפות אינטרנט ממוקד יותר.
ואז כמה כאן-- שאלות נפוצות אתה צריך לקחת שיעור כמו CS50
כמו-שנה ראשונה?
אז בהחלט.
ואכן, זה לא בהכרח משהו
אתה צריך לדחות עד שחתכת השיניים על סוגים אחרים של כיתות.
אלא, לשקול כי עבור תלמידים רבים,
ואני ביניהם חזרה היום, מדובר בתחום מאוד מוכר,
במיוחד אם אתה אף פעם לא לקחת CSA AP
או משהו כזה בתיכון.
אבל להבין כי בשלב מוקדם, אם זה זה כמובן
או איזה קורס מבוא אחר, כרגע הוא אכן הזמן הטוב ביותר,
אני חושב, כדי למצוא איזו דרך חדשה או קצת עניין לימודים חדש, גם כן.
ואז לוקח courses-- האחר אז אחד ההבדלים העיקריים כאן
לעומת הרווארד היא שאנחנו רק לקחת ארבעה קורסים בסמסטר
בהרווארד מסיבה כלשהי.
ואתכם למעשה למשוך מעל 36 קורסים מסוימים בסך הכל
במשך ארבע השנים שלך, כלומר בדרך כלל ארבע או חמש
כיתות.
ואני חושב שזה די הוגן לומר וכדי מתנער CS50, על ידי עיצוב, הוא
כנראה לא פי סוג הכיתה כי אתה צריך בדרך כלל
לקחת עם ארבעה אחרים קורסים עבור סכום כולל של חמש
בגלל psets הן על ידי לעצב למדי אינטנסיבי.
אכן, גם אני למדתי חזרה זו של היום.
לא הייתי מגדיר את CS50 ו מדעי המחשב, תכנות
כמו כל כך הרבה קשה כמו שזה הוא רק זמן רב.
זה לא מסוג הדברים שם אחרי ארוחת ערב, אתה
יכול לחזור לחדר שלך חדר, לשבת, ולהתחיל
התמקדות pset לחשוב, בסדר,
אני הולך מפץ זה החוצה ערב, ואחר כך מהלך
על הנושא הבא שלי למחרת.
לפעמים אתה פשוט פגעת בקיר.
יש לך באגים בקוד.
אתה לא בהכרח יודע איך לפתור בעיה כלשהי.
ואחד מן התכונות העיקריות של תכנות לעצמי עד עצם היום הזה
הוא שאתה צריך פשוט סוג של לקחת צעד אחורה לפעמים, לישון על זה
או לחשוב על זה במשך של לריצה או פעילות אחרת,
ואז לחזור אליה רענן.
ואתה רק צריך חלונות זמן אלה.
>> ואכן, זה למה יש לנו והאריך את משך הזמן
זמין עבור מערכות הבעיה בשנה וגם זה, לכל כתובת אתר
תליתי מוקדם באשר מה חדש בסמסטר הזה,
גזוז הבעיה קובעת כך הם ביסודו לא פחות קפדניים,
ואת takeaways לא פחות, אבל יש הרבה עניין פחות קדמי,
הרבה פחות התרוצצות שאתה צריך לעשות בחזית של כל קבוצת בעיה,
כפי שתראה, לפני שאתה יכול למעשה לצלול לתוך הבשר של זה.
אז להבין כי אלו ואחרות שינויים נראים באופק
טוב לענות על צורכי הסטודנטים, אבל בסופו של דבר לוודא
כי המזנונים הם אכן גבוה ככל האפשר.
אז בעוד יותר עבודה ממה שהוא יכול להיות בכיתה טיפוסית,
אנו מקווים כי התשואות עבור אתה ואת המזנונים בשבילך
ואת המיומנויות ורעיונות שבה אתה יוצא
הם כל יותר משכנעים כתוצאה מכך.
וכדי להביא לך ביניהם-- וזה הוא אחד המסקנות העיקריות,
כמו פטריק רמז earlier-- הוא מבנה התמיכה של הקורס.
אז לא רק שיש CS50 אחד הצוותים כמובן הגדול ביותר בקמפוס.
כמו כן, יש אחד הראשון ביותר.
ואכן, CS50 בשנה שעברה היה המחזור הראשון
צריך צוות הוראה לתואר ראשון.
וגם עדות להצלחה כי לעשות עכשיו קורסים רבים אחרים בתוך ייל CS
יש כי, כמו גם.
ובשביל הסטודנטים, במיוחד, יהיה טאם כמובן עוזרים אלה
להיות תומך כולה רשת של משאבי תמיכה,
ביניהם קטעים או תרגול, הזדמנויות שבועיות
יש לדיונים אינטימיים יותר וסקירות של חומר ממוקד
עבור מסלולים שונים, לסטודנטים פחות נוח, יותר נוח,
או איפשהו באמצע.
אלה יעברו את הזמינות של ההרצאות של מספר ימים בכל שבוע
בימי שני ושלישי.
ואז במשרד hours-- אחד-על-אחד הזדמנויות
עבור עזרת את רשויות קורס עוזרי ההוראה יהיה בימי רביעי וחמישי
וראשון בשעה מרובה פעמים, שכולן
יפורסם באתר האינטרנט של הקורס, אפילו יותר מאשר בשנה שעברה, גם כן.
>> אבל מה המפתח CS50, אם לא להודות קצת יוצא דופן,
הוא התרבות של הקורס כי ניסינו לטפח,
הן בקיימברידג במשך שנים רבות ועכשיו ולאחרונה בניו הייבן.
ואכן, מתקרבת זה שבת, אם לא שמעת,
יום הוא פאזל CS50, אשר יש מה לעשות עם מדעי המחשב
אבל נועד אך ורק כדי לשלוח הודעה שמדעי המחשב הוא
על פתרון בעיות.
ואכן, אם אתה רוצה לשתף פעולה עם אחד או שניים או שלושה חברים
ו להקים צוות עבור CS50 פאזל יום, תסתכל
על פרסומות שאינן בדרך החוצה.
ושלוש שעות של פיצה חידות ופרסים מחכים.
ואכן, עבור לראשונה השנה,
זה לא יתקיים במשותף עם הרווארד.
זה יהיה כאן באופן עצמאי באוניברסיטת ייל.
אז לפקוח עין על אלה אם עדיין לא.
רוב בכל יום שישי בסמסטר אנחנו מנסים להפוך מחלקה גדולה
להרגיש קטנים להביא כ -50 סטודנטים לארוחת צהריים עם הצוות של הקורס,
עם בוגרים, חברים מהתעשייה לדבר
חיים על מה הם כמו אחרי בכיתה כמו CS50 ובמהלך הקיץ
ואחרי סיום הלימודים.
אז לפקוח עין על הזמנות לזה.
בפעם הראשונה אי פעם השנה תהיה לנו
להחזיק את קידוד CS50 הראשון אי פעם תחרות, הזדמנות opt-in אופציונלי
אמצע סמסטר, לאחר לכולנו היה שישה או שבעה שבועות אחדים של תכנות
ב- C תחת החגורה כדי להתחרות, אם היית כל כך choose-- שוב
על teams-- מנסה לפתור אתגרים כמו רבים
ככל שתוכל בתכנות עם חברים שלך נגד אחרים.
>> ולקראת הזנב של הסמסטר יהיה לנו שכר אוטובוסים מסוימים,
למעשה להקדיש זמן בקיימברידג ', אם היית
רוצה להצטרף אלינו, עבור מה שנקרא האקטון CS50.
בשעה 7 נתחיל.
בסביבות 9 בערב, נצטרך פיצה.
בסביבות השעה 1:00 לפנות בוקר, נצטרך בוריטוס.
וכל מי עדיין ער על נסיעה באוטובוס הביתה בסביבות 5:00 לפנות בוקר,
נעצור את לפנקייק ב IHOP בדרך home--
הזדמנות 12 שעות ביממה כדי לטבול עצמך עם חבריו לכיתה וצוות
בפרויקט הגמר של הקורס, דבר המהווה הזדמנות
ללכת הרבה מעבר סטי הבעיה של הקורס
ועיצוב וליישם ביותר דבר לעניין אותך,
כי בסופו של דבר יהיה בהשתתפות כאן Commons.
היריד הראשון אי פעם CS50 היה אחרון השנה, תערוכה של סוף הסמסטר
או חגיגה של מה שכולם בכיתה השיג,
במיוחד אלה, שוב, שהלכו מן דבר למשהו, מאפס עד 60,
אין צורך ברקע קודם והצגתן, בסופו של דבר,
משהו עבור הקמפוס כולו, אם באינטרנט, שכל העולם יוכל לראות, כמו גם.
>> עכשיו, כאן הם רק כמה מן טאם CAs שגורם CS50 אפשרי.
הרשו לי להזמין את כל מאותם אנשי צוות
שנמצאים כאן כדי לבוא על הבמה, כמו גם הראשי של הקורס,
כדי להציע כמה מילים של השראה, כמו גם.
>> ANDI: היי, חבר'ה.
אתם יכולים לשמוע אותי?
תודה שהצטרף אלינו על זה יפה, יום חמישי אחר הצהריים גשום.
שמי אנדי.
ואני תלמידת כיתה י"א בברקלי.
ויחד עם סטליוס וקיץ, נהיה הוראה שלושה הראש
סייעות בשנה הקרובה.
אז, אני מניח, הפגנה hands-- כמה מכם
אין לי שום כוונה להיות CS גדול ולא ממש צלילה לעומק
לתוך מדעי המחשב כמקצוע ראשי כאן?
מדהים.
זה מבריק.
>> אז אני בעצם יחסים בינלאומיים וחשוב מדעי הקוגניציה.
אני ממש הגעתי ייל מתוך כוונה
ממנו שמעולם לא להסתכל על מספר הולך שוב בחיים שלי.
כשבאתי ייל, זה היה משהו שמעולם לא היה על הרדאר שלי.
רציתי ללמוד על שירה.
רציתי ללמוד על עניינים בינלאומיים.
רציתי ללמוד על ציורים בצבעי מים.
כן, אנחנו מציעים בכיתה על ציורים בצבעי מים.
>> אבל אני אף פעם לא באמת היה מעוניין בכל דבר STEM קשור.
אבל אז אני מבוגר יש, יותר הבנתי
כי בכל תחום ממש בחלק במובן מעסיקה מדעי המחשב,
או אם לא מדע מחשב, חישוב.
למעשה, עבור שלי עולמי ענייני פרויקט אבן הראשה,
אנו משתמשים Analytics נתונים לנתח פיגועים
עבור חראם בוקו בניגריה.
וכך כפי שאתה יכול לראות, ללא קשר מה רס"ן בסופו של דבר אתה רודף
או מה תחומי העניין שלך כאן בייל הם, תכנות והיסודות
מיומנויות של מה הן סופר שימושיות.
ו CS50 באמת הוא מצויד היטב כדי סוג של להשאיל הרבה משאביה
לך, ללא קשר כמה נוח אתה
או במידת העניין שלך רודף בכיתה.
>> הקיץ של הולכים לדבר קצת קצת על מה שאתם
הולך ללמוד על השנה.
SUMMER: שלום לכולם.
אני קיץ וו.
אני זוטר מורס.
ואני באמת התחלתי כסטודנט CS50 עצמי.
אז לפני שלוש שנים, הייתי על שנת חופש.
אני אף פעם לא בלעתי CS כיתה בתיכון,
אבל חשבתי כי בזמני הפנוי, זה יהיה מגניב ללמוד כיצד לקודד.
אז עשיתי חיפוש מהיר של Google, חפשתי מה היה זמין באינטרנט,
וראה זה וידאו עם החבובות ותקליטנים ואתרי אינטרנט מגניב.
הייתי כמו, אני רוצה ללמוד איך לעשות את זה.
>> אז לקחתי את הקורס, ואני פשוט התאהבתי בו.
אבל אני זוכר שהייתי כל כך מקנא ילדים שיכלו להשתתף האקטון,
להשתתף פאזל יום, להשתתף משרד שעות, לקבל עזרה עוזרי הוראה פנים אל פנים.
וכך אף פעם לא דמיינתי כי הייתי מקבל את ההזדמנות
להיות מעורב כאן במהלך זה יש ראשון
לי מתעניין המחשב מדע הוא הסיבה
אני במדע מחשב מרכזי כיום.
אז אני מזהיר אותך, המעמד הזה הולך למתוח אתכם.
זה הולך לאתגר אותך.
אבל זה גם הולך ללמד אותך איך לעשות דברים
כי אתה אף פעם לא דמיינתי שאתה יכול.
>> סטליוס: שלום לכולם.
שמי סטליוס.
אני זוטר ברנפורד מכללת רב סרן CS.
אני גם מאתונה, יוון.
אני באמת מצפה לעמידה כולכם,
לפטפט איתך בכל סעיף, ב שעות העבודה, בארוחות שישי.
אני ממש מתרגש כי שמנו כל כך הרבה מאמץ
לתוך יצירת תמיכה ייחודית מבנה לכולכם
כדי להפוך את החוויה שלך עם הקורס הטוב ביותר האפשרי.
ואני מקווה כי למרות שרוב אתה כנראה לא לקחת CS
לפני הקורס, אני מקווה שזה CS50 בשבילך זה מה מצית בי עניין
עוד לרדוף מחשב המדע בעתיד,
כפי שעשה עם כל כך אנשים רבים בעבר.
אז תודה לך על היותך כאן, נרגש לראות אותך.
ג'ייסון הירשהורן.
ג'ייסון הירשהורן: היי, כולם.
שמי ג'ייסון הירשהורן.
אני גר סילימן.
והלכתי להרווארד בתור סטודנט שנה ו למד לימודים חברתיים
ו minored במדעי המחשב.
ואחד התפקידים העיקריים שלי כאן היא לתמוך הצוות הנפלא הזה
כפי שהם תומכים כולכם.
למעשה, זה לא כולם.
ישנם 55 סטודנטים ו בוגרים כאן כדי לפרנס את כולכם.
ואני מרשה לעצמי לומר אחד הטובים חלקים של הקורס בשבילך
הכל להגיע לעבודה עם אותם, להכיר אותם,
מקבל לראות אותם, הן CS50 ומחוצה CS50 זה סמסטר
ועבור סמסטרים רבים.
אז אני מקווה שאתה תיקח את כמובן כי אני מקווה שאתה
להגיע אינטראקציה עם צוות נפלא יש לנו על הבמה.
>> דובר: ובכן, תן לי לסיים באומרו שזה יהיה כיף.
DAVID מלאן: ובכן, בזכות כל הצוות שלנו.
הרשה לי לעמעם את האורות לאפשר עוד קצת על הקבוצה שלנו,
הן מקיימברידג וניו הייבן, להגיד שלום כמו החבר'ה האלה להגיש את.
ואחרי זה יהיה לנו לעבור הראשון של התקשרויות התכנות שלנו
עם שפה זה נקרא Scratch.
אז תודה לצוות.
בואו לעמעם את האורות לשמוע כמה אחרים.
>> [תְשׁוּאוֹת]
>> [הפעלת סרטון]
>> -The המשימה של CS50 היא לגרום לך יותר נוח עם דרך חדשה לחלוטין
החשיבה, חשיבה חישובית זה.
-זה עשוי מדעי המחשב מעניין, אשר
הוא משהו שאני לא ממש מבין היה אפשרי עד לקחתי את המעמד.
-אני היה כמו, וואו.
אני באמת תרגום המחשבות שלי לתוך מחשב עכשיו.
>> "אפילו אם אין לך שום רקע במדעי המחשב או כל ניסיון,
זה הוא למעשה בכיתה בשבילך.
>> -אז אני בהחלט רוצה התלמידים שלי פשוט
להתרגש מדעי המחשב.
לא רק תכנות, אבל לחשוב כמו מדען מחשב
באמת מה שאני רוצה מנסה ללמד הראשונה שלי.
>> -CS50 קשה ומתגמלת.
>> -חוויה.
>> -Extravaganza.
>> -זה מביא אותנו לשלב הבא.
>> [מוסיקה מתנגנת]
>> TFS -The הם, כך נדמה לי, נשמת אפה של הקורס.
>> -אני נרגש לקבל התלמידים שלי אני עוזר
יש כי אהה רגע להבין מה שהם באמת מנסים
לעשות, כדי להבין איך לעשות pset.
>> -CS50 בהחלט קורס קשה.
אבל שלא כמו כל האחרים כמובן באמת בייל,
יש לו כזה גדול, קהילה תומכת.
-אתה ממש לא צריך לדעת משהו
על קידוד כדי להיות מסוגל לקחת את הקורס.
-זה מדהים לראות כמה רחוק אנשים באים סמסטר אחד.
>> -אתה לא היו לבד יושבת חדר הלימוד לקוד שלך,
אבל זה היה יותר מסתם בכיתה.
זו הייתה חוויה.
-The הדרך הטובה ביותר ללמוד מושגים לעבד אותם היא על ידי לימוד אחרים.
>> -מהו פיצול הטלפון?
>> [מוסיקה מתנגנת]
>> -ואז זה CS50.
>> [מוסיקה מתנגנת]
>> -זהו CS50.
>> -יש בעיה?
קורע אותה לשתיים.
>> [מוסיקה מתנגנת]
>> לזרוק אותו.
>> DAVID מלאן: בסדר.
אז בואו tackle-- ב קצת קצת, אגב, זה
כבר מסורת זו עבור משום מה במשך 10 שנים
לשרת עוגה בבית להתחיל סוף CS50.
אז מחכה לך בסוף היום, בנוסף הסילבוסים,
יהיה כמה עוגה, וגם של הצוות כמובן להגיד שלום.
אבל עכשיו, המעבר באים אל הראשון של השפות שלנו, שבו
נבלה באמת רק בשבוע אחד בעיה להגדיר על תחום זה, Scratch.
ואתה תמצא אם יש לך לתכנת לפני, רב
הרעיונות ואת האפשרויות הם מוכרים לך.
אבל אתה תמצא כי זה כיף לאורך הדרך
בדיוק כדי להבין איך לתרגם כמה מהרעיונות אתה כבר יודע
לסביבה המסוימת הזה כדי באמת להרשים את המשפחה שלך
וחברים עם העבודה שלך, אשר יכול גולשים באינטרנט, אם תבחר לעשות כן, לאחר מכן.
>> ואם אין לך ניסיון קודם והם
בקרב רוב תלמידים פחות נוחים,
להבין כי רבים מהרעיונות שאנו פשוט בדקתי עם דברי reality--
כמו ספרי טלפונים ונוכחות וכך forth-- לתרגם
די יפה למחשב, אבל לא אם אתה משתמש,
בתחילה, שפה כזאת.
אז זהו תכנית הכתובה בשפה שנקראה ג
ונבלה לא מעט הזמן ב- C, בסופו של דבר.
אבל רוב הסיכויים הם, זה ייראה קצת נסתר לך במבט ראשון.
למעשה, יש הרבה מוזר תחביר, בסוגריים, בסוגריים זוויתיים,
סוגריים מסולסלים, ציטוטים, ועל נקודה-פסיק.
ואכן, אם אתה צולל לתוך תכנות בפעם הראשונה
מסתכל ומנסה ליצור דברים ככה, באמת, אתה מקבל כל כך שקוע
כל כך הרבה פעמים רק טיפש פרטים קטנים, כי אין שום
אינטלקטואלית מעניינת על זה.
>> אבל תארו לעצמכם אם אתה יכול ליצור זה אותו program-- אשר,
כפי שהיה אפשר להסיק מין, כנראה הדפסים "שלום, עולם" בדרך זו או אחרת.
אנחנו יכולים לזקק אותו רעיון לתוך רק שתי פיסות הפאזל, אם תרצה.
ואכן, Scratch מעניין כי זה בשפה גרפית זו.
אתה יכול לגרור ולשחרר אלה חתיכות הפאזל שרק משתלב
אם זה הגיוני הגיוני לעשות זאת.
וכך Scratch, אנו בקרוב לראות, זה
איך היית ליישם אותה תכנית, עם רק שתי חתיכות פאזל
די הרבה לעשות מה שהם אומרים.
>> אבל אנחנו נראה בעוד רגע שחלק של אבני הבניין שאנחנו רמז
מוקדם יותר ועוד כמה הם כל מה בסופו של דבר הולכים מהווה
חלק מהתוכניות המוקדמות שלנו.
אנחנו הולכים להיות דברים כמו functions-- רק
פעולות לעשות משהו, כמו להגיד שלום, העולם.
אנחנו הולכים יש לולאות, דברים המשרים מחזורים
שוב ושוב, בדיוק כמו שאנחנו לפני נראה רגע עם חיפוש
עבור מייק סמית.
משתנה, כמו באלגברה, אם אתה יש x או y, כי ניתן לאחסן מספר.
ובכן, תוכנית, אתה יכול למעשה לאחסן יותר מסתם מספרים.
ניתן לאחסן מילים ומשפטים גרפיקה ודברים אחרים עדיין.
ביטויים בוליאני, רק questions-- כן או לא, נכון או לא נכון.
תנאים, קבלת החלטות מבוסס על אלה כן / לא תשובות.
>> ואז להשתכלל דברים כמו מערך וחוטים ואירועים
וכל מספר אחר תכונות, אבל כל אחת מהן
מפה יפה מאוד מאוד בלוקים ידידותיים כזה.
זה הולך להיות שמח, פיסת הפאזל סגולה כי רק אומרת
מה שמה אז-- במקרה זה, אומרים.
ואז לעתים קרובות, יש קופסה לבנה שאתה
ניתן להקליד או לגרור כמה ערך לתוך.
וזה מה בדרך כלל קרא ויכוח או פרמטר.
זוהי דרך של שינוי התנהגות ברירת המחדל של פאזל
חתיכה או פונקציה כך שהוא עושה מנהג משהו בשבילך כמו להגיד,
שלום, עולם או שלום, אנדי או שלום, ג'ייסון או משפט אחר במקום.
>> אם אתה רוצה לומר כי הרבה-- ממש forever--
אתה יכול לקחת עוד פיסת הפאזל שנקרא לנצח
ופשוט לחץ את שתיים יחד ככה.
וזה לולאה, כמו בתמונה רמז, פירושו רק להגיד שלום, עולם לנצח,
שוב ושוב ושוב.
לחלופין, אם אתה רוצה רק לעשות לו מספר סופי של פעמים, כמו 50 פעמים,
יש הולך להיות עוד חידה יצירת ש-- לחזור 50 פעמים.
>> בינתיים, אם אתה רוצה יש למשתנה
בשפה זו אנחנו על לשחק עם,
אתה יכול להשתמש לחסום כתום כזה.
ומשתנה זה אני באופן שרירותי בשם i עבור מספר שלם.
ואני פשוט להגדיר את זה שווה ל -0.
וכך אולי אני, זו case-- זה variable--
מייצג הציון של מישהו משחק.
אתה מתחיל מאפס, ובכל פעם שאתה להפוך מטרה או משהו כזה,
אתה מקבל נקודה אחת נוספת.
>> אתה יכול לשאול שאלות Scratch.
אם אנו גוררים ושחררנו פאזל חתיכות בעוד רגע כזה,
אתה יכול לשאול שאלות כמו, טוב, זה אני פחות מ 50?
אולי אתה צריך 50 נקודות כדי לנצח.
וכך זה יהיה השאלה שאתה רוצה לשאול.
או, באופן כללי יותר, אתה אפשר לומר הוא x פחות מ y,
שם יש שני משתנים מעורבים?
עכשיו, זה אחד זה הרבה גדול במבט ראשון,
אבל באמת לא כל כך מורכב יותר.
>> זהו רק צירוף תנאים ומשתנים
וביטויים בוליאני לשאול שלושה questions-- הוא x פחות מ y?
אם כן, כך אומרים.
תגיד, x קטן מ y.
אחר, אם x גדול מ- y, x אחר חייב להיות שווה y.
והואיל עם מייק סמית, היו ארבעה תרחישים, כאן
בעולם של מספרים, x הוא או פחות, יותר מאשר, או שווה ל.
כל מה שיש לנו שלושה מזלגות בכביש.
ואז יש להשתכלל חתיכות פאזל כזה
על דברים כמו מערכים, שבו אנחנו הולך להיות מסוגל לאחסן מידע.
אנחנו הולכים לראות בלוקים המאפשרים לנו ליישם רדים,
תכונה נוספת נשתמש, ואת אז גם משהו שנקרא אירועים.
אבל לפני שנגיע לזה נקודה וליצור אפילו,
בסופו של דבר, המנהג שלנו חלקי הפאזל, בוא
למעשה לפתוח את התוכנית עצמה.
>> אז זהו גרד.
זה זמין ב scratch.mit.edu.
ואתה מוזמן לשחק עכשיו או מאוחר יותר, גם כן.
זה קורה להיות הגרסה הלא המקוונת.
עבור אנשים שעושים לא יש בהכרח אינטרנט גדול,
אתה יכול להוריד את אותה תוכנה, כמו גם.
ויש באמת רק שלושה רכיבים לתוכנה זו.
על בפינה השמאלית העליונה של המסך הוא מסוג הבמה
גרד, מי כברירת מחדל נראה כמו חתול, גר בהם.
הוא יכול לנוע למעלה, למטה, שמאלה וימינה ולעשות כל מיני דברים אחרים,
ואני יכול לבדוק כל מספר של דרכים המבוססת על התלבושות שתקצה לו.
אבל זה מה נזמין ספרייט, מעין דמות.
ואתה יכול לקבל מרובים דמויות, כפי שאנו בקרוב לראות.
>> באמצע עכשיו הם כל אלה פאזל חתיכות וקטגוריות אלה או משטחים
מִזֶה.
אז עכשיו, לחצתי על Motion.
וכך אני רואה את כל תנועה הקשורות חתיכות הפאזל או בלוקים,
כך פונקציות שיש לעשות עם עולים,
למטה, שמאלה או ימינה או כמה פעולה אחרת.
אבל אם אני לוחץ על מבטים, אתה יכול לראות דברים כמו הגוש יניח
כי ראינו רק לפני רגע.
ואם אני לוחץ על בקרה, תראה דברים כמו חוזר ואת לנצח
ואת הבלוק אם כי ראינו לפני רגע.
>> וכך אתה תמצא כי אנחנו פשוט נעשינו לגרד
פני השטח של חלק חידת חתיכות ביחד,
אבל זה כל למדי אינטואיטיבי ו צבע ולחץ.
ואכן, Scratch תוכנן עבור תלמידים צעירים
כדי לעזור להם פורקן לחשיבה יצירתית.
ובכל זאת בצורה נפלאה, זה קרש קפיצה נפלא
בדיוק הרעיונות אנחנו הולכים לחקור ב- C ו Python ו- JavaScript,
גם כן.
>> בצד הימני, סוף סוף, כאן הוא האזור הזה, סקריפטים שנקרא.
וזו רק הלוח החלק עם אשר שתתחיל לכתוב תוכנית.
ואני בדיוק את זה.
עכשיו, אני במקרה יודע איפה הדברים כי אני כבר עשיתי את זה כמה פעמים.
אבל אני יודע כי תחת בקטגוריה אירועים,
יש זה בלוק כאן-- כאשר הדגל הירוק נקש.
ושימו לב אם אני Zoom החוצה בחזרה לכאן על הבמה,
חיי מאפס בתוך זה עולם מלבני קטן
גבי שהינה ירוק דגל ושלט כיבוי אדום.
אז ללכת ולעצור, בהתאמה.
>> אז מה אני רוצה לעשות וכשזה הדגל ירוק לוחץ?
ובכן, הרשו לי ללכת כי נראה בקטגוריה.
ותן לי ללכת קדימה וגרור ושחרר זה.
ושימו לב ברגע שהוא מקבל קרוב, הם פחות או מגנטיים.
אז אם אני עכשיו ללחי, היא מצליפה יחד נחמד ו למשעי.
ואני הולך קדימה לומר משהו כמו שלום, עולם
במשך שתי שניות.
תן לי להתרחק ולחץ עכשיו דגל ירוק, ולומר, שלום, עולם.
בסדר.
אז זה הכל טוב ויפה.
לא כל כך מרגש.
בואו נעשה את זה חמוד מעט.
ואני יודע כי מראש, שריטה קורה
לבוא עם דברים חמודים כמה ככה.
אז לנגן צליל מיאו עד שהם מוכנים.
אז בוא נעשה את זה.
>> [מיאו]
>> אה, זה מקסים.
ואם אני לוחץ זה again--
>> [מיאו]
>> ושוב.
>> [מיאו]
>> אבל יש לי כל הזמן להחיות מחדש מאפס.
אבל אני יכול לעשות יותר טוב מזה.
למה אני לא פשוט לגרור בשלוש מהן.
ועכשיו זה פי שלושה מקסים.
>> [מיילל]
>> מניח את הדעת, למעשה, זה קצת מפחיד.
אז אנחנו צריכים משהו באמצע שם.
אם אני הולך בקרה, זה נראה כמו יש למעשה בלוק המתנה.
וכך להבחין אם אני מרחף מעל ביניהם-- ותנו לי לעשות את זה קצת יותר גדול.
אם אני מרחף, זה הולך להשתלב למקומו.
אז לחכות שנייה אחת, לחכות שנייה אחת.
בואו פגענו דגל ירוק שוב.
>> [מיילל]
>> בסדר, קצת יותר טבעי, אבל לא מאוד יעיל.
אז זה נכון אם התוכנית שלי של המטרה היתה מיאו שלוש פעמים.
אבל זה לא מאוד מעוצב היטב.
אני סוג של לחתוך כמה פינות.
יש לי קצת עצלן.
מה מרגיש כמו-- מה אני נראה גרוע עשה, היית אומר?
כֵּן?
כן, באמצע.
קהל: משמש יותר זיכרון ממה שאתה צריך
כי אתה משתמש כל כך הרבה קו שונה.
DAVID מלאן: כן, כך רבים יותר של קווים.
וזה לא יהיה בהכרח זיכרון, למרות שזה יכול להיראות ככה.
אבל זה ספק-- יש יתירות.
ואני ממש סוג של גררו והפיל אותם הדברים.
ואם אתה סוג של extrapolate-- אם זה לא מובן מאליו כאן-- טוב, איך היה
אני מיאו 30 פעמים?
הייתי לגרור ולשחרר, כמו, 30 צמדים נוספים של חלקי פאזל.
ואין ספק, יש דרך טובה יותר.
וראינו דרך טובה יותר.
מה אינטואיטיבי היה להיות דרך טובה יותר?
כן, פשוט להשתמש בלולאה.
אין להעתיק ולהדביק.
ואכן, בכל עת זה סמסטר אם אתה מתחיל
למצוא את עצמך גרירה ושחרור, או באמת העתקה והדבקה,
רגל מסוכנת להיכנס בגלל זה פשוט לא מאוד לתחזוקה.
למשל, אם אני רוצה לשנות הצליל למשהו אחר,
אני צריך לשנות את זה עכשיו בשלוש במקומות רק במקום אחד.
כי אכן, אם אני לשבור away-- זה אני
רק הולך לנתק את זה ככה.
תן לי לתפוס בלוק חוזר, ולאחר מכן לחץ על שלוש, הקלד שלוש,
לזרוק כמה כאלה משם על ידי פשוט להרפות.
ואז שם לב לזה לא נראה כמו שזה מתאים,
אבל מגנטי, זה הולך כדי לא להצמיד במקום רק
אבל לגדול כדי להתאים את הצורה.
אז זה טוב.
ועכשיו אם אני לוחץ לשחק.
>> [מיילל]
נחמד מאוד.
בסדר.
ועכשיו זה קל מאוד לשנות, מדי, כי אני יכול רק
לשנות מספר אחד במקום אחד.
אבל זה גם לא כל כך מעניין.
בואו באמת צריכים גרד לא מיאו, אבל לזוז.
תן לי ללכת Motion ולעבור 10 שלבים בתוך אופס זה--, תן לי לתקן את זה.
תן לי את זה להעביר 10 steps-- בעצם, בואו לא לחזור.
תן לי לתפוס דבוקת שליטה, ובצע את הפעולות הבאות לנצח.
Forever, להעביר 10 צעדים.
והקש לצפייה.
>> בסדר.
אז תודה לאל, הוא עוצר.
אחרת, הילדים היו חוטפים נסער מאוד כשהם מעין לאבד החתול שלהם.
אבל לפחות אני יכול לגרור אותו בחזרה לתוך המסך.
אבל זה לא כל כך נהדר של משחק או אנימציה.
זה יהיה נחמד אם אולי הוא ניתז הקצה.
אז מה אנחנו עושים?
מה מבנה אנחנו צריכים להיות גרד מחליט להקפיץ, לדעתך,
אפילו אם אף פעם לא ראה שריטה לפני?
כן, בגב.
קהל: אתה צריך אם לחסום או אם-אז.
DAVID מלאן: כן, אז כמה סוג של אם לחסום או אם-אז.
אז בעצם, יש לנו אחד כזה כאן.
אז שאם-- אז תן לי לקבל להיפטר של התנועה.
הרשה לי להתקרב אז זה גדול.
אז מה דעתכם על זה.
Forever, אם Sensing-- אנחנו כבר לא ראינו את זה קודם.
אני צריך ביטוי בוליאני.
ומתברר אם נגיעה מה?
אם נוגע בקצה, מה אני רוצה לעשות?
ובכן, אם אני חוזר Motion, מתברר, הו, אני יכול להסתובב.
תן לי לגרור את זה לכאן.
למה אני לא קדימה להסתובב 180 מעלות?
>> ועכשיו, תן לי רק לעבור בסוף.
יכולתי לשים את התנועה בתחילה או בסוף.
אבל הגיוני, כל פעם שאני מזיז, אני רוצה לבדוק, אני נוגע בקצה?
אני נוגע בקצה?
אז זה הגיוני שאני מסתובב ואם כן.
אז בואו פגענו לשחק.
>> בסדר.
אז זה מרכבה מעט, אם אפשר לומר כך.
וזה באג הוא פשוט טעות בתוכנית מחשב.
אבל לפחות זה עובד.
ואכן, אני יכול להיכנס לפה.
ותנו לי לעשות את זה לא 10 צעדים בכל זמן, אבל זה כל האנימציה היא.
זהו כל קריקטורה או אפילו סרט הוא.
תן לי לעבור 20 צעדים בכל פעם.
אז 20 פעמים כמו הרבה דברים קורים פעם, או כפליים, במקרה זה.
והוא נע מהר.
תן לי לשנות ל -30.
100.
1,000.
וזה הולך ממש מהר.
וזה אז-- כן, בסדר.
>> אז עכשיו אנחנו רק להתעסק עם זה.
אוקיי, אז מרכבה.
אבל אנחנו יכולים לגרור אותו מהדרך כאן.
אבל אנחנו יכולים לעשות יותר כיף עם זה, מדי.
מה דעתך על זה- הוא במהופך.
אבל מתברר Scratch-- ויש למעשה,
אני חייב מתנער, לא אקדמי ערך מה שאני עומד לעשות.
אבל אם אני פותח את המיקרופון, בואו לעצור אותו ולעשות משהו כזה.
אאוץ!
>> [לִצְחוֹק]
>> זה היה מקסים.
תודה רבה לך.
עכשיו, זה מה הקול שלי נראה כאשר אני צועק אאוץ '.
אני לא חושב שתפסנו את צחוקך.
זה בסדר.
תן לי לשמור את זה כמו "אאוץ '."
בואו נשמור את זה כמו "אאוץ '".
ועכשיו נחזור אל סקריפטים.
ועכשיו אני need-- בוא נראה, סאונד.
אה, לשחק אאוץ קול.
אז אם אני נוגע בקצה, תן לי אאוץ המחזה הראשון, ולאחר מכן להסתובב.
ועכשיו בואו לשים אותו באמצע.
>> [אמירת "OUCH"]
>> פי שניים יותר מהר.
>> בסדר.
אבל זה ממש עושה מה שאני אומר.
אז זה למעשה נכון, זה רק קצת מעצבן מהר.
אז בואו להוסיף משהו יותר מעניין זה.
תן לי בעצם להיפתח אחד שעשיתי מראש,
בצדק נקרא ללטף את חתול, שעושה את זה.
הנה התסריט כאן.
מה זה הולך לעשות במונחים באנגלית?
מה זה נועד לעשות?
כן, בואו נלך איזה-- כן?
>> קהל: כשאתה ללטף את החתולה, זה מיילל.
DAVID מלאן: כן, אז מתי אתה ללטף את החתולה, זה הולך מיאו.
אז במילים אחרות, יש עכשיו לולאה לנצח עדיין, בשילוב
עם מצב, בשילוב עם ביטוי בוליאני,
בשילוב עם כמה של פונקציות, ההשפעה
מתוכם, פעם אני משחק תוכנית זו, הוא דבר
קורה עד שאני מזיז את הסמן יותר ויותר ויותר ו--
>> [מיאו]
אז זה כמו ליטוף החתול.
[מיאו]
רק ברגע שאתה באמת להזיז את הסמן מעליו.
עכשיו, אני גם עוררתי לא ללטף החתול, אשר עושה את זה במקום.
>> [מיילל]
>> אז הוא פשוט מיילל כל הזמן.
>> [מיילל]
>> אבל אם אני מקבל מדי close--
>> [מיילל]
>> [שְׁאָגָה]
>> אז איך זה עובד?
עכשיו יש לי רק דו כיוונית להצטלבות הדרכים.
אם נוגעים מצביע העכבר, לאחר מכן תפעיל את קול אריה.
אחר פשוט להשמיע את צליל מיאו, ואז לחכות שלוש שניות כדי
כי זה סוג של עושה זה מאוד בשלווה.
בסדר.
אז זה שילוב עוד כמה רעיונות עדיין.
בואו נסתכל בדוגמא זו שרקחתי אשכולות שנקראו.
ואת זה הוא ביסוד שונה בכך ממנף את זה
תכונה של רבים שפת תכנות בשם
אשכולות, היכולת של תכנית פשוטו כמשמעו לעשות שני דברים בו זמנית.
ואכן, בימים אלה אם אתה משתמש Google Docs או Microsoft Word,
והמסמך עובר כל הזמן לבדיקת איות אפילו כפי שאתה type-- או שאתה
פיקוד-P או Control-P פגע ומשהו הדפסה,
זה מדפיס בזמן שאתה ממשיך להקליד.
תוכניות היום אכן יכול לעשות מרובים דברים בבת אחת, בדיוק כמו Scratch
כאן.
>> אז הנה, יש לי שני שדונים עכשיו, ציפור וחתול.
ואם אני לוחץ על כל אחד אלה תו אחד בכל פעם,
אני רואה עכשיו את הציפור של סקריפטים בצד ימין למעלה.
עכשיו אני רואה את החתול.
ציפור של, חתול.
אז כל אחד מהם יש תסריט משלהם.
אבל שים לב, מה פיסת הפאזל אל שניהם מלכתחילה?
כאשר הדגל הירוק נקש.
ואת הציפור, כאשר הדגל הירוק נקש.
לכן, כאשר אני לוחץ על הדגל הירוק, הן של סקריפטים או תוכניות אלה
הולכים לרוץ במקביל.
ותבחין כי עוף זה רק מחשבה וקפץ הקצה.
החתול בבירור כבר מתוכן עם יתרון אסטרטגי.
ו--
>> [שְׁאָגָה]
בסדר.
אז החתול תפס את הציפור במקרה זה.
למה זה?
ובכן, בהודעה הראשונה אנחנו רק צריכים ציפור רק מחשבה הולכת
למיקום ראשוני זה, ולאחר מכן לנצח,
אם לא נוגע חתול, פשוט לזוז.
ואם אתה על הקצה, להקפיץ.
ובדיוק לזוז.
ואם אתה על הקצה, להקפיץ.
אבל החתול, בינתיים, יש איזה היגיון נוסף
שאומר הראשונה זה-, רק כדי כי זה לא לגמרי משוחד
נגד ציפור, לב שאני משתמש פיסת הפאזל ירוקה שם
כי בעצם בוחר מספר אקראי.
תכונה של שפות רבות היא לתת אתה מספרים אקראיים או פסוודו.
אז במקרה הזה, החתול בתחילה בוחר מספר אקראי בין, כמו,
90 מעלות ו -180 מעלות, בעצם, כל כך
שיש קצת שונה מעט.
ואז לנצח, אם נגיעה ציפור, להשמיע את צליל האריה.
אחרת, פשוט להצביע אל הציפור.
כוון אל הציפור.
נקודת אל הציפור, שהינה פיסת הפאזל בפני עצמו במקרה זה.
ובכן, אנחנו יכולים לעשות דבר אחד כאן.
הרשו לי לפתוח את תוכנית האירועים כאן.
וכאן יש לנו שוב שני שדונים, אשר נראה כמו שתי בובות אלה כאן.
ומה מעניין כאן הוא זה.
יש בחור התפוז הזה קבוצה של חתיכות פאזל כאן.
Forever לעשות את following-- אם מקש הרווח לחוץ,
אז אומרים, מרקו, ו ואז לשדר אירוע.
ובינתיים, הבחור הכחול כאן יש זה- כאשר אתה מקבל את האירוע,
אומר פולו.
אז מתברר ב Scratch ובשפות אחרות,
יש דרכים עבור שתי תוכניות או שני תסריטים, במקרה זה,
כדי intercommunicate כך שכשאני מכה על מקש הרווח, הוא אומר מרקו.
והשני שומע את זה, אז אל לדבר, ואומר פולו בתגובה.
אז אתה יכול לכתוב תוכניות למעשה אינטראקציה בדרך זו.
ואם אני עושה את זה במקום, אני אפילו יכול להוסיף משתנים,
רק באמצעות ספרייט אחד במקרה זה.
זה אחד זה במיוחד מעצבן.
>> [נביחה של כלב ים]
>> עכשיו, שימו לב בצד ימין יש לנו איזה היגיון נוסף כאן.
כיצד אוכל להפסיק את החותם הזה לנבוח?
>> [נביחה של כלב ים]
>> נראה על-יד ימין צד הוא מה ולהשמיע את הקול.
אבל זה בסך הכול משחק נשמע אם מה נכון?
אם תפוז variable-- block-- מושתק הוא אפס.
איך אני משנה את המושתק להיות 1, משמעות אמיתית, לעשות מושתק זה?
ככל הנראה, את התסריט השני, אני יכול מכה על מקש הרווח, ועכשיו הוא עוצר.
אז אנחנו יכולים להיות אינטרקום זו ברחבי סקריפטים, כמו גם,
רק על ידי שיתוף משתנה פני השני כזה.
עכשיו, זה לא כל כך מעניין.
בואו נלך קדימה ולעשות את זה ולשלב הרבה רעיונות אלה עם תוכנית זו
כאן.
לפני שאנחנו עושים את זה, אם כי, מה דעתך על אחד המתנדבים?
תן לי לקחת את הלחץ ממני כי אני לא ממש
לשחק את המשחק הזה.
בואו מישהו שאנחנו לא ראיתי לפני כן.
אתה צריך להיות נוח לבוא על הבמה כאן, על המצלמה.
בסדר, בואו למעלה.
מאוד אמיץ.
מה שמך?
>> אידריס: אידריס.
DAVID מלאן: סליחה?
אידריס: אידריס.
DAVID מלאן: אידריס, נחמד לפגוש אותך.
בוא תעלה.
ועכשיו, על הנייד שלך טלפון, אתה משחק פוקימון GO?
>> אידריס: מס '
DAVID מלאן: באמת?
אידריס: כן.
DAVID מלאן: אישור.
בסדר.
ובכן, נחמד לפגוש אותך.
בוא לכאן.
גם אני לא.
אז כבר נחשוב ביחד איך לשחק זה, שבו מישהו באמת
הלכתי וליישמם Scratch על ידי שינוי החתול בעצם
דמויות שונות הכל ביחד.
ואם אני למסך מלא זה כאן, אנחנו הולכים
כדי לראות את המשחק הבא ביחד.
עדיין טוען, עדיין טוען.
בחייך.
תן לי לעשות את זה.
בחייך.
המשחק הזה הוא כל כך גדול שהוא התרסק.
המתנה.
נסה את זה פעם נוספת.
בחייך.
בסדר.
>> הנה.
בסדר.
דגל ירוק.
אז הנה זה בא.
>> [מוסיקה מתנגנת]
>> בחר את רמת הביניים כאן.
לחץ על הבחור הכחול שם.
בסדר.
ואתה יכול להשתמש בחץ keys-- למעלה, למטה, שמאלה, ימינה.
עכשיו, הבה נבחן כמונו זה- ולאחר מכן ללכת אחרי התווים עבורה.
כֵּן.
ועכשיו לחץ עליו עם העכבר.
הו כן.
מהלך \ לזוז \ לעבור.
איפה החץ?
הנה לך.
אז לחץ על שם.
כֵּן.
בסדר.
אז עכשיו, נאמר לי שיש לך כדור Poke, אם כי לחץ זה, הוא יעשה את זה.
טוב מאוד.
בתירגול להיום, אני מצא בגרסה זו של המשחק של
למעשה לא מאוד קשה.
אז אם אתה רוצה ללכת שוב כאן, ללכת עד כדור נקב זה.
ואז ללכת לקחת ימינה.
נסה לחיצה עליו.
אה, בעצם, זה החנות, ככל הנראה.
אישור אז לסגור את זה.
מעולם לא עשה זאת קודם.
אולי לעלות את העניין הזה כאן.
אה, הנה לך.
חכה, יש אחד שם.
אה, יש עוד.
בסדר.
מטה.
כן, לחץ.
>> בסדר, זה מאוד חמוד.
בסדר, יפה מאוד.
המשחק הזה הוא לא כל כך קשה מאוד.
בסדר.
מזל טוב.
הנה, יש לנו CS50 כדור מתח בשבילך.
אם ניקח בחשבון רק לרגע מה חלק המזנונים נמצא שם.
קל יותר מאשר המשחק האמיתי, כנראה.
אבל כל מה שיש לנו הולך כאן היא דמות
יש כנראה איזשהו של לולאה משויכת אליו.
זה לא חתול.
זהו זה תו במקום.
לולאה כי הוא פשוט כל הזמן אומר, אם חץ למעלה נלחץ,
אם חץ למטה לחוץ, אם החץ השמאלי לחוץ או ימינה
חץ לחוץ, לעלות או למטה או שמאלה או ימינה.
או אם יש עוד פיסת הפאזל שם שאומר כשנוגעים ספרייט אחר,
כאשר נגיעה אחת הדמויות אל כדור Poke, אם נגיעה,
אז לעשות את זה.
>> אז כל הרעיונות יש לנו כבר משתמש עד כה באמת
ניתן ליישם רק בפרט זה בהקשר לשחק במשחק הזה, גם כן.
תן לי ללכת קדימה ולמשוך עד אחד כאן אחר, למעשה.
תן לי ללכת קדימה ולמשוך עד, נניח, זה.
זה משהו שאנחנו רמיקס.
Made by אחד שלנו סטודנטים בקיימברידג '
ואז עברתי ושינה פחות או יותר את כל המופעים של הרווארד
לייל הפעם.
האם מישהו רוצה להתחרות נגד Ivies
כאן הצטברות אחרת כל הרעיונות האלה?
בואו תרדים, כן.
מה שמך?
>> דינה: דינה.
>> DAVID מלאן: עדין?
>> דינה: דינה.
>> DAVID מלאן: דינה, בוא למטה.
בסדר, דינה.
אז המשחק הזה נהיה קשה קשה, כי במשחק הזה,
יש משתנה בשימוש גם כי עוקבים כל הזמן
מה של הרמה שאתה נמצא במשחק.
כל כך נחמד לפגוש אותך.
מסתובב פה.
וכך המטרה כאן היא למיין של להפוך את דרכך במבוך
כי תלמיד זה מיושם.
>> וזה רק כדי להכשיר את הקרקע, כל תמונות אלה במסך
ספרייט הוא משלה, אופי משלה.
אז אלה היו על ידי חתולים מחדלים, אך התלמיד שינה אותם
אל לוגו Ivies השונה כאן.
ואז תראה כי רק באמצעות תנאים ולולאות
פונקציות ועוד, אתה מקבל את זה.
>> [מוסיקה מתנגנת]
[MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> כן, בסדר.
כן, להמשיך ללכת.
קל מאוד של הרמה הראשונה.
יש לך רק ללכת לשם.
אבל שוב, שקול, זה רק לולאה להשמעה של החץ keys--
למעלה, למטה, שמאלה, ימינה.
ועכשיו גוש חישה.
נחמד מאוד.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> נחמד מאוד.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> נחמד מאוד.
די קל, זהורית.
בסדר.
Levels-- אה-אה.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> ושוב, אלה שלוש פסגות הרווארד,
יש לך רק היגיון אומר אם על קצה, להקפיץ.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> בסדר, מה שאתה עושה הוא יותר מעניין למה.
נחמד מאוד.
או - או.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
אני חושב שאתה צריך להקריב את עצמך.
[MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
מָהִיר!
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
נֶחְמָד.
זה בסדר.
אתה תקבל את זה.
כן כן!
נחמד מאוד.
>> [תְשׁוּאוֹת]
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> נֶחְמָד!
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
הבנתי.
בחייך!
שנית לרמה האחרונה.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> בסדר.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
כן.
שימוש טוב של משתנה כאן.
[MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
כן.
[MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
נֶחְמָד.
[MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
זה בסדר.
אנחנו מוכרחים להגיע עד הסוף.
שם.
הו!
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> אולי לרוץ מאוחר היום, אבל זה הולך להיות שווה את זה.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> אתה יכול לעשות את זה!
כֵּן!
>> [תְשׁוּאוֹת]
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> אחד זה באמת קשה.
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> אנו נעניק לך שני בני אדם נוספים.
האם אתה יכול לעשות את זה?
>> [MUSIC - MC HAMMER, "U לא יכול לגעת זֶה"]
>> בסדר.
מה דעתך על סיבוב גדול של מחיאות כפיים בכל זאת.
אתה חייב השני לרמה האחרונה.
תודה רבה לך.
>> [תְשׁוּאוֹת]
>> אז זה רק כדי לומר כמה אתה יכול לעשות עם סוג כזה של דברים.
וגם להבין גם שכאשר חתיכות פאזל לא exist--
ואכן, זה הולך להיות אחד של המעצמות עם הבעיה הראשונה
סטי beyond-- היא למעשה ליצור משלך.
וזו רק קטע אחת הדוגמות
תוכל לשחק עם מקוון, שבו
אם אין לך מובנה בתוך Scratch משהו כמו חתיכת פאזל שיעול,
למעשה אתה יכול לעשות את זה בעצמך.
>> וכך כל זה ועוד ממתין.
ובדיוק לצייר סופי תמונה אכן מה
קדימה שמחכה בכיתה בשבילך, מבוסס על כמה תמונות מן לכיתה
בעבר, הרשה לי לעמעם את האורות בפעם האחרונה ולהראות לך CS50.
>> [מוסיקה מתנגנת]
>> בסדר.
זהו זה עבור CS50.
עוגה עכשיו שירתה.
>> [מוסיקה מתנגנת]