1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [השמעת מוסיקה] 3 00:00:10,830 --> 00:00:12,080 [מוסיקה - רוסיני, "RANZ DES VACHES "מילהלם טל] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [מוסיקה - BEAT אנגלית, "במרס מהראשים המסתובב "] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [מחיאות כפות ומריעות] 8 00:02:31,510 --> 00:02:33,520 >> דוד Malan: אז זה CS50. 9 00:02:33,520 --> 00:02:34,730 שמי דוד מלאן. 10 00:02:34,730 --> 00:02:39,250 ו -73% מכם אין לי ניסיון קודם עם מדעי מחשב, 11 00:02:39,250 --> 00:02:41,300 בניגוד למה שנדמית לך. 12 00:02:41,300 --> 00:02:45,290 אז היום חשבנו שאנחנו היינו לכרסם בכי חוסר היכרות, אלא גם 13 00:02:45,290 --> 00:02:48,970 נותן לך תחושה של, עבור אלה מכם עם נוחות יותר, שהכיוונים 14 00:02:48,970 --> 00:02:50,550 אתה יכול ללכת בסמסטר הזה. 15 00:02:50,550 --> 00:02:51,890 >> אז בואו נתחיל עם זה. 16 00:02:51,890 --> 00:02:55,490 באמת אין לי מושג מה יש בפנים של מחשב, למרות, כמוך, אני 17 00:02:55,490 --> 00:02:56,780 להשתמש בו בכל יום. 18 00:02:56,780 --> 00:03:00,000 אבל זה סוג של תיבה, ויש לא תשומות רבות לתוכו. 19 00:03:00,000 --> 00:03:01,350 לכל הפחות, יש, מה? 20 00:03:01,350 --> 00:03:03,120 ככל הנראה כבל חשמל. 21 00:03:03,120 --> 00:03:06,640 >> ואכן עם מרכיב אחד זה, חשמל, נראים שאנחנו מסוגלים 22 00:03:06,640 --> 00:03:09,490 עושה לא מעט בימים אלה. 23 00:03:09,490 --> 00:03:12,130 אבל בסופו של היום, אנחנו צריך לייצג את הדברים 24 00:03:12,130 --> 00:03:12,860 כי אכפת לנו. 25 00:03:12,860 --> 00:03:15,240 אנחנו צריכים לייצג את המידע בצורה כלשהי. 26 00:03:15,240 --> 00:03:18,365 ואתה כנראה לפחות במעורפל מכיר את הרעיון על ידי בינארי או 27 00:03:18,365 --> 00:03:21,370 ביטים דרך זו או אחרים, מחשבים הופחת לאפסים ואחדים. 28 00:03:21,370 --> 00:03:26,320 אבל אנחנו יכולים לאמץ את זה ולפחות לשים קצת אור על זה? 29 00:03:26,320 --> 00:03:28,880 >> אז יש לי קצת אלה מנורות שולחן כאן. 30 00:03:28,880 --> 00:03:30,450 יש לי שקע חשמל כאן. 31 00:03:30,450 --> 00:03:33,930 ואני מתכוון להציע שבפנים המחשב שלי היא לפחות אחד מן 32 00:03:33,930 --> 00:03:37,300 את הדברים האלה, משהו מסוגל של להיות מופעל או כבוי. 33 00:03:37,300 --> 00:03:40,200 במקרה זה, זה אכן מנורת שולחן, אבל ברמה נמוכה יותר, זה משהו 34 00:03:40,200 --> 00:03:41,500 נקרא טרנזיסטור. 35 00:03:41,500 --> 00:03:44,730 >> אבל בעולם שלנו, זה מנורת שולחן, ולכן אני הולך קדימה, ולחבר את זה 36 00:03:44,730 --> 00:03:47,990 לחשמל שלי כאן. 37 00:03:47,990 --> 00:03:52,970 ואני טוען שמשתמש בזה פשוט, מכשיר פשוט, מתג פשוט זה, אני 38 00:03:52,970 --> 00:03:54,850 יכול לייצג מידע. 39 00:03:54,850 --> 00:03:58,090 למשל, עכשיו, אני מייצג שום דבר, נכון? 40 00:03:58,090 --> 00:04:01,820 אני מייצג את מה שאני אתקשר או 0 שקר, ההפך ממשהו 41 00:04:01,820 --> 00:04:03,130 למעשה להיות נוכח. 42 00:04:03,130 --> 00:04:07,050 אבל אם אני פשוט להפעיל מתג זה, עכשיו אני כבר מיוצג 1. 43 00:04:07,050 --> 00:04:10,720 אז באמצעות פיסה מאוד פשוטה זו של זיכרון, אם תרצה, אני יכול לייצג 44 00:04:10,720 --> 00:04:11,450 מידע. 45 00:04:11,450 --> 00:04:14,350 >> עכשיו למרבה הצער, המחשב שלי לא יכול לעשות כל כך הרבה. 46 00:04:14,350 --> 00:04:17,430 זה יכול לייצג רק שני ערכים בעולם כולו - 47 00:04:17,430 --> 00:04:18,620 0 או 1. 48 00:04:18,620 --> 00:04:21,839 אבל מה פתרון ברור, עכשיו, אם אנחנו רוצים להרחיב את המחשב שלנו 49 00:04:21,839 --> 00:04:25,120 זיכרון ומייצג יותר מאשר רק 0 ו -1? 50 00:04:25,120 --> 00:04:27,060 >> ובכן, בואו לתפוס קצת אחר כך. 51 00:04:27,060 --> 00:04:30,260 בואו לתפוס מתג אחר, אחר טרנזיסטור, עם זאת אתה רוצה 52 00:04:30,260 --> 00:04:31,130 תחשוב על זה. 53 00:04:31,130 --> 00:04:34,170 תן לי ללכת קדימה ולחבר את זה למחשב שלי גם כן. 54 00:04:34,170 --> 00:04:38,270 ואני הולך לתבוע, עכשיו, כי על ידי שימוש קצת יותר חשמל ו 55 00:04:38,270 --> 00:04:42,290 פונה יותר של בוררים אלה וב את, אני יכול לייצג כזה יותר 56 00:04:42,290 --> 00:04:43,020 מידע. 57 00:04:43,020 --> 00:04:44,660 >> אז עכשיו, זה הוא 1. 58 00:04:44,660 --> 00:04:48,120 אם אני רוצה לייצג את החברה 2, אני יכול לעשות את זה. 59 00:04:48,120 --> 00:04:51,510 אבל בדרך כלל, אמנה, שכן אנו סופו של דבר תראה, תהיה לי לעשות את זה. 60 00:04:51,510 --> 00:04:55,260 אז זה הוא 0, זו היא 1. 61 00:04:55,260 --> 00:04:56,720 זה יהיה 2. 62 00:04:56,720 --> 00:04:59,920 וזה לא מפתיע, זה יהיה 3. 63 00:04:59,920 --> 00:05:02,610 >> אז בדרך זו, ובכל זאת, יכולה אנו סופרים את עוד יותר? 64 00:05:02,610 --> 00:05:06,500 אם אני מקבל קצת שלישי, מתג שלישי, מה המספר הגבוה ביותר שאני יכול עכשיו 65 00:05:06,500 --> 00:05:09,720 לספור עד 0 מ? 66 00:05:09,720 --> 00:05:12,020 אז 7 אם אני מתחיל ב 0, נכון? 67 00:05:12,020 --> 00:05:15,980 כי אם אני פונה את האור הזה וב בעצם לחבר את זה שלישי ואחרון 68 00:05:15,980 --> 00:05:20,090 אור לתוך השקע החשמלי שלי כאן, אז יש לי את היכולת לייצג 69 00:05:20,090 --> 00:05:24,930 כל אחד משני ערכים כאן, שני ערכים כאן, שני ערכים כאן - 70 00:05:24,930 --> 00:05:32,610 ולכן אני יכול לייצג פעמים 2 פעמים 2 2, או שמונה ערכים אפשריים. 71 00:05:32,610 --> 00:05:36,340 ואם אני מתחיל חשבונאי ב 0, ולכן זה 0, 1, 2, 3, 4, 5, 6, 7. 72 00:05:36,340 --> 00:05:37,480 >> אז בינארי זה. 73 00:05:37,480 --> 00:05:39,420 זה באמת פשוט כמו זה. 74 00:05:39,420 --> 00:05:41,930 ואני טוען שזה בעצם די מוכר ביותר 75 00:05:41,930 --> 00:05:43,180 כולם בחדר הזה. 76 00:05:43,180 --> 00:05:45,710 תן לי ללכת קדימה ולפתוח עורך טקסט קטן כאן. 77 00:05:45,710 --> 00:05:49,040 >> ואתה אולי זוכר מבית הספר היסודי שהיו לנו דברים כמו מאות 78 00:05:49,040 --> 00:05:51,970 מקום, מקום עשרות, ומקום אלה. 79 00:05:51,970 --> 00:05:55,040 וזוכר שאם היה לך קצת עשרוני מספר, כמו משהו אקראי 80 00:05:55,040 --> 00:05:59,470 כמו 123, שהיית למעשה לכתוב את זה בצורה 81 00:05:59,470 --> 00:06:00,450 משלושת העמודים הללו. 82 00:06:00,450 --> 00:06:04,070 ולמה הוא 1, 2, 3 מה אנחנו יודעים כמו 123? 83 00:06:04,070 --> 00:06:11,220 ובכן, בעמודה השמאלית ביותר, יש לנו אחד 100 ועוד שניים 10s, אז זה 120, 84 00:06:11,220 --> 00:06:14,250 ועוד שלושה 1s, אז זה 123. 85 00:06:14,250 --> 00:06:17,990 >> עכשיו העולם הזה שאנחנו פשוט האירו זה בדיוק אותו הדבר כמו 86 00:06:17,990 --> 00:06:21,150 אתה כבר מכיר מזה שנים, אלא שעכשיו, טורינו 87 00:06:21,150 --> 00:06:22,060 לא כוחות 10. 88 00:06:22,060 --> 00:06:23,780 הם פשוט חזקים של 2. 89 00:06:23,780 --> 00:06:27,830 אז אילו זה אלה המקום, זה הולך להיות מקום הזוגות, זה 90 00:06:27,830 --> 00:06:29,540 הולך להיות מקום ארבע. 91 00:06:29,540 --> 00:06:33,260 >> ובגלל שאני רק משתמש פשוטה של מנגנונים כדי לשנות את המצב 92 00:06:33,260 --> 00:06:37,100 לסירוגין - חשמל זורם או חשמל לא זורם - 93 00:06:37,100 --> 00:06:40,880 לא די שיש לי את אותה הבעה טווח כ0 עד תשע. 94 00:06:40,880 --> 00:06:43,270 אנחנו הולכים לשמור את זה פשוט סופר בעולם הזה של מחשבים. 95 00:06:43,270 --> 00:06:45,060 יש לי רק 0 או 1 - 96 00:06:45,060 --> 00:06:47,890 או לבטל ב, שקר או אמת. 97 00:06:47,890 --> 00:06:52,610 >> ולכן מה שאני מייצג עכשיו הוא 1, 1, 1, משום שכל אחד מאלה 98 00:06:52,610 --> 00:06:54,000 אורות דולקת. 99 00:06:54,000 --> 00:06:59,600 טוב, זה נותן לי אחד ועוד אחד 4 2, ולכן זה 6, ועוד אחד 1, וזה 7. 100 00:06:59,600 --> 00:07:03,450 וergo עושה רצף של שלוש ביטים מייצגים את המספר 7. 101 00:07:03,450 --> 00:07:06,330 >> אז כל הזמן הזה, חלק פנימי שלך מחשב, היה כל מספר של 102 00:07:06,330 --> 00:07:08,090 טרנזיסטורים, כל מספר של ביטים. 103 00:07:08,090 --> 00:07:10,380 אבל בסופו של היום, אנחנו יכול לייצג מידע 104 00:07:10,380 --> 00:07:12,560 כפשוט עד כדי כך. 105 00:07:12,560 --> 00:07:16,770 עכשיו לצערנו, אנחנו נספרו רק עד 7 בCS50 עד כה, אבל 106 00:07:16,770 --> 00:07:18,550 אני מקווה שנוכל לעשות קצת יותר טוב מזה. 107 00:07:18,550 --> 00:07:19,550 ואכן אנחנו יכולים. 108 00:07:19,550 --> 00:07:23,570 >> נניח שרק אנחנו כבני אדם באופן שרירותי החליט שאנחנו הולכים 109 00:07:23,570 --> 00:07:28,750 כדי לשייך מספרים כמו 1 ו 2, 3, 4, 5, 6, 7, עם אותיות ספציפיות של 110 00:07:28,750 --> 00:07:29,410 האלפבית. 111 00:07:29,410 --> 00:07:32,350 ומסיבות היסטורי, אני הולך להתחיל באופן שרירותי למדי, אבל אני 112 00:07:32,350 --> 00:07:36,880 הולכים להגיד, בני אדם, אנחנו הולכים להחליט כסטנדרט, בכל העולם, כי 113 00:07:36,880 --> 00:07:43,200 65 מייצגים את א 'מכתב המספר 66 ב 'ייצגו את הנקודה, נקודה, נקודה. 114 00:07:43,200 --> 00:07:45,140 90 ייצגו את המכתב ז' 115 00:07:45,140 --> 00:07:48,000 >> ובואו נניח, אם אנחנו באמת לשים קצת חשבתי לזה, אנחנו יכולים לבוא 116 00:07:48,000 --> 00:07:50,860 עם מספרים לסימני קריאה ואותיות קטנות, ואכן, 117 00:07:50,860 --> 00:07:52,710 אנשים אחרים שעשו את זה בשבילנו. 118 00:07:52,710 --> 00:07:56,410 אז עכשיו היו לנו עם ביטים שאנחנו יכולים מספרים מייצגים, מספרים שבי 119 00:07:56,410 --> 00:08:00,130 אנחנו יכולים לייצג את האותיות, ועם אותיות אנחנו יכולים עכשיו להתחיל להלחין 120 00:08:00,130 --> 00:08:02,650 הודעות דוא"ל ותווי דפוס על המסך. 121 00:08:02,650 --> 00:08:05,850 >> אז הרשה לי להזמין, אם הייתי יכול, שמונה מתנדבים אמיצים - 122 00:08:05,850 --> 00:08:09,200 שלא אכפת לי מופיע לא רק על מצלמה אבל באינטרנט - 123 00:08:09,200 --> 00:08:13,130 כדי לבוא לכאן ולייצג שמונה כזה ביטים, ולא שלוש. 124 00:08:13,130 --> 00:08:14,380 אז מה דעתך על אחד, שתיים? 125 00:08:14,380 --> 00:08:16,290 מה דעתך על שלוש? 126 00:08:16,290 --> 00:08:20,230 מה דעתך על ארבעה באור כחול, חמישה בסופו של הדבר? 127 00:08:20,230 --> 00:08:21,250 על מישהו כאן? 128 00:08:21,250 --> 00:08:25,320 שש ביממה, שבע בחזית, ושמונה בחזית, גם כן. 129 00:08:25,320 --> 00:08:29,050 >> אז אני פשוט כל כך קרה לבוא מוכן עם חבורה שלמה של פתקים. 130 00:08:29,050 --> 00:08:34,150 ועל פיסות נייר הללו הם מספרים שמייצג את מה שעמודות 131 00:08:34,150 --> 00:08:35,809 אתם הולכים לייצג. 132 00:08:35,809 --> 00:08:36,740 אז אתה יהיה - מה השם שלך? 133 00:08:36,740 --> 00:08:37,570 >> תלמיד: אנה לאה. 134 00:08:37,570 --> 00:08:40,370 >> דוד Malan: אנה לאה, אתה יהיה טור 128s. 135 00:08:40,370 --> 00:08:41,059 אתה נמצא? 136 00:08:41,059 --> 00:08:41,510 >> תלמיד: כריס. 137 00:08:41,510 --> 00:08:43,620 >> דוד Malan: כריס יהיה להיות עמודת 64s. 138 00:08:43,620 --> 00:08:44,070 אתה נמצא? 139 00:08:44,070 --> 00:08:44,540 >> תלמיד: דן. 140 00:08:44,540 --> 00:08:46,970 >> דוד Malan: דן להיות עמודת 32s. 141 00:08:46,970 --> 00:08:47,470 >> תלמיד: Pramit. 142 00:08:47,470 --> 00:08:49,430 >> דוד Malan: Pramit יהיה להיות עמודת 16s. 143 00:08:49,430 --> 00:08:50,290 >> תלמיד: ליליאן. 144 00:08:50,290 --> 00:08:51,904 >> דוד Malan: ליליאן יהיה 8s. 145 00:08:51,904 --> 00:08:52,768 >> תלמיד: ג'יל. 146 00:08:52,768 --> 00:08:55,025 >> דוד Malan: ג'יל תהיה להיות עמודת 4S. 147 00:08:55,025 --> 00:08:55,400 >> תלמיד: מרי. 148 00:08:55,400 --> 00:08:57,000 >> דוד Malan: מרי יהיה 2s, ו? 149 00:08:57,000 --> 00:08:57,470 >> תלמיד: דוד. 150 00:08:57,470 --> 00:08:59,220 >> דוד Malan: דוד להיות עמודת 1s. 151 00:08:59,220 --> 00:09:02,030 אז אם אתם יכולים לשלב קצת קדימה, כך שכל אחד יכול לראות. 152 00:09:02,030 --> 00:09:05,370 מה אתם לא רואים שהוא על אחורי של פתקים אלה הוא 153 00:09:05,370 --> 00:09:09,760 גיליון לרמות קטן שעומד להורות שמונה ביטים אלה לשני 154 00:09:09,760 --> 00:09:12,380 להרים את היד שלהם או לא להרים את היד שלהם. 155 00:09:12,380 --> 00:09:14,100 אם היד שלהם עולה, הם ייצוג 1. 156 00:09:14,100 --> 00:09:17,120 אם היד שלהם נשאר למטה, הם מייצג 0. 157 00:09:17,120 --> 00:09:21,410 >> בינתיים, אנחנו צריכים להיות הקהל הצליח להבין, על סמך זה 158 00:09:21,410 --> 00:09:26,490 מיפוי, מה מילה בת שלוש אותיות אלה אנשים עומדים לפרט. 159 00:09:26,490 --> 00:09:29,700 אז ברגע אחד, אתה הולך לקרוא את השורה הראשונה מהגב של 160 00:09:29,700 --> 00:09:32,880 הגיליון לרמות שלך, ואתה גם הולך להעלות או לא להרים את היד שלך. 161 00:09:32,880 --> 00:09:35,710 אם אתה 1, אתה מעלה, אם אתה 0, אתה עומד שם 162 00:09:35,710 --> 00:09:38,594 בצורה מוזרה, סתם ככה. 163 00:09:38,594 --> 00:09:40,386 ללכת. 164 00:09:40,386 --> 00:09:43,945 מה מספר, בראש ובראשונה, הם מייצגים את החבר 'ה האלה? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66. 167 00:09:48,860 --> 00:09:49,560 66, נכון? 168 00:09:49,560 --> 00:09:52,400 יש לנו 1 בעמודת 64s, 1 בעמודת 2s. 169 00:09:52,400 --> 00:09:56,340 זה נותן לי 66, אז שמופיע להיות ב 'המייצג אז 170 00:09:56,340 --> 00:09:57,075 אתם שלא אייתו - 171 00:09:57,075 --> 00:09:58,300 בסדר, זה מספיק. 172 00:09:58,300 --> 00:09:59,430 ב ' 173 00:09:59,430 --> 00:10:01,610 >> אז עכשיו בואו נעבור על המכתב השני שלנו. 174 00:10:01,610 --> 00:10:03,530 ללכת. 175 00:10:03,530 --> 00:10:06,860 מי המהיר ביותר במתמטיקה כאן? 176 00:10:06,860 --> 00:10:07,750 אז 79. 177 00:10:07,750 --> 00:10:11,840 שוב, אם תוסיפו את כל עמודות שבו יש 1, נכון לעכשיו, רק 178 00:10:11,840 --> 00:10:14,840 כמו שעשינו בעבר עם הפשוט דוגמאות של 7, עכשיו אנחנו 179 00:10:14,840 --> 00:10:16,140 לקבל את המספר 79. 180 00:10:16,140 --> 00:10:19,910 שהוא על פי המיפוי שלנו מכתב א 'אז אנחנו כמעט שם. 181 00:10:19,910 --> 00:10:22,590 ב ', א' ולבסוף, ללכת. 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> את מה שהם מייצגים את החברה? 184 00:10:30,120 --> 00:10:31,370 קונסנסוס פחות. 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 זה רק מלמול מוחלט. 187 00:10:36,460 --> 00:10:40,090 כן, זה למעשה 87. 188 00:10:40,090 --> 00:10:40,490 טוב. 189 00:10:40,490 --> 00:10:44,480 >> אז אם אנחנו עכשיו המפה שיחזרו עד - בואו להתחיל לקרוא תרשים ASCII שלנו, 190 00:10:44,480 --> 00:10:46,450 קוד תקן אמריקאי ל מידע מחלף. 191 00:10:46,450 --> 00:10:47,700 זה נותן לנו את המכתב - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 לא "בו", אבל "קשת". וזה מושלם קיו בשבילכם לקחת קשת 194 00:10:54,810 --> 00:10:56,100 ואת הראש על גב. 195 00:10:56,100 --> 00:10:56,980 תודה רבה. 196 00:10:56,980 --> 00:10:57,886 >> [מחיאות כפות] 197 00:10:57,886 --> 00:10:59,136 >> דוד Malan: אתה יכול לשמור אותם. 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 למרות שלמעשה, כל מי שהייתי כמו מנורת שולחן, גם? 200 00:11:05,942 --> 00:11:07,300 >> [לשרוק מהקהל] 201 00:11:07,300 --> 00:11:08,390 >> דוד Malan: מנורת שולחן? 202 00:11:08,390 --> 00:11:10,850 >> [שחוק] 203 00:11:10,850 --> 00:11:11,860 >> דוד Malan: באמת? 204 00:11:11,860 --> 00:11:13,230 מנורות שולחן עבור כולם? 205 00:11:13,230 --> 00:11:14,310 בסדר. 206 00:11:14,310 --> 00:11:20,990 אז החל בפשוט מאוד של עקרונות, יש לנו כעת לא רק נספרו 207 00:11:20,990 --> 00:11:24,750 למעלה מ 0 כל הדרך עד 7, יש לנו ההנחה היא כי רק על ידי זריקה יותר 208 00:11:24,750 --> 00:11:28,080 ביטים או יותר אורות או יותר טרנזיסטורים בבעיה זו, אנו יכולים 209 00:11:28,080 --> 00:11:32,680 לייצג מספרים גדולים יותר ויותר, ו מכאן, טווחים גדולים יותר ויותר של 210 00:11:32,680 --> 00:11:33,780 אלפבית, כמו אנגלית. 211 00:11:33,780 --> 00:11:37,770 ורק בואו לקחת על אמונה להיום באופן דומה, כי יכולים אנו מתחילים 212 00:11:37,770 --> 00:11:42,220 מייצג גרפיקה ווידאו וכל מספר אמצעי תקשורת אחר שבו אנו נמצאים 213 00:11:42,220 --> 00:11:43,610 מוכר היום. 214 00:11:43,610 --> 00:11:49,240 >> אז זה CS50, ובמעמד הזה הצד שלך הוא, שוב, הרבה מאוד 215 00:11:49,240 --> 00:11:53,050 חבריו לכיתה שיש להם כקטנים כפי שאתה חווה. 216 00:11:53,050 --> 00:11:57,730 ואני מזכיר את זה רק משום שדי לעתים קרובות, כולל כלאחרונה כאחד 217 00:11:57,730 --> 00:12:01,860 כיתה ט 'ומייעצת לאירועים ב בכיתת י 'של האביב האחרון מייעצת 218 00:12:01,860 --> 00:12:06,420 אירוע, שאנו שומעים לעתים קרובות סטודנטים מתנערים כשמגיע לשולחן CS, טוב, 219 00:12:06,420 --> 00:12:10,070 אני כבר חושב על לקחת את זה intro כיתה, אבל אני לא ממש 220 00:12:10,070 --> 00:12:11,120 איש מחשבים. 221 00:12:11,120 --> 00:12:13,220 או, אבל כולם ללא ספק יודע יותר ממני. 222 00:12:13,220 --> 00:12:17,340 ואני שם את זה בגופן הגדול ביותר אפשרי, כדי להעביר את המסר הזה, כי 223 00:12:17,340 --> 00:12:18,730 זה לא במקרה למעשה. 224 00:12:18,730 --> 00:12:21,100 >> ואם אתם תוהים, צריכים אני, למעשה, להיות כאן? 225 00:12:21,100 --> 00:12:25,950 להבין שלא רק הוא של קורס זה מבוא לכותרת מחשב 226 00:12:25,950 --> 00:12:31,740 מדע, זה הוא מבוא למחשב מדע י אז יש אכן 227 00:12:31,740 --> 00:12:33,170 הקדמה כזו שנייה. 228 00:12:33,170 --> 00:12:35,390 אז אתה לא, למעשה, במקום הלא נכון. 229 00:12:35,390 --> 00:12:39,000 ובין המטרות שיש לי להיום הם כדי להרגיע את חששות כאלה אתה 230 00:12:39,000 --> 00:12:42,430 אולי יש, אבל גם לצייר תמונה של מה שמחכה לי 231 00:12:42,430 --> 00:12:45,720 סטודנטים פחות ויותר נוחים כאחד בקורס זה. 232 00:12:45,720 --> 00:12:49,320 >> אבל קודם כל, מילה על אחד מדפי המידע יש לך היום, ביניהם 233 00:12:49,320 --> 00:12:50,780 מספר שאלות נפוצות. 234 00:12:50,780 --> 00:12:54,290 זה היה חזון שלנו מזה זמן עכשיו להציג את דירוג חדש 235 00:12:54,290 --> 00:12:57,010 אפשרות לקורס הזה - כלומר, SAT / UNSAT. 236 00:12:57,010 --> 00:13:01,930 מבחינה פילוסופית בשבילי, זה הרבה יותר מדי, הרבה יותר חשוב ש 237 00:13:01,930 --> 00:13:05,050 תלמידים בכיתה זו לעסוק עם חומר, ניתן לערער על ידי 238 00:13:05,050 --> 00:13:09,800 חומר, ודאגה הרבה, הרבה פחות על המכניקה של ציונים בפועל 239 00:13:09,800 --> 00:13:12,590 ומכתב ציונים בסמסטר של סוף, אבל באמת לאמץ 240 00:13:12,590 --> 00:13:13,970 כמובן והחומר שלו. 241 00:13:13,970 --> 00:13:18,140 ובאמת זה מרגיש, באופן כללי יותר, על מה מעניין אותם, כדי 242 00:13:18,140 --> 00:13:21,390 מרגיש מאותגר ומתוגמל אבל בלי פחד מכישלון. 243 00:13:21,390 --> 00:13:25,030 >> ואכן, גם זה חוזר נושא במבוא זה ואחרים 244 00:13:25,030 --> 00:13:28,680 קורסים בתחומים אחרים, שיש לך החשש הזה כשמדובר 245 00:13:28,680 --> 00:13:31,040 לשים את קצות האצבעות של אדם ב מים לא מוכרים. 246 00:13:31,040 --> 00:13:34,880 אני בעצמי, בחזרה בשנת 1995, היה בכיתה ט '. 247 00:13:34,880 --> 00:13:37,990 הייתי מאוד ממוקד בהיותו רכז גוב כאן. 248 00:13:37,990 --> 00:13:41,060 ובכל זאת הייתי תמיד גדלתי עם קצת של עניין במדע המחשב. 249 00:13:41,060 --> 00:13:42,180 אני תמיד היה סקרן. 250 00:13:42,180 --> 00:13:47,610 >> אבל אז, גם, היה לי הפחד הזה של אפילו דריכה ברגל בCS50, כל כך הרבה 251 00:13:47,610 --> 00:13:49,420 כך שאני אפילו לא לקנות שנת הלימודים הראשונה שלו. 252 00:13:49,420 --> 00:13:53,460 והסיבה היחידה ששמתי את רגל ב השנה דלת כיתה י 'הייתה כי אני 253 00:13:53,460 --> 00:13:55,340 הורשה לקחת את זה עובר / נכשל. 254 00:13:55,340 --> 00:13:58,920 אבל גם עובר / נכשל נדרש שאני מקבל את האומץ לעשות מינוי 255 00:13:58,920 --> 00:14:01,970 עם פרופ 'Kernehan באותה העת, להביא גיליון נייר הגדול הזה, ולשאול 256 00:14:01,970 --> 00:14:04,470 שלו לחתימה ושלו רשות לחקור 257 00:14:04,470 --> 00:14:05,700 מים אלה לא מוכרים. 258 00:14:05,700 --> 00:14:09,030 >> וזה לא עזר בשנים האחרונות שכאשר עושים את זה בCS50, כאשר אנו 259 00:14:09,030 --> 00:14:12,500 היה אמור להיות עוברים / נכשל, באופן דומה היית עשרות או מאות חבריך לכיתה 260 00:14:12,500 --> 00:14:15,970 צריך לבוא, חלילה, ב מול סנדרס עם טופס זה, כי 261 00:14:15,970 --> 00:14:19,520 בכמה מוחות מייצג חוסר יכולת, אני מעז לומר, כדי לבצע 262 00:14:19,520 --> 00:14:20,800 הם ברמה 'העמיתים שלך. 263 00:14:20,800 --> 00:14:23,410 וזה מגוחך, אבל אני עושה חושב יש מנטליות ש. 264 00:14:23,410 --> 00:14:27,210 ומעולם לא הייתה בתרבות זו מיום שבת / UNSAT, או עובר / נכשל יותר 265 00:14:27,210 --> 00:14:30,610 בדרך כלל, בקורס זה, או באמת בקמפוס הזה. 266 00:14:30,610 --> 00:14:32,310 >> אז השנה אנחנו שינינו את זה. 267 00:14:32,310 --> 00:14:35,630 הייתי מחצית של אקסטזה המעמד הזה או יותר הסתיים 268 00:14:35,630 --> 00:14:38,700 דבר לוקח CS50 SAT / UNSAT. 269 00:14:38,700 --> 00:14:42,130 בזמן של שנה, זה יהיה נפלא אם כמעט כולם. 270 00:14:42,130 --> 00:14:44,410 לאחר מכן אולי אנחנו נעבוד על ציוני מכתב בהרווארד 271 00:14:44,410 --> 00:14:45,480 מכללה באופן כללי יותר. 272 00:14:45,480 --> 00:14:48,900 אבל לעת עתה, אנחנו נעשה את זה בתוכנו כדור שלו, ואני היית מכל לב 273 00:14:48,900 --> 00:14:53,400 ממליץ לך לעיין שאלות נפוצות ואלה לשאול שאלות כמו שאתה רואה לנכון, כך ש 274 00:14:53,400 --> 00:14:58,000 אני מקווה שאתה, בניגוד אליי, לא די יש לי אותו גורם פחד כש 275 00:14:58,000 --> 00:15:01,040 לחקור את מה שכנראה מקום לא מוכר. 276 00:15:01,040 --> 00:15:02,786 >> אז מה הוא CS50? 277 00:15:02,786 --> 00:15:06,150 זה הוא מבוא מפעלים רוחניים של מחשב 278 00:15:06,150 --> 00:15:07,700 מדע והאמנות של תכנות. 279 00:15:07,700 --> 00:15:08,770 אבל מה זה באמת אומר? 280 00:15:08,770 --> 00:15:12,510 >> ובכן, עד כה, דיברנו בקצרה מאוד על ייצוג מידע. 281 00:15:12,510 --> 00:15:15,070 אבל נניח שאנחנו באמת רוצים לעשות משהו עם זה. 282 00:15:15,070 --> 00:15:17,890 אנחנו צריכים להציג את הרעיון של מה שאנחנו קוראים לאלגוריתם. 283 00:15:17,890 --> 00:15:21,540 אלגוריתם הוא הליך, תהליך, סט של הוראות ל 284 00:15:21,540 --> 00:15:22,780 עושה משהו. 285 00:15:22,780 --> 00:15:25,620 >> ואלגוריתם יכול להיות משהו פשוט סופר. 286 00:15:25,620 --> 00:15:28,660 למשל, דוגמה שבה חלק של אתה יכול להיות מוכר היא זו 287 00:15:28,660 --> 00:15:29,350 דבר כאן. 288 00:15:29,350 --> 00:15:32,510 אז הספר הזה כאן הוא יותר ויותר מיום, אבל פעם בעבר, זה 289 00:15:32,510 --> 00:15:34,720 הכיל המון שמות ומספרי טלפון. 290 00:15:34,720 --> 00:15:37,710 ואכן, אם אני רוצה למצוא מישהו בספר הטלפון הזה - 291 00:15:37,710 --> 00:15:39,800 תגיד, מישהו בשם מייק סמית - 292 00:15:39,800 --> 00:15:43,810 אני יכול למצוא מייק סמית בכל מספר דרכים פשוטות למדי. 293 00:15:43,810 --> 00:15:47,700 אני יכול להתחיל בהתחלה ו תעבור לדף 1, לא שם. 294 00:15:47,700 --> 00:15:49,240 עמוד 2, לא שם. 295 00:15:49,240 --> 00:15:49,960 עמוד 3. 296 00:15:49,960 --> 00:15:53,430 האם אלגוריתם זה, שהוא תהליך, נכון? 297 00:15:53,430 --> 00:15:54,620 >> אז זה נכון, נכון? 298 00:15:54,620 --> 00:15:58,070 אני סוג של אידיוט בשביל לעשות את זה ב כי צורה, אבל סופו של דבר אני 299 00:15:58,070 --> 00:16:02,670 למצוא את שם המשפחה S, ואני מקווה שמייק הוא בסעיף זה, ואני תהפוך 300 00:16:02,670 --> 00:16:04,100 עשה עם האלגוריתם שלי. 301 00:16:04,100 --> 00:16:05,440 אבל אין ספק שזה לא אינטואיטיבי. 302 00:16:05,440 --> 00:16:08,020 כל אדם סביר ביותר בזה חדר לא היה עושה את זה. 303 00:16:08,020 --> 00:16:10,180 מה היית עושה? 304 00:16:10,180 --> 00:16:11,480 >> אתה היית הולך ישר לאמצע, נכון? 305 00:16:11,480 --> 00:16:12,000 בערך באמצע. 306 00:16:12,000 --> 00:16:16,310 ואתה מבין, הו, אלה הם הגב ' אז מייק סמית, שם משפחה להיות סמית, 307 00:16:16,310 --> 00:16:19,050 לא, באופן ברור, אז ב מחצית שמאלית של הספר. 308 00:16:19,050 --> 00:16:21,040 הוא חייב להיות בכיוון S הוא בצד הימין. 309 00:16:21,040 --> 00:16:24,090 ובנקודה זו, אם כי רובנו לא עושים את זה במציאות, אנחנו יכולים 310 00:16:24,090 --> 00:16:27,125 ממש לקרוע את הבעיה הזו במחצית. 311 00:16:27,125 --> 00:16:27,640 >> [מריע ומחיאות כפות] 312 00:16:27,640 --> 00:16:28,950 >> דוד Malan: תודה לך. 313 00:16:28,950 --> 00:16:30,150 >> [מריע ומחיאות כפות] 314 00:16:30,150 --> 00:16:34,660 >> דוד Malan: אתה ממש יכול להרוס את זה בעיה במחצית, השאיר אותי עם, 315 00:16:34,660 --> 00:16:36,120 פשוטו כמשמעו, כחצי מבעיה גדולה. 316 00:16:36,120 --> 00:16:39,750 אז אם זה היה ספר טלפונים - וזה כנראה היה - כ -1,000 דפים, עכשיו 317 00:16:39,750 --> 00:16:40,840 זה רק 500. 318 00:16:40,840 --> 00:16:44,710 אם אני עושה את זה שוב ואני מבין, אה, לעזאזל, הלכתי רחוק מדי, אני בTs 319 00:16:44,710 --> 00:16:46,480 קטע, שאני יכול באופן דומה - 320 00:16:46,480 --> 00:16:48,030 השאלה או מילולי - 321 00:16:48,030 --> 00:16:50,260 לקרוע את ספר טלפונים - זה היה למעשה הרבה יותר קל, כי בזמן. 322 00:16:50,260 --> 00:16:53,610 אני ממש יכול לקרוע את ספר טלפונים במחצית, השאיר אותי עכשיו עם 323 00:16:53,610 --> 00:16:55,186 לא 1000, לא 500 - 324 00:16:55,186 --> 00:16:56,680 250 עמודים. 325 00:16:56,680 --> 00:17:00,210 ואני יכול ללכת 125, ומחצית מזה, ו חצי מזה, ומחצית מזה, 326 00:17:00,210 --> 00:17:04,760 עד שלבסוף אני אשאר עם רק דף אחד. 327 00:17:04,760 --> 00:17:06,430 >> [שחוק] 328 00:17:06,430 --> 00:17:07,589 >> דוד Malan: זה חלק שאני לא מצליח ב. 329 00:17:07,589 --> 00:17:10,400 דף בודד אחד שעליו מייק הוא תקווה. 330 00:17:10,400 --> 00:17:14,630 עכשיו האלגוריתמים שונים האלה יכולים להיות סוג של הערכה או הערכה ב 331 00:17:14,630 --> 00:17:15,270 דרכים שונות. 332 00:17:15,270 --> 00:17:17,300 הראשון היה מאוד ליניארי, נכון? 333 00:17:17,300 --> 00:17:18,500 להפוך דף, לחפש מייק. 334 00:17:18,500 --> 00:17:19,630 להפוך דף, לחפש מייק. 335 00:17:19,630 --> 00:17:20,560 זה מאוד ליניארי. 336 00:17:20,560 --> 00:17:23,339 אם יש דף אחד יותר בטלפון ספר, זה כנראה הולך לקחת אותי 337 00:17:23,339 --> 00:17:27,380 שנייה אחת יותר, יותר יחידה אחת של זמן, עם זאת אנו חישוב זמן. 338 00:17:27,380 --> 00:17:32,470 >> אז אני יכול לצייר ככה הקו הזה כאן, לפיה כגודלו של 339 00:17:32,470 --> 00:17:34,700 עליות בעיה משמאל לימין - 340 00:17:34,700 --> 00:17:37,480 ספר טלפונים נעשה קטן יותר לגדולים יותר - 341 00:17:37,480 --> 00:17:41,080 והזמן הולך להגדיל ב הציר האנכי, גדול יותר 342 00:17:41,080 --> 00:17:42,030 ספר הטלפונים הוא. 343 00:17:42,030 --> 00:17:46,180 אז n הוא רק משתנה כללי כי מדעני מחשב להשתמש כדי לייצג 344 00:17:46,180 --> 00:17:48,210 ערך כלשהו, ​​חלק המספר. 345 00:17:48,210 --> 00:17:50,740 אז n הולך להגדיל באופן ליניארי. 346 00:17:50,740 --> 00:17:53,040 להכפיל את גודלו של ספר טלפונים, זה הולך לקחת לי כפליים 347 00:17:53,040 --> 00:17:54,780 הזמן, ככל הנראה, למצוא מייק. 348 00:17:54,780 --> 00:17:56,390 >> עכשיו אני יכול להיות חכם על זה, נכון? 349 00:17:56,390 --> 00:17:57,800 אני השתעממתי במהירות. 350 00:17:57,800 --> 00:17:58,910 היה יכול לעשות את זה על ידי זוגות. 351 00:17:58,910 --> 00:18:01,870 אז שני דפים, ולאחר מכן ארבעה, לאחר מכן שש, אז בת שמונה. 352 00:18:01,870 --> 00:18:05,220 ואני יכול להתחיל לטוס דרכו קצת יותר מהר, אם כי בסיכון של קטין 353 00:18:05,220 --> 00:18:09,210 מעל הגבול העליון של מייק, אבל עקומה שאינה הולך להיות כל כך שונה. 354 00:18:09,210 --> 00:18:12,550 זה עדיין הולך להיות סטרייט קו, אבל מעט מהר יותר. 355 00:18:12,550 --> 00:18:13,710 >> אבל מה עשיתי? 356 00:18:13,710 --> 00:18:15,845 ממש עשיתי משהו ביסודו טוב יותר. 357 00:18:15,845 --> 00:18:21,990 אני השגתי את מה שאנחנו קוראים ללוגריתמים זמן, יומן של n, לפיה ירוק הזה 358 00:18:21,990 --> 00:18:27,730 יש קו הרבה, הרבה, הרבה יותר קצה פחות ישר אליו. 359 00:18:27,730 --> 00:18:33,050 ובמקום זאת, הוא מציע, כמו זה סוג של מתקרב אל אינסוף אי פעם כל כך בהדרגה, 360 00:18:33,050 --> 00:18:36,700 כי אני באמת יכול לקחת 1,000 עמודים ספר טלפונים, להכפיל את גודלו 361 00:18:36,700 --> 00:18:39,610 בשנה הבאה - כי מניחה שהרבה יותר אנשים לעבור לעיר. 362 00:18:39,610 --> 00:18:43,250 >> אז עכשיו יש לי 2,000 עמודים, אבל איך עוד צעדים רבים הוא שחכם יותר 363 00:18:43,250 --> 00:18:45,200 האלגוריתם הולך לקחת? 364 00:18:45,200 --> 00:18:46,060 רק אחד. 365 00:18:46,060 --> 00:18:48,060 אני מתכוון, שזה דבר חזק. 366 00:18:48,060 --> 00:18:51,400 אם נלך ל4,000 עמודים בשנה הבאה, זה הולך לקחת אותי 367 00:18:51,400 --> 00:18:53,020 רק שני צעדים נוספים. 368 00:18:53,020 --> 00:18:56,500 אז אתה יכול לזרוק יותר ויותר גדול בעיות בי, שלא כמו באינטרנט היא 369 00:18:56,500 --> 00:18:59,560 זריקה גדולה יותר ויותר בעיות בכל יום בגוגל וFacebooks של 370 00:18:59,560 --> 00:19:01,590 בעולם, וזה לא כזה עניין גדול. 371 00:19:01,590 --> 00:19:05,840 כי אני לשים יותר מחשבה ודאגה ל האלגוריתם שלי עם אשר כדי לפתור 372 00:19:05,840 --> 00:19:07,020 בעיות ביעילות. 373 00:19:07,020 --> 00:19:09,260 >> ואכן, שיהיה אחד מטרותיו של קורס זה. 374 00:19:09,260 --> 00:19:11,230 תוכל, לאורך הדרך, ללמוד איך לתכנת. 375 00:19:11,230 --> 00:19:13,360 תוכל ללמוד כיצד לתכנת ב כל מספר של שפות. 376 00:19:13,360 --> 00:19:16,670 אבל בסופו של היום, הוא כמובן על פתרון בעיות וקבלה 377 00:19:16,670 --> 00:19:20,490 טוב יותר בפתרון בעיות - וכמו ב מקרים כאלה, פתרון בעיות 378 00:19:20,490 --> 00:19:22,030 בצורה יעילה יותר. 379 00:19:22,030 --> 00:19:23,990 >> עכשיו עד כה, אנחנו כבר עשינו את זה למדי באופן אינטואיטיבי. 380 00:19:23,990 --> 00:19:27,420 בואו להכיר משהו למדי הגנרית נקרא pseudocode. 381 00:19:27,420 --> 00:19:29,150 אז אנחנו סופו של דבר נקבל, בקורס זה, כדי 382 00:19:29,150 --> 00:19:30,570 שפות תכנות שונות. 383 00:19:30,570 --> 00:19:34,280 אבל היום אנחנו נעשה את זה באנגלית כמו תחביר, שבו אתה פשוט סוג של אומר 384 00:19:34,280 --> 00:19:37,330 מה שאתה אומר, אבל אתה אף פעם כל כך תמציתי ואתה אל תדאגו 385 00:19:37,330 --> 00:19:38,960 דקדוק ומשפטים שלמים. 386 00:19:38,960 --> 00:19:41,600 אתה פשוט להביע את עצמך כ תמציתי ככל האפשר. 387 00:19:41,600 --> 00:19:45,400 >> אז pseudocode הוא כמו אנגלי תחביר שמייצג 388 00:19:45,400 --> 00:19:46,750 שפת תכנות. 389 00:19:46,750 --> 00:19:51,170 ולקראת הסוף ש, הרשה לי להציע כי עכשיו אנחנו מודל התהליך שאנחנו פשוט 390 00:19:51,170 --> 00:19:54,990 ספירה תאר משהו קצת אחרת, הפעם לוקחים 391 00:19:54,990 --> 00:19:59,040 מסתכל על וידאו של חמש דקות זה הופק על ידי החברים שלנו ב-TED כי 392 00:19:59,040 --> 00:20:03,170 מגדיר מה הוא pseudocode, מגדיר מה חשיבה אלגוריתמית היא, ואפילו 393 00:20:03,170 --> 00:20:07,030 למרות שהדוגמא שאתה עומד לראות הוא, בעצמו, סופר פשוט, זה 394 00:20:07,030 --> 00:20:09,820 הולך להתחיל לתת לנו את הנפש מודל, את אוצר המילים, שבה 395 00:20:09,820 --> 00:20:14,588 לעשות הרבה, הרבה יותר מורכב אלגוריתמים די מהר. 396 00:20:14,588 --> 00:20:15,576 >> [BEGIN השמעת וידאו] 397 00:20:15,576 --> 00:20:29,920 >> [השמעת מוסיקה] 398 00:20:29,920 --> 00:20:31,100 >> קריין: מה אלגוריתם? 399 00:20:31,100 --> 00:20:34,730 במדעי מחשב, אלגוריתם הוא סט של הוראות לפתרון כלשהו 400 00:20:34,730 --> 00:20:36,620 צעד אחר צעד בעיה. 401 00:20:36,620 --> 00:20:39,650 בדרך כלל, אלגוריתמים מבוצעים על ידי מחשבים, אבל יש לנו בני האדם 402 00:20:39,650 --> 00:20:41,230 אלגוריתמים, כמו גם. 403 00:20:41,230 --> 00:20:43,290 למשל, איך היית הולך לגבי ספירת המספר 404 00:20:43,290 --> 00:20:44,750 אנשים בחדר? 405 00:20:44,750 --> 00:20:47,980 ובכן, אם אתה אוהב אותי, אתה בטח נקודה שכל אדם, אחד בכל 406 00:20:47,980 --> 00:20:50,120 זמן, ולספור עד מ 0. 407 00:20:50,120 --> 00:20:52,970 1, 2, 3, 4, וכן הלאה. 408 00:20:52,970 --> 00:20:54,140 >> ובכן, זה אלגוריתם. 409 00:20:54,140 --> 00:20:57,600 למעשה, בואו ננסה להביע את זה קצת יותר באופן רשמי בpseudocode - 410 00:20:57,600 --> 00:21:00,700 תחביר דמוי אנגלי שדומה שפת תכנות. 411 00:21:00,700 --> 00:21:02,580 בואו N 0 שווים. 412 00:21:02,580 --> 00:21:06,970 לכל אדם בחדר, קבע N שווה ל N בתוספת 1. 413 00:21:06,970 --> 00:21:08,400 >> כיצד לפרש pseudocode זה? 414 00:21:08,400 --> 00:21:12,840 ובכן, שורה אחת מצהיר, כביכול, משתנים בשם N ומאתחל 415 00:21:12,840 --> 00:21:14,250 הערך שלו ל -0. 416 00:21:14,250 --> 00:21:17,550 זה רק אומר שבתחילתו של האלגוריתם שלנו, הדבר שבה 417 00:21:17,550 --> 00:21:19,650 אנחנו בונים יש לו ערך של 0. 418 00:21:19,650 --> 00:21:22,620 אחרי הכל, לפני שאנחנו מתחילים לספור, אנחנו לא נספרו שום דבר עדיין. 419 00:21:22,620 --> 00:21:25,340 קורא N משתנה זה רק אמנה. 420 00:21:25,340 --> 00:21:26,890 אני יכולתי לקרוא לזה ביותר שום דבר. 421 00:21:26,890 --> 00:21:30,560 >> עכשיו שני מסמן קו ההתחלה של לולאה, רצף של צעדים ש 422 00:21:30,560 --> 00:21:32,310 לחזור כמה וכמה פעמים. 423 00:21:32,310 --> 00:21:35,910 כך בדוגמא שלנו, אנחנו לוקחים הצעד בונה אנשים בחדר. 424 00:21:35,910 --> 00:21:38,730 מתחת לקו השני הוא קו שלוש, שמתאר בדיוק איך 425 00:21:38,730 --> 00:21:40,160 אנחנו נלך על ספירה. 426 00:21:40,160 --> 00:21:43,440 הכניסה מרמזת על כך שזה שלושה קווים שיחזרו. 427 00:21:43,440 --> 00:21:47,380 >> אז מה הוא אומר הוא pseudocode לאחר שמתחיל ב 0, עבור כל 428 00:21:47,380 --> 00:21:50,690 אדם בחדר, אנו להגדיל את N על ידי 1. 429 00:21:50,690 --> 00:21:53,050 כרגע הוא אלגוריתם זה נכון? 430 00:21:53,050 --> 00:21:54,580 ובכן, בואו לדפוק על זה קצת. 431 00:21:54,580 --> 00:21:57,270 האם זה עובד אם יש שני אנשים בחדר? 432 00:21:57,270 --> 00:21:58,170 בואו נראה. 433 00:21:58,170 --> 00:22:00,260 >> בשורה אחת, אנו לאתחל N ל -0. 434 00:22:00,260 --> 00:22:03,660 לכל אחד משני האנשים האלה, לאחר מכן, אנו להגדיל N על ידי 1. 435 00:22:03,660 --> 00:22:07,310 אז בטיול הראשון דרך לולאה, אנו מעדכנים את N בין 0 ל -1. 436 00:22:07,310 --> 00:22:11,070 בטיול השני באותו לולאה, אנו מעדכנים את N מ -1 ל -2. 437 00:22:11,070 --> 00:22:15,780 וכך עד סוף האלגוריתם זה, n הוא 2, שאכן תואם למספר 438 00:22:15,780 --> 00:22:16,700 אנשים בחדר. 439 00:22:16,700 --> 00:22:17,760 >> עד כה, כל כך טוב. 440 00:22:17,760 --> 00:22:19,610 מה דעתך על מקרה פינה, אם כי? 441 00:22:19,610 --> 00:22:22,590 נניח שיש 0 אנשים בחדר - חוץ ממני, 442 00:22:22,590 --> 00:22:24,170 מי עושה ספירה. 443 00:22:24,170 --> 00:22:27,150 בשורה אחת, אנו לאתחל N ל -0. 444 00:22:27,150 --> 00:22:30,280 הפעם, לעומת זאת, קו שלושה לא עושה לבצע בכל שכן אין 445 00:22:30,280 --> 00:22:31,370 אדם בחדר. 446 00:22:31,370 --> 00:22:35,260 וכך נשאר 0 N, התואם את מספר האנשים בחדר. 447 00:22:35,260 --> 00:22:36,420 די פשוט, נכון? 448 00:22:36,420 --> 00:22:39,630 >> אבל אנשי ספירה אחת בכל פעם הוא יעיל למדי, יותר מדי, לא? 449 00:22:39,630 --> 00:22:40,920 אין ספק שאנחנו יכולים לעשות טובים יותר. 450 00:22:40,920 --> 00:22:43,120 למה לא לסמוך שני אנשים בו זמנית? 451 00:22:43,120 --> 00:22:49,300 במקום לספור 1, 2, 3, 4, 5, 6, 7, 8, וכן הלאה, למה לא נחשב, 2, 452 00:22:49,300 --> 00:22:51,460 4, 6, 8, וכן הלאה? 453 00:22:51,460 --> 00:22:53,700 זה אפילו נשמע יותר מהר, וזה בוודאי הוא. 454 00:22:53,700 --> 00:22:56,240 >> בואו להביע אופטימיזציה זו בpseudocode. 455 00:22:56,240 --> 00:22:57,800 בואו N 0 שווים. 456 00:22:57,800 --> 00:23:02,450 עבור כל זוג של אנשים בחדר, להגדיר N שווה ל N ועוד 2. 457 00:23:02,450 --> 00:23:04,120 שינוי די פשוט, נכון? 458 00:23:04,120 --> 00:23:06,750 במקום לספור אנשים אחד בכל פעם, שבמקום לספור 459 00:23:06,750 --> 00:23:08,300 אותם שניים בכל פעם. 460 00:23:08,300 --> 00:23:10,980 אלגוריתם זה הוא ובכך פעמיים מהר ככל שעבר. 461 00:23:10,980 --> 00:23:12,180 >> אבל האם זה נכון? 462 00:23:12,180 --> 00:23:12,920 בואו נראה. 463 00:23:12,920 --> 00:23:15,330 האם זה עובד אם יש שני אנשים בחדר? 464 00:23:15,330 --> 00:23:17,550 בשורה אחת, אנו לאתחל N ל -0. 465 00:23:17,550 --> 00:23:20,920 שלזוג אחד של אנשים, לאחר מכן, אנו להגדיל N על ידי שתיים. 466 00:23:20,920 --> 00:23:24,860 וכך עד סוף האלגוריתם זה, N הוא 2, שאכן תואם למספר 467 00:23:24,860 --> 00:23:25,650 אנשים בחדר. 468 00:23:25,650 --> 00:23:28,250 >> נניח שיש הבא 0 אנשים בחדר. 469 00:23:28,250 --> 00:23:30,840 בשורה אחת, אנו לאתחל N ל -0. 470 00:23:30,840 --> 00:23:34,330 כמו בעבר, קו שלושה אינו מבצע בכלל, מאז שאין זוגות 471 00:23:34,330 --> 00:23:35,380 של אנשים בחדר. 472 00:23:35,380 --> 00:23:38,350 וכך נשאר 0 N, שאכן תואם את מספר 473 00:23:38,350 --> 00:23:39,570 אנשים בחדר. 474 00:23:39,570 --> 00:23:42,280 >> אבל מה אם יש שלושה אנשים בחדר? 475 00:23:42,280 --> 00:23:44,130 איך עושה את זה נסיעה באלגוריתם? 476 00:23:44,130 --> 00:23:44,990 בואו נראה. 477 00:23:44,990 --> 00:23:47,460 בשורה אחת, אנו לאתחל N ל -0. 478 00:23:47,460 --> 00:23:50,870 לזוג האנשים האלה, לאחר מכן, אנו להגדיל N ב -2. 479 00:23:50,870 --> 00:23:51,800 אבל אז מה? 480 00:23:51,800 --> 00:23:54,960 אין זוג אחר של אנשים מלא בחדר, ולכן קו שניים לא 481 00:23:54,960 --> 00:23:56,180 כבר חל. 482 00:23:56,180 --> 00:24:00,530 וכך עד סוף האלגוריתם זה, N עדיין 2, וזה לא נכון. 483 00:24:00,530 --> 00:24:03,810 >> ואכן, הוא אמר את זה כדי להיות אלגוריתם עגלה, כי יש לו טעות. 484 00:24:03,810 --> 00:24:05,820 מאפשר לתקן עם קצת pseudocode חדש. 485 00:24:05,820 --> 00:24:09,670 בואו שווה 0 n לכל זוג של אנשים בחדר. 486 00:24:09,670 --> 00:24:12,550 הגדר N שווה ל N ועוד 2. 487 00:24:12,550 --> 00:24:17,140 אם אדם אחד נותר מזווג, להגדיר N שווה ל N בתוספת 1. 488 00:24:17,140 --> 00:24:20,140 כדי לפתור את הבעיה מסוימת הזאת, יש לנו הציג, בקו ארבעה, 489 00:24:20,140 --> 00:24:24,520 מצב, הידוע גם בסניף שמבצע רק אם יש אחד 490 00:24:24,520 --> 00:24:26,640 אדם שאנחנו לא יכולים זוג עם אחר. 491 00:24:26,640 --> 00:24:30,440 וכך עכשיו, אם יש אחד או שלושה או כל מספר אי זוגי של אנשים ב 492 00:24:30,440 --> 00:24:33,290 החדר, אלגוריתם זה עכשיו יספור אותם. 493 00:24:33,290 --> 00:24:34,560 >> האם אנחנו יכולים לעשות אפילו טובים יותר? 494 00:24:34,560 --> 00:24:38,820 ובכן, אנחנו יכולים לספור ב-3 או 4s או אפילו 5S ו10s, אבל מעבר לזה, זה 495 00:24:38,820 --> 00:24:41,360 הולך לקבל קצת קשה נקודה. 496 00:24:41,360 --> 00:24:44,660 בסופו של היום, בין אם בוצע על ידי מחשבים או בני אדם, 497 00:24:44,660 --> 00:24:46,750 אלגוריתמים הם רק סט של הוראות עם 498 00:24:46,750 --> 00:24:48,290 שכדי לפתור בעיות. 499 00:24:48,290 --> 00:24:49,792 אלה היו רק שלוש. 500 00:24:49,792 --> 00:24:52,404 מה בעיה תהיה לך לפתור עם אלגוריתם? 501 00:24:52,404 --> 00:24:52,901 >> [השמעת וידאו הסוף] 502 00:24:52,901 --> 00:24:55,883 >> מלאן דוד: זה הוא הזמן רק אני תופיע בצורת קריקטורה. 503 00:24:55,883 --> 00:25:01,050 אבל איפה זה משאיר את הסיפור, עכשיו, הוא איך אנחנו יכולים לעשות טובים יותר? 504 00:25:01,050 --> 00:25:04,680 שלוש או ארבעה, אנחנו טוענים, שאנחנו יכולים לסמוך אנשים הרבה יותר מהר, אבל אנחנו יכולים 505 00:25:04,680 --> 00:25:06,290 לעשות יסוד טוב יותר מזה? 506 00:25:06,290 --> 00:25:07,540 ואני מהמר שאנחנו יכולים. 507 00:25:07,540 --> 00:25:11,980 >> אם אנחנו מציגים קצת משלנו pseudocode כאן, אני הולך להציע 508 00:25:11,980 --> 00:25:14,550 שאנחנו יכולים להשיג קו כזה. 509 00:25:14,550 --> 00:25:17,280 אנחנו לא הולכים לספור אנשים אחת, שתיים, שלוש, ארבעה. 510 00:25:17,280 --> 00:25:19,470 אנחנו לא הולכים ללכת שתיים, ארבע, שש, שמונה. 511 00:25:19,470 --> 00:25:23,390 אנחנו הולכים לעשות את היסוד טוב יותר על ידי חשיבה מחדש את הבעיה, ובכך 512 00:25:23,390 --> 00:25:27,080 מקרה, מינוף אחרת לא מנוצל משאבים. 513 00:25:27,080 --> 00:25:31,460 >> ברגע אחד, אני מקווה שאסלח לי ולרצות אותנו על ידי עמידה ב 514 00:25:31,460 --> 00:25:34,470 מקום, בשלב שבו אנו הולכים תשאל כל אחד מכם לקחת על בך 515 00:25:34,470 --> 00:25:36,400 דעת המספר 1. 516 00:25:36,400 --> 00:25:39,560 לאחר מכן אתה הולך יותר ויותר בצורה מוזרה, ככל שחולף זמן, למצוא 517 00:25:39,560 --> 00:25:42,740 מישהו אחר שעומד, לשלב המספרים שלך יחד 518 00:25:42,740 --> 00:25:43,720 על ידי הוספה אותם. 519 00:25:43,720 --> 00:25:47,490 אחד מכם ואז הולך להתחרות לשבת המורד ראשון, ואדם האחר 520 00:25:47,490 --> 00:25:48,880 הוא הולך לחזור. 521 00:25:48,880 --> 00:25:53,090 >> אז במילים אחרות, על ידי זריעה כל לך עם מספר 1, ולאחר מכן 522 00:25:53,090 --> 00:25:57,800 שילובם לתוך 1s 2s 2s ואלה ל4S, עם כולם יותר ויותר 523 00:25:57,800 --> 00:26:02,740 יושבים למטה, אנחנו צריכים, בסופו של אלגוריתם זה, יש רק אחד הלוואה 524 00:26:02,740 --> 00:26:07,570 נשמה שלא מתיישב מספיק מהר אבל שיש לו את ספירת קהל כולו 525 00:26:07,570 --> 00:26:09,180 במוח שלו או שלה. 526 00:26:09,180 --> 00:26:13,730 >> אז אם היית, בואו נלך קדימה ו-- שלב אחד - לעמוד במקום. 527 00:26:13,730 --> 00:26:15,600 ולבצע. 528 00:26:15,600 --> 00:26:36,580 >> [קהל המנהם] 529 00:26:36,580 --> 00:26:38,820 >> מלאן דוד: האם אתה יודע שבו לורן הוא? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [קהל המנהם] 532 00:27:23,350 --> 00:27:24,340 >> דוד Malan: בסדר? 533 00:27:24,340 --> 00:27:39,110 >> [קהל המנהם] 534 00:27:39,110 --> 00:27:41,365 >> דוד Malan: בסדר, אנחנו צריכים היה מתקרב לסוף. 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 אנחנו רואים בחור אחד עומד כאן עדיין. 537 00:27:47,670 --> 00:27:48,770 מי צריך אותם כדי להיות יחד? 538 00:27:48,770 --> 00:27:50,020 אם אתם רוצים לשייך את. 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 מישהו למעלה. 541 00:27:56,520 --> 00:27:58,150 למה אני לא אתן יד לכאן. 542 00:27:58,150 --> 00:28:01,370 למעט מאוד אנשים שעדיין בעמידה, מה שמספרים עושים לך 543 00:28:01,370 --> 00:28:02,790 יש בראש שלך? 544 00:28:02,790 --> 00:28:04,020 >> תלמיד: 78. 545 00:28:04,020 --> 00:28:06,010 >> דוד Malan: 78 בתוספת - 546 00:28:06,010 --> 00:28:07,840 שעומד כאן למטה? 547 00:28:07,840 --> 00:28:08,370 >> תלמיד: 39. 548 00:28:08,370 --> 00:28:09,590 >> דוד Malan: פלוס 39. 549 00:28:09,590 --> 00:28:12,310 בתוספת מי עוד עדיין עומד? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 אוקיי, מי עוד? 552 00:28:15,960 --> 00:28:17,200 81 נוספות? 553 00:28:17,200 --> 00:28:17,860 וואו. 554 00:28:17,860 --> 00:28:19,210 ואז מה שיש בגב? 555 00:28:19,210 --> 00:28:20,360 >> תלמיד: 49. 556 00:28:20,360 --> 00:28:21,812 >> דוד Malan: 49, בתוספת? 557 00:28:21,812 --> 00:28:22,950 >> תלמיד: 98. 558 00:28:22,950 --> 00:28:24,980 >> דוד Malan: 98 פלוס? 559 00:28:24,980 --> 00:28:28,190 האם זה מישהו אחר? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 עבודה טובה. 562 00:28:30,460 --> 00:28:33,610 >> [שחוק] 563 00:28:33,610 --> 00:28:34,690 >> דוד Malan: הו, 112 - 564 00:28:34,690 --> 00:28:35,410 הו. 565 00:28:35,410 --> 00:28:36,220 עבודה טובה! 566 00:28:36,220 --> 00:28:38,660 >> [שחוק] 567 00:28:38,660 --> 00:28:42,570 >> [מחיאות כפות] 568 00:28:42,570 --> 00:28:43,820 >> דוד Malan: עוד מישהו עדיין עומד? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 סליחה? 571 00:28:47,260 --> 00:28:48,110 >> תלמיד: 99. 572 00:28:48,110 --> 00:28:49,810 >> דוד Malan: 99. 573 00:28:49,810 --> 00:28:52,620 אף אחד אחר עדיין עומד? 574 00:28:52,620 --> 00:28:57,290 והמספר הכולל של תלמידים כאן הוא למעשה, על פי - 575 00:28:57,290 --> 00:28:59,400 יש לך מספר? 576 00:28:59,400 --> 00:29:03,170 אה, המספר האמיתי של אנשים ב חדר, על פי החשבון ש 577 00:29:03,170 --> 00:29:07,660 עמיתי ההוראה היו עושים בדרכו של כל אחד ב, היה 729. 578 00:29:07,660 --> 00:29:11,070 אז יצא מחדר מלא תלמידי הרווארד שספר את עצמם, 579 00:29:11,070 --> 00:29:14,126 תשובה היא 637. 580 00:29:14,126 --> 00:29:15,480 >> [שחוק] 581 00:29:15,480 --> 00:29:16,350 >> דוד Malan: כל כך קרוב. 582 00:29:16,350 --> 00:29:17,360 אבל עדיין. 583 00:29:17,360 --> 00:29:22,110 אוקיי, אז זה הוראה רגע, נכון? 584 00:29:22,110 --> 00:29:24,120 עכשיו זה מה שאנו מתארים כבאג. 585 00:29:24,120 --> 00:29:28,120 איפשהו בדרך, עשינו כמה חשבון לא נכון, או מישהו שהתיישב, 586 00:29:28,120 --> 00:29:29,930 או שמאלה, או שמשהו השתבש. 587 00:29:29,930 --> 00:29:30,930 אבל זה בסדר. 588 00:29:30,930 --> 00:29:33,390 משום שאפילו עדיין, אנחנו הגיע די קרוב. 589 00:29:33,390 --> 00:29:37,480 ואני טוען שהגענו להלא נכון תשובה הרבה יותר מהר ממה שהייתי לי 590 00:29:37,480 --> 00:29:39,770 שימוש בגישה ליניארית יותר שלי. 591 00:29:39,770 --> 00:29:42,630 >> אז בואו נניח שאנחנו אכן מקבלים את זה לתקן, אבל חושב עכשיו על מה 592 00:29:42,630 --> 00:29:46,870 קורה בכל פעם, לעומתי אלגוריתם מצביע נאיבי שלו. 593 00:29:46,870 --> 00:29:48,420 אחת, שתיים, שלוש. 594 00:29:48,420 --> 00:29:53,010 אם אכן יש 729 או 637 אנשים כאן, זה היה לוקח לי 595 00:29:53,010 --> 00:29:57,720 פשוטו כמשמעו, 637 או 729 pointings של האצבע ו 596 00:29:57,720 --> 00:29:59,490 להגדיל כל הסכום הכולל שלי. 597 00:29:59,490 --> 00:30:01,910 ואני יכול לעשות קצת יותר טוב על ידי הולך שתיים, ארבע, שש, שמונה, ו 598 00:30:01,910 --> 00:30:05,660 להכפיל את המהירות הזו, אולי אפילו פי שלוש או לארבעה, תלוי איך גם אני יכול 599 00:30:05,660 --> 00:30:07,110 לעשות את זה סופר לי בראש. 600 00:30:07,110 --> 00:30:10,720 >> אבל הגישה הזאת שאתם לקחו היה שונה במהותו. 601 00:30:10,720 --> 00:30:12,770 כי בהתחלה, כולכם קם. 602 00:30:12,770 --> 00:30:14,620 אז כל 729. 603 00:30:14,620 --> 00:30:17,370 ולאחר מכן, פשוטו כמשמעו, מחצית שלך התיישב. 604 00:30:17,370 --> 00:30:19,720 ואחרי זה, עוד מחצית מכם התיישבה. 605 00:30:19,720 --> 00:30:22,650 ואחרי זה, עוד מחצית מכם התיישבה. 606 00:30:22,650 --> 00:30:27,470 >> והמספר הכולל של פעמים שאתה החבר 'ה הייתה יכול התיישבה היא בערך 607 00:30:27,470 --> 00:30:31,740 שמונה או תשע או עשר פעמים כלל, תלוי מה היא הספירה הכוללת שלנו. 608 00:30:31,740 --> 00:30:33,300 ואנחנו יכולים למיין של לעשות דרך אחרת זה. 609 00:30:33,300 --> 00:30:37,740 אם היו לנו 1,024 אנשים בחדר, מספר כולל של פעמים שאתה יכול 610 00:30:37,740 --> 00:30:41,870 לחצות 1,024 אנשים הוא 10. 611 00:30:41,870 --> 00:30:43,370 >> עכשיו תחשוב על זה ב הכיוון השני. 612 00:30:43,370 --> 00:30:49,170 נניח, עד כדי גיחוך, שהיו לנו, אומרים ארבעה מליארד אנשים בחדר הזה, 613 00:30:49,170 --> 00:30:50,860 או חדר מעט גדול יותר. 614 00:30:50,860 --> 00:30:54,550 כמה פעמים היינו נעלם באמצעות אלגוריתם זה, באופן שהמחצית 615 00:30:54,550 --> 00:30:58,110 מהכיתה שיושבת למטה? 616 00:30:58,110 --> 00:31:03,050 זה רק הולך לקחת 32 כגון פעולות, גם בכיתה של גודל 617 00:31:03,050 --> 00:31:03,770 ארבעה מיליארדים. 618 00:31:03,770 --> 00:31:04,055 למה? 619 00:31:04,055 --> 00:31:06,980 בגלל ארבעה מליארד הולך לשניים מיליארדים, הולך למיליון, הולך 620 00:31:06,980 --> 00:31:09,925 500 מיליון, הולך ל250 מיליון, נקודה, נקודה, נקודה. 621 00:31:09,925 --> 00:31:14,940 אני יכול רק לעשות את החלוקה שחלק 32 פעמים, בשלב מסוים, כולם שמלבד 622 00:31:14,940 --> 00:31:17,820 אדם אחד יישאר עומד. 623 00:31:17,820 --> 00:31:21,590 >> וגם את זה, הוא סוג של עוצמה רעיון שיותר ויותר ננסה 624 00:31:21,590 --> 00:31:24,690 מינוף בקורס זה, ובשינה תכנות ומדעי מחשב יותר 625 00:31:24,690 --> 00:31:29,400 בדרך כלל, חיידקים של רעיון עם אלה אז שבו אנו יכולים לפתור בעיות רבות, 626 00:31:29,400 --> 00:31:31,130 הרבה יותר עוצמה. 627 00:31:31,130 --> 00:31:34,610 אז התחלנו די פשוט עם זה pseudocode ובחור בחדר, אבל 628 00:31:34,610 --> 00:31:38,205 עכשיו עם חדר שלם מלא באנשים אנחנו עשינו ביסוד טוב יותר. 629 00:31:38,205 --> 00:31:41,460 >> ובכן, בואו עכשיו מעבר pseudocode לקצת קוד בפועל. 630 00:31:41,460 --> 00:31:44,200 שפה זו שאתה עומד לראות יקרה להיקרא JavaScript, ו 631 00:31:44,200 --> 00:31:46,190 אנחנו נחזור לזה לכיוון הסוף של הסמסטר. 632 00:31:46,190 --> 00:31:49,960 זה שפת תכנות שאתה להשתמש בו כדי להפוך את אתרי אינטרנט ואחרים, כגון 633 00:31:49,960 --> 00:31:51,360 תוכנה בימים אלה. 634 00:31:51,360 --> 00:31:54,890 ואנחנו השתמשנו בו, הודות לחבר שלנו בסטנפורד, כדי לקודד 635 00:31:54,890 --> 00:31:56,630 קצת מידע חבוי כאן. 636 00:31:56,630 --> 00:31:59,500 זוהי האמנות של steganography, כביכול, שבו אתה יכול להסתיר 637 00:31:59,500 --> 00:32:03,990 מידע במה שנראה אחרת יהיה רעש או שונה לחלוטין 638 00:32:03,990 --> 00:32:05,220 תמונה לגמרי. 639 00:32:05,220 --> 00:32:10,120 אבל מוטבע בתמונה מסוימת זו אכן מסר סודי של מיני. 640 00:32:10,120 --> 00:32:12,950 >> אז תן לי ללכת קדימה ולמשוך את אותה תמונה כאן, זה 641 00:32:12,950 --> 00:32:14,270 זמן בדפדפן אינטרנט. 642 00:32:14,270 --> 00:32:17,710 ואני הולך להניף את היד שלי על כמה מן את הפרטים להיום, ובמיוחד 643 00:32:17,710 --> 00:32:21,780 לאלו מכם שזה נראה כמו אבל לא רק JavaScript יווני, כמו 644 00:32:21,780 --> 00:32:23,930 לחלוטין בשפה לא מוכרת. 645 00:32:23,930 --> 00:32:26,190 אבל זו דוגמה של שפת תכנות. 646 00:32:26,190 --> 00:32:30,660 >> ועכשיו, לקחת על אמונה כי קו ראשון זה של קוד - 647 00:32:30,660 --> 00:32:32,470 ועל ידי קוד, אני רק אומר טקסט. 648 00:32:32,470 --> 00:32:35,660 טקסט שאני יכול, פשוטו כמשמעו, שהקלדת אל Microsoft Word, אם היה לי 649 00:32:35,660 --> 00:32:37,630 תוכנה נכונה לאז לעשות משהו עם זה. 650 00:32:37,630 --> 00:32:42,120 קוד מקור של תכנות, תכנות קוד, הוא באמת רק טקסט, וזה 651 00:32:42,120 --> 00:32:45,420 נראה שונה על סמך מה ששפה אתה משתמש, לא בניגוד לאנגלית ו 652 00:32:45,420 --> 00:32:49,200 ספרדית ורוסית כולם נראות שונה כאשר אתה מקליד אותם במקלדת. 653 00:32:49,200 --> 00:32:53,520 >> אז השורה הראשונה זה, לעת עתה לקחת על אמונה, פשוט פותחת גרפיקה מ 654 00:32:53,520 --> 00:32:56,160 אינטרנט, שגרפי רועש אנחנו רק ראינו. 655 00:32:56,160 --> 00:32:59,900 קו זה הבא כאן הוא דוגמה של לולאה, ואנחנו ממש ראינו אותו 656 00:32:59,900 --> 00:33:01,130 ז'רגון בסרטון TED. 657 00:33:01,130 --> 00:33:03,750 לולאה היא משהו שיקרה שוב ושוב, ולמרות שזה 658 00:33:03,750 --> 00:33:08,440 בהחלט נראה ברור מאליהם, עם מילת מפתח, וכמה סוגריים, ו 659 00:33:08,440 --> 00:33:09,510 כמה פסיק. 660 00:33:09,510 --> 00:33:13,070 אנחנו נחזור לזה לפני זמן רב, אבל לולאה שיש במהותה היא 661 00:33:13,070 --> 00:33:17,310 אומר לי התכנית, לחזר על כל של נקודות אלה רועשים, משמאל ל 662 00:33:17,310 --> 00:33:18,980 ימין, מלמעלה למטה. 663 00:33:18,980 --> 00:33:21,260 >> כי בסופו של היום, תמונה אוהב את זה - ואתה יכול למעשה 664 00:33:21,260 --> 00:33:22,860 סוג של רואה את זה על מקרן זה - 665 00:33:22,860 --> 00:33:25,280 היא באמת רק רשת של נקודות. 666 00:33:25,280 --> 00:33:29,730 כדי שנוכל לזהות כל אחד מנקודות אלה על ידי קואורדינטות, x, y, ועם זה 667 00:33:29,730 --> 00:33:33,890 תכנית, יכול כעת אנו מתחילים לעשות משהו לנקודות אלה. 668 00:33:33,890 --> 00:33:37,540 >> אז מה אני הולך קדימה, וכאן אין הוא שאני הולך לעשות כמה שינויים. 669 00:33:37,540 --> 00:33:41,000 ראשית אני הולך קדימה ולהיפטר מכל זה וכחלחל ירקרק 670 00:33:41,000 --> 00:33:43,520 רעש, ואני הולך קדימה והקלד את השורה הבאה 671 00:33:43,520 --> 00:33:45,710 אמנם תחביר סתום. 672 00:33:45,710 --> 00:33:48,020 im לתמונה. 673 00:33:48,020 --> 00:33:53,380 להגדיר כחול במיקום X, פסיק, מיקום Y, ל -0. 674 00:33:53,380 --> 00:33:55,610 במילים אחרות, אני רוצה רק לכבות את כל הכחול 675 00:33:55,610 --> 00:33:56,920 נקודות בתמונה הזאת. 676 00:33:56,920 --> 00:33:59,800 >> אני הולך קדימה, ועכשיו לחץ על להפעיל את זה / כפתור שמור, ואתה 677 00:33:59,800 --> 00:34:02,850 תבחין בצד ימין, התמונה המתקבלת מופיעה. 678 00:34:02,850 --> 00:34:06,120 עכשיו ירוק העל שלה, אבל זה לא מפתיע, כי אני ממש פניתי 679 00:34:06,120 --> 00:34:11,070 משם, על ידי עשיית 1 0, כל הכחול בתמונה. 680 00:34:11,070 --> 00:34:12,540 >> ובכן, עכשיו בואו נעשה את זה קצת יותר. 681 00:34:12,540 --> 00:34:16,989 im לתמונה, נקודת setGreen, x, y. 682 00:34:16,989 --> 00:34:20,659 וזה רק אומר לחזר משמאל לימין ולאחר מכן מלמעלה למטה. 683 00:34:20,659 --> 00:34:23,520 תכבה את זה עם ערך של 0, כמו גם. 684 00:34:23,520 --> 00:34:24,750 שמור. 685 00:34:24,750 --> 00:34:28,100 ועל המקרן, אתה לא יכול באמת באמת רואה שום דבר בכלל. 686 00:34:28,100 --> 00:34:31,380 >> על מסך המחשב הנייד שלי, אם אני מציץ בסתם בדרך הנכונה, אני יכול לראות קצת 687 00:34:31,380 --> 00:34:33,300 תמונה, כי הם עדיין כמה אדום שם. 688 00:34:33,300 --> 00:34:35,540 אם אי פעם שמעו את ראשי התיבות RGB - 689 00:34:35,540 --> 00:34:36,830 אדום, ירוק, כחול - 690 00:34:36,830 --> 00:34:39,110 זה מתייחס להרכב הזה של תמונה באמצעות 691 00:34:39,110 --> 00:34:40,230 רק שלושה צבעים אלה. 692 00:34:40,230 --> 00:34:43,159 ועכשיו, יש לנו לזרוק כל ירוק, כל כחול, אבל 693 00:34:43,159 --> 00:34:44,500 אין הרבה אדום. 694 00:34:44,500 --> 00:34:45,920 >> אז בואו לארכב אותי אדום. 695 00:34:45,920 --> 00:34:47,070 איך אני יכול לעשות את זה? 696 00:34:47,070 --> 00:34:49,300 ובכן, ראשית, אני הולך לשאול תכנית זו שאלה. 697 00:34:49,300 --> 00:34:52,030 אני הולך קדימה, בואו נקראים לזה משתנה, בדיוק כמו באלגברה. 698 00:34:52,030 --> 00:34:54,060 אתה יכול לקבל X או Y או Z. 699 00:34:54,060 --> 00:34:57,230 אני הולך להכריז על משתנה ואומרים, לשים במשתנה זה, 700 00:34:57,230 --> 00:35:02,790 באופן זמני, את ערכו של תמונות getRed ערך בx, y. 701 00:35:02,790 --> 00:35:05,870 >> ושוב, אנחנו נחזור לכל של פרט זה בעתיד. 702 00:35:05,870 --> 00:35:10,630 אבל לעת עתה, רק לקחת על אמונה כי הקו הזה הוא מבקש תכנית, מה 703 00:35:10,630 --> 00:35:12,740 הוא הערך האדום בx, y? 704 00:35:12,740 --> 00:35:14,450 בנקודה מסוימת? 705 00:35:14,450 --> 00:35:15,710 >> ואז אני הולך לעשות משהו לזה. 706 00:35:15,710 --> 00:35:21,100 ואז אני הולך לעשות תמונת נקודת סט אדום בx, y, y אבל הפעם אני הולך 707 00:35:21,100 --> 00:35:24,760 להגביר אותו על ידי עושה פעמים אדומות, נניח, 10. 708 00:35:24,760 --> 00:35:26,870 אז להגדיל אותו בפקטור של 10. 709 00:35:26,870 --> 00:35:29,880 תן לי להקטין את התצוגה ועכשיו לחץ יכול לרוץ / שמור. 710 00:35:29,880 --> 00:35:36,430 וזהו, שהיו שם כל זמן, למרות שהעיניים האנושיות שלנו 711 00:35:36,430 --> 00:35:37,900 לא הצלחתי לראות אותו. 712 00:35:37,900 --> 00:35:41,470 >> אז שוב, זה עכשיו הוא קוד אמיתי, דוגמה לשפה שאנחנו נבוא 713 00:35:41,470 --> 00:35:42,770 חזרה לזמן קצר. 714 00:35:42,770 --> 00:35:46,670 אבל תבין, במיוחד אלה מכם ללא ניסיון כזה, זה די 715 00:35:46,670 --> 00:35:50,280 רגע שאנחנו בעצמנו יהיו כתיבת קוד כמו שיש. 716 00:35:50,280 --> 00:35:54,520 למעשה, כלי שבו אתה כל מוכר קצת, אולי, הוא CS50 של 717 00:35:54,520 --> 00:35:57,330 כלי כמובן קניות שלו, שהיה למעשה אתחול מחדש בקיץ הזה על ידי כמה 718 00:35:57,330 --> 00:36:01,070 של התלמידים לשעבר של CS50 שלו, כעת פונה TFS. 719 00:36:01,070 --> 00:36:04,740 >> אז זה קורה להיות אתר אינטרנט שנבנה בשפה בשם PHP. 720 00:36:04,740 --> 00:36:08,510 היא משתמשת במסד נתונים בשם MySQL, דברים עם שנקבל את ידינו 721 00:36:08,510 --> 00:36:10,190 מלוכלך מאוחר יותר בסמסטר. 722 00:36:10,190 --> 00:36:14,140 אבל תאמינו או לא, אפילו משהו ככה סופו של דבר מפחית את 723 00:36:14,140 --> 00:36:19,480 הפשוט ביותר של לולאות ותנאים ו ענפים, כמו אלה שראינו פשוט 724 00:36:19,480 --> 00:36:21,530 רגע לפני בסרטון TED. 725 00:36:21,530 --> 00:36:25,180 >> עכשיו מה שחשבתי שאני רוצה לעשות הוא נתח לא רק משהו שאנחנו צוות עשינו 726 00:36:25,180 --> 00:36:28,010 לקמפוס, אלא משהו תלמיד לשעבר - שלוש 727 00:36:28,010 --> 00:36:29,080 סטודנטים, למעשה - 728 00:36:29,080 --> 00:36:33,950 עשה את זה בשנה האחרונה, סיירה, דניאל, ו סם, שעבר מהם לא היה לו לפני 729 00:36:33,950 --> 00:36:36,370 ניסיון תיכנות כשהוא לקח את CS50. 730 00:36:36,370 --> 00:36:39,950 ולפרויקט הגמר שלהם, הם הציג, ביריד CS50, 731 00:36:39,950 --> 00:36:43,720 יישום בשם wrdly, שהוא תכנית מבוססת אינטרנט שבה הם עשו 732 00:36:43,720 --> 00:36:47,670 הסרטון הזה שחשבתי שאני רוצה לחלוק ל נותן לך תחושה של מהו בדיוק 733 00:36:47,670 --> 00:36:49,280 אפשרי עד סוף הטווח. 734 00:36:49,280 --> 00:37:57,170 >> [השמעת מוסיקה] 735 00:37:57,170 --> 00:38:00,570 >> דוד Malan: זה מהשבוע זירו עד שבוע 12 בשנה האחרונה. 736 00:38:00,570 --> 00:38:05,470 >> [מחיאות כפות] 737 00:38:05,470 --> 00:38:09,520 >> דוד Malan: כטיזר, יותר מדי, באמת כדי לעורר את התיאבון שלך הוא מה 738 00:38:09,520 --> 00:38:14,580 אפשרי, ייתכן שכבר ראה, או ייתכן שבקרוב יראה, market.cs50.net, 739 00:38:14,580 --> 00:38:17,710 כלי חדש שיש לו צוות של הקורס כבר עובדים עליו, הפעם ב 740 00:38:17,710 --> 00:38:21,530 שיתוף פעולה עם הסטודנטים הרווארד סוכנויות, כך שהחל מהשנה 741 00:38:21,530 --> 00:38:24,980 וממשיך בתקווה לזה קיץ הקרוב יהיה לך תקן 742 00:38:24,980 --> 00:38:27,890 הזדמנות בקמפוס ולקנות למכור דברים שמעניינים אותך. 743 00:38:27,890 --> 00:38:32,220 ועם שותפות דרך HSA, אתה גם להיות מסוגל להוריד את הפריטים 744 00:38:32,220 --> 00:38:35,950 באחת מהחנויות הפיזיות של HSA בכמה נקודה בעתיד, כדי 745 00:38:35,950 --> 00:38:39,150 דברים פרוקסי, במיוחד כאשר אתה נסיים את הלימודים ולא בהכרח רוצה 746 00:38:39,150 --> 00:38:44,110 זורקים דברים, אבל למעשה לשלם אותו להעביר לאנשים שאולי עוקבים אחריך 747 00:38:44,110 --> 00:38:45,270 כאן בקמפוס. 748 00:38:45,270 --> 00:38:46,740 אז עוד על כך לבוא. 749 00:38:46,740 --> 00:38:49,830 >> אבל קצת יותר קונקרטי, כלי מה שיצא מCS50 בשנים האחרונות 750 00:38:49,830 --> 00:38:52,760 שנים, שבה חלק מכם עשויה להיות מוכר ואחרים שלך עשוי להיות 751 00:38:52,760 --> 00:38:57,940 googling עכשיו, בCS50.net/2x, אתה תמצא קישור להארכת כרום 752 00:38:57,940 --> 00:39:01,250 אשר הפגנתית של איך אתה יכול להשתמש ב-JavaScript, שאותה שפתנו 753 00:39:01,250 --> 00:39:06,660 בשימוש עם מגדל אייפל לפני רגע, כדי ליישם את מהירות השמעת 2x 754 00:39:06,660 --> 00:39:09,000 לכל סרטוני iSites הרווארד. 755 00:39:09,000 --> 00:39:11,880 זה משהו שנבנה לתוך נגן וידאו של CS50 עצמו. 756 00:39:11,880 --> 00:39:14,870 אבל גם את זה, אם אתה מתחיל לחפור לקוד המקור, שבו אנו יהיו 757 00:39:14,870 --> 00:39:18,840 שמחה להעמיד לרשותך, תראה איך אתה אפילו יכול לפתור בעיות כאלה, 758 00:39:18,840 --> 00:39:23,180 האצת יישומונים באתרים עם שאתה כבר מכיר היטב. 759 00:39:23,180 --> 00:39:26,630 >> אז עכשיו מילה על הקורס ו ציפיות ומה שלפנינו. 760 00:39:26,630 --> 00:39:29,445 באופן כללי, אנו אכן נאסוף כאן בימי שני ורביעי - אם כי 761 00:39:29,445 --> 00:39:31,490 ביום שישי הקרוב, נצטרך לאסוף בגלל קניות של שבוע - 762 00:39:31,490 --> 00:39:34,640 1:00-14:00, אם כי לפעמים עד 2:30. 763 00:39:34,640 --> 00:39:38,700 בהתחשב בעובדה שאתה ולכן ייתכן שתרצה או צריך לקחת חלק בכיתה בשעה 2:00 764 00:39:38,700 --> 00:39:42,480 הלאה, או אפילו לפני כן, מבינים קורס הוא תומכת של מה שנקרא 765 00:39:42,480 --> 00:39:45,900 הרשמה בו זמנית, לפיה אנו יהיו תומך בעתירה שהוגש למועצה והמודעות 766 00:39:45,900 --> 00:39:49,400 תושבך דיקנים בשמך אם יש לך אי שם בסכסוך הזה 767 00:39:49,400 --> 00:39:50,790 1:00-2:30 טווח. 768 00:39:50,790 --> 00:39:54,110 ראש לכך שכתובת אתר האינטרנט בשביל פרטים נוספים. 769 00:39:54,110 --> 00:39:57,750 >> אבל במונחים של מבנה התמיכה המאפיין CS50, לסטודנטים 770 00:39:57,750 --> 00:40:01,750 יותר ופחות נוח כאחד, אנחנו מציע מסלולים שונים של חלקים. 771 00:40:01,750 --> 00:40:04,730 וזה כמה שבועות עד לפתיחה, אבל לפני זמן רב, תתבקש כאל 772 00:40:04,730 --> 00:40:05,770 רמת הנוחות שלך. 773 00:40:05,770 --> 00:40:08,590 האם אתה בין אלה פחות נוחים, יותר נוח, או 774 00:40:08,590 --> 00:40:10,520 איפשהו באמצע? 775 00:40:10,520 --> 00:40:13,150 >> ויהיו לנו שלוש ברורים מסלולים כי כדי לספק את 776 00:40:13,150 --> 00:40:14,470 בדיוק מאותם קהלים. 777 00:40:14,470 --> 00:40:17,900 אז בשום שלב בטווח צריך אותך אפילו מרגיש כאילו אתה מתחרה 778 00:40:17,900 --> 00:40:21,390 נגד כל סטודנט עם יותר פחות או רקע ממה שאתה. 779 00:40:21,390 --> 00:40:24,160 ואכן, כמובן אמור להיות הרבה יותר שיתופי והרבה 780 00:40:24,160 --> 00:40:25,650 פתוח יותר מזה. 781 00:40:25,650 --> 00:40:29,030 >> במונחים של הקבוצות בעייתי, אתה תמצא גם שבנוסף ל 782 00:40:29,030 --> 00:40:32,130 מהדורה סטנדרטית של הבעיה של כל שבוע נקבע, כי יש לעתים קרובות "האקר 783 00:40:32,130 --> 00:40:37,010 מהדורה "שאמורה להיות ממוקדים ב5% עד 10% בערך של 784 00:40:37,010 --> 00:40:40,270 דמוגרפי שאכן בין אלה יותר נוח והייתי רוצה יותר 785 00:40:40,270 --> 00:40:43,960 אתגר מאשר התקן המהדורה של pset שמצפה. 786 00:40:43,960 --> 00:40:46,390 פרטים נוספים על אלה שיש מצא בתכנית הלימודים. 787 00:40:46,390 --> 00:40:49,430 >> אבל גם בניתן למצוא שם פרטים על הקורסים בימים מאוחרים. 788 00:40:49,430 --> 00:40:51,570 בדרך כלל בעיה מגדירה הם עקב בימי חמישי. 789 00:40:51,570 --> 00:40:55,550 עם זאת, ניתן להאריך רבים משלך מועדים בסתיו קרוב בימי חמישי עד 790 00:40:55,550 --> 00:41:00,010 ימי שישי פשוט על ידי אסיפתנו באמצע הדרך, אם אפשר לומר כך, לענות על כמה-להתחמם 791 00:41:00,010 --> 00:41:03,370 שאלות בחלק מהבעיה של השבוע ערכות, כי באופן אוטומטי 792 00:41:03,370 --> 00:41:05,710 לאחר מכן לתת לך 24 שעות נוספות. 793 00:41:05,710 --> 00:41:09,120 אנחנו גם יהיו ירידה הנמוכה ביותר שלך ציון, לפי תכנית הלימודים. 794 00:41:09,120 --> 00:41:12,170 >> כדי לתת לך תחושה של מה הבעיה ערכות הן - כי זה אכן 795 00:41:12,170 --> 00:41:15,120 הבעיה של הקורס קובעת כי סופו של דבר להגדיר כמעט כל 796 00:41:15,120 --> 00:41:18,760 החוויה של התלמיד, יותר מאשר הרצאות, יותר מסעיפים, יותר 797 00:41:18,760 --> 00:41:21,230 מרוב כל האחרים היבט של הקורס. 798 00:41:21,230 --> 00:41:25,140 בשנה שעברה, למשל, התחלנו, כמו נתחיל בשנה זו, עם שריטה. 799 00:41:25,140 --> 00:41:29,150 במיוחד ביום שישי הקרוב, נשתמש, ל הזמן של יום אחד פשוט, גרפי 800 00:41:29,150 --> 00:41:32,260 שפת תכנות, שבה אנו יהיו להתחיל בתכנות על ידי גרירה ו 801 00:41:32,260 --> 00:41:37,580 יורד חתיכות הפאזל שרק להרכיב פיזי אם זה הגיוני 802 00:41:37,580 --> 00:41:38,990 כדי לעשות זאת באופן הגיוני. 803 00:41:38,990 --> 00:41:43,460 >> בשבוע בא, אנחנו במהירות מעבר ל C, די ישן, אבל קטן מאוד ו 804 00:41:43,460 --> 00:41:48,510 שפה פשוטה שתאפשר לנו באמת ללכת מ -0 עד 60 במהלך 805 00:41:48,510 --> 00:41:52,290 של שבועות ספורים בלבד, ולאחר מכן לצבור הון את אותם כישורים וידע של 806 00:41:52,290 --> 00:41:56,160 בונה תכנות בסיסית לתוך שפות ברמה גבוהה יותר כמו PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript, ואחרים עדיין. 808 00:41:58,240 --> 00:42:02,560 >> בשנה שעברה, pset השלישי בקורס היה זה של הצפנה, 809 00:42:02,560 --> 00:42:06,380 יישום תחום ספציפי שבו אנו תלמידים מאותגרים ליישם כל 810 00:42:06,380 --> 00:42:11,140 מספר הצפנים, תוכניות שבי לטרוף או לפענח מידע, 811 00:42:11,140 --> 00:42:11,880 כדי להצפין אותו. 812 00:42:11,880 --> 00:42:16,300 למהדורת ההאקר, לעומת זאת, נתנו לתלמידי האקר קובץ 813 00:42:16,300 --> 00:42:19,900 ממחשב סטנדרטי המכיל יוניקס שמות משתמש וסיסמאות, 814 00:42:19,900 --> 00:42:22,740 האחרון שבם היו מוצפנים, והיינו קוראים תגר על האקר אלה 815 00:42:22,740 --> 00:42:26,850 תלמידים לפענח, כמיטב יכולתם, סיסמאות האלה, עדיין על ש 816 00:42:26,850 --> 00:42:27,770 אותו תחום. 817 00:42:27,770 --> 00:42:30,580 >> מירוץ, משחק שבה חלק מכם מכירים אולי. 818 00:42:30,580 --> 00:42:34,410 חתיכת זיהוי פלילי, שבו אנו מבקשים מתלמידים לשחזר נתונים שהיו 819 00:42:34,410 --> 00:42:38,530 אחרת יימחק מדיגיטלי שלי כרטיס קומפקט פלאש של המצלמה, על ידי 820 00:42:38,530 --> 00:42:42,740 בעצם כתיבת תוכנה כדי להבין, איפה היו האפסים והאחדים ב 821 00:42:42,740 --> 00:42:46,850 מצלמה דיגיטלית שהעבר הלחין גרפי JPEG? 822 00:42:46,850 --> 00:42:49,710 >> אתגר של מיני בשנה שעברה מעורב בכתיבה המהירה ביותר 823 00:42:49,710 --> 00:42:53,160 בודק איות אפשרית, מתחרה נגד חברים וחברים לכיתה אם 824 00:42:53,160 --> 00:42:53,860 הם היינו רוצים. 825 00:42:53,860 --> 00:42:56,330 יישום פאף n 'הף, תכנית דחיסה. 826 00:42:56,330 --> 00:43:01,930 ולאחר מכן לסיים את הסמסטר עם CS50 האוצר, יישום מבוסס אינטרנט עם 827 00:43:01,930 --> 00:43:06,570 שאתה יוצר אתר דמוי ETrade כדי לקנות ולמכור מניות, ולכן כדי 828 00:43:06,570 --> 00:43:09,860 לדבר, על ידי משיכת למעשה כמעט יאהו ציטוטים בזמן אמת 829 00:43:09,860 --> 00:43:10,450 האוצר. 830 00:43:10,450 --> 00:43:13,590 >> מה שלא עשה בשנה שעברה הייתה סט בעיה אחת שנותר 831 00:43:13,590 --> 00:43:14,810 עם זאת אהוב. 832 00:43:14,810 --> 00:43:18,400 אם מעולם לא הלכו shuttle.cs50.net, תראה משתמש 833 00:43:18,400 --> 00:43:19,670 ממשק קצת כמו זה. 834 00:43:19,670 --> 00:43:23,530 אבל לפני שנתיים, בכיתה פועל, באמצעות Google Maps ו 835 00:43:23,530 --> 00:43:28,570 Google Earth Plug-in וקצת של מתמצא בנהיגה ברחבי קמפוס, 836 00:43:28,570 --> 00:43:33,290 כך שהמטרה של המשחק הזה הייתה, כפי שאתה יכול לראות כמה מהפרצופים, 837 00:43:33,290 --> 00:43:37,530 הוא לנהוג ברחבי קמפוס מחפש צוות, עמיתי הוראה וCAS, ו 838 00:43:37,530 --> 00:43:40,080 כאשר אין לך, לשים אותם על אוטובוס ההסעות שלך. 839 00:43:40,080 --> 00:43:44,035 אף אחד מהם נראה ממש להיות כאן, כך אנחנו הולכים להיכנס לרמות קוד. 840 00:43:44,035 --> 00:43:47,150 >> [שחוק] 841 00:43:47,150 --> 00:43:48,430 >> מלאן דוד: יש לנו ללכת. 842 00:43:48,430 --> 00:43:49,240 בסדר. 843 00:43:49,240 --> 00:43:51,750 והנה עכשיו הוא את צוות שילב ברחבי קמפוס. 844 00:43:51,750 --> 00:43:54,530 וכמו שאתה יכול לראות, ביד ימין צד שמאל של המסך, אוטובוס ההסעות 845 00:43:54,530 --> 00:43:55,510 יש מושבים ריקים. 846 00:43:55,510 --> 00:43:59,000 והמטרה הייתה לכתוב קוד שבו כדי לדמות את זה 847 00:43:59,000 --> 00:44:01,790 נהיגה ולהרים ולהפיל הנחה של נוסעים. 848 00:44:01,790 --> 00:44:04,960 שאף אחד, גם באמצעות שפה קרא-JavaScript. 849 00:44:04,960 --> 00:44:10,030 אז מבין כי תוכניות כמו שיהיה להיות באותו המסלול שלנו זה 850 00:44:10,030 --> 00:44:10,910 שנה, גם כן. 851 00:44:10,910 --> 00:44:13,640 >> במונחים, עכשיו, של תמיכה נוספת, יש לנו שעתי עבודה. 852 00:44:13,640 --> 00:44:16,520 כפי שאתם יכולים לראות בבית שלך חדר אוכל או באננברג, 853 00:44:16,520 --> 00:44:19,280 נהיה בבית האוכל אולמות ארבעה לילות בשבוע - 854 00:44:19,280 --> 00:44:24,450 וורט, Pfoho, אליוט ואננברג בשנה זו, 20:00-23:00. 855 00:44:24,450 --> 00:44:26,830 ומה שחשבנו שאנחנו היינו עושים את זה שנה הוא משהו קצת שונה. 856 00:44:26,830 --> 00:44:29,650 >> אם שמע שמועה כי בשנה שעברה זה היה קצת מלחיץ מדי, זה 857 00:44:29,650 --> 00:44:32,800 שעתי עבודה של השנה, כפי שאנחנו מתארים בשבוע הבא, יהיה יותר אורגני, 858 00:44:32,800 --> 00:44:36,900 לפיה עם הגעה, אתה תהיה נשלח לשולחן אחד מסוים 859 00:44:36,900 --> 00:44:39,860 שבו מספר רב של אנשי צוות מחכים, ואנחנו נעשה את הדברים הרבה יותר 860 00:44:39,860 --> 00:44:40,440 באופן אורגני. 861 00:44:40,440 --> 00:44:43,740 לא עוד תור, לא יותר האייפד, אבל ולא שיש לי אינטימי יותר 862 00:44:43,740 --> 00:44:47,300 שיחות סביב שולחן ולא רק שמונה תלמידים או כך, על מנת ש 863 00:44:47,300 --> 00:44:50,880 מקורבת התחושה של מה אחרת יהיה ברמה הרבה יותר קטנה. 864 00:44:50,880 --> 00:44:54,120 >> אנו מציעים, כמו גם, את הדברים האלה אנחנו נקראים ערוצים, קטעי וידאו שצולמו ב 865 00:44:54,120 --> 00:44:57,330 קידום על ידי אחד מההוראה של הקורס בחורים, Zamyla, שבו היא 866 00:44:57,330 --> 00:45:00,690 מנחה אותך דרך הבעיה של השבוע ערכות, המציעות טיפים וטריקים עבור 867 00:45:00,690 --> 00:45:02,640 אתגרים שלפניו. 868 00:45:02,640 --> 00:45:06,230 ולהפך, אחרי סטים בעייתיים בשל, השנה, אנחנו גם לשחרר 869 00:45:06,230 --> 00:45:09,100 קליפים קטנים קוראים דיוני סיכום ש בעצם לך ללכת דרך 870 00:45:09,100 --> 00:45:13,630 פתרונות יציגים, ושניהם טובים רע, שדרכו אתה יכול להסיק כמה 871 00:45:13,630 --> 00:45:17,550 אתה יכול להיות או צריך להיות יישם הפתרון שלך. 872 00:45:17,550 --> 00:45:20,500 >> ומה אגיד שאנחנו מציעים בפעם הראשונה גם השנה, במיוחד 873 00:45:20,500 --> 00:45:23,420 עבור אותם סטודנטים שהועילו עצמם הקורס של השני 874 00:45:23,420 --> 00:45:28,580 משאבים, אבל בכל זאת נאבקות יותר מדי, כמובן 875 00:45:28,580 --> 00:45:33,030 עצמו יהיה זוג התלמידים האלה, כמו משאבים מאפשרים זאת, עם מורים, כך ש 876 00:45:33,030 --> 00:45:35,840 יש לך הרבה יותר אינטימי הזדמנות מחדרי אוכל בבית 877 00:45:35,840 --> 00:45:38,700 לאפשר לסיוע של אחד על אחד. 878 00:45:38,700 --> 00:45:42,780 >> עכשיו הצצה סופית בחלק ממשחקי הסוף באופק. 879 00:45:42,780 --> 00:45:44,580 ייתכן שאתה מכיר Hackathon CS50. 880 00:45:44,580 --> 00:45:48,120 ובכן, מגיע חודש דצמבר, משעת 8:00 אחר הצהריים עד 7:00 בבוקר, בתחילת 881 00:45:48,120 --> 00:45:51,410 קריאת תקופה, יהיה הזדמנות לאסוף עם חבריו לכיתה - 882 00:45:51,410 --> 00:45:53,130 זה יהיה בסביבות שעה 9:00 בצהריים - 883 00:45:53,130 --> 00:45:56,550 שבמהלכו אתה צולל לתוך סופי שלך יישומו של פרויקט צד 884 00:45:56,550 --> 00:45:59,910 חברים לכיתה, חברים, ומזון. 885 00:45:59,910 --> 00:46:03,680 זה יהיה בסביבות שעה 1:00 לפנות הבוקר, כאשר את המנה הראשונה של אוכל הגיעה. 886 00:46:03,680 --> 00:46:08,470 וזה על ש04:00 שנה מסוימת בHackathon CS50. 887 00:46:08,470 --> 00:46:12,000 >> אבל השיא האמיתי של הקורס הוא התכוונתי ליריד CS50, קמפוס רחב 888 00:46:12,000 --> 00:46:15,790 תערוכת פרויקטי הגמר שלך, כדי שבני משפחה וחברים כולם 889 00:46:15,790 --> 00:46:18,730 הוזמן, כפי שהמגייסים שלנו ו החברים שלנו מהתעשייה. 890 00:46:18,730 --> 00:46:22,170 זו, למשל, היא הצצה אנשים 2,000 פלוס שכבר השתתפו 891 00:46:22,170 --> 00:46:23,160 השנים האחרונות. 892 00:46:23,160 --> 00:46:27,180 ביטויים מסוג זה אינם נדירים, ובאופן דומה לעשות 893 00:46:27,180 --> 00:46:29,660 חברים לכיתה להתענג על דברים מה שהשגת. 894 00:46:29,660 --> 00:46:33,170 >> ובעצם, לשם כך, יש לנו אירוע התחלה של טווח, גם כן. 895 00:46:33,170 --> 00:46:37,400 אם דברים כמו ערעור לך את זה, או אתה לפחות סקרן לדעת מה 896 00:46:37,400 --> 00:46:41,590 זה, יודע שמסורת חדשה של הקורס נקרא יום פאזל CS50. 897 00:46:41,590 --> 00:46:45,710 וזה הונהג כמה שנים לאחור כדי באמת לאותת לקמפוס 898 00:46:45,710 --> 00:46:48,930 שמדע המחשב הוא לא על תכנות, וזה בהחלט לא 899 00:46:48,930 --> 00:46:51,960 כ מחבק רק התלמידים האלה שיש להם ניסיון קודם. 900 00:46:51,960 --> 00:46:54,200 זה באמת על פתרון בעיות באופן כללי יותר. 901 00:46:54,200 --> 00:46:57,360 >> וכך פאזל היום, במשך כמה העבר עכשיו שנים, התפתח נחמד 902 00:46:57,360 --> 00:47:00,500 שותפות עם החברים שלנו ב פייסבוק, שבו יהיה נהדר 903 00:47:00,500 --> 00:47:04,830 פרסים ופיצה מעבר לנהר ב i-המעבדה בשבת הקרובה. 904 00:47:04,830 --> 00:47:09,180 ראש לכתובת אתר שעם שתיים או שלוש חברים, אם ברצונך לקחת חלק 905 00:47:09,180 --> 00:47:10,830 במסורת חדשה זו. 906 00:47:10,830 --> 00:47:14,180 >> אז אני רוצה לשאול אותך, כי לשמור על אחד דבר בראש, ויש לנו רק 907 00:47:14,180 --> 00:47:17,070 שתי דקות בקליפ ש לסגור היום. 908 00:47:17,070 --> 00:47:19,640 73% הוא המספר לזכור. 909 00:47:19,640 --> 00:47:23,900 עוגה, יותר מדי, תמתין לכם בחוץ זה הטרנספט כפי שאנו לדחות רק 910 00:47:23,900 --> 00:47:26,710 כמה רגעים, שהוא מסורת של הקורס, גם כן. 911 00:47:26,710 --> 00:47:29,860 אבל זה ציטוט מהמפתח תכנית הלימודים של הקורס שכדאי לזכור. 912 00:47:29,860 --> 00:47:32,820 מה שחשוב בסופו בקורס זה הוא לא כל כך שבו אתה בסופו של 913 00:47:32,820 --> 00:47:36,580 יחסית לחבריו לכיתה שלך, אבל שבו לך, בשבוע 12, בסופו של קרוב משפחה כדי 914 00:47:36,580 --> 00:47:37,960 את עצמך בשבוע 0. 915 00:47:37,960 --> 00:47:43,670 >> אבל הצצה שנעזוב אותך עם לכאן היום היא אחד שעבר את זה כאן 916 00:47:43,670 --> 00:47:47,580 על ידי אותו דניאל, שעשה וידאו wrdly רק לפני רגע. 917 00:47:47,580 --> 00:47:50,000 אני משאיר אותך עם המבט הזה של מה שלפנינו. 918 00:47:50,000 --> 00:47:53,360 וכמו שאנחנו עושים את זה, אם היינו יכול CS50 צוות מהחלק הקדמי של החדר 919 00:47:53,360 --> 00:47:57,280 לבוא על עד השלב לצייר כל יותר מתמונה ויזואלית כאל 920 00:47:57,280 --> 00:47:59,100 מה מחכה לכם בשנה זו - 921 00:47:59,100 --> 00:48:00,350 מקבל מביך. 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 אנחנו נסיים בזה כאן על המסך. 924 00:48:05,188 --> 00:48:18,634 >> [השמעת מוסיקה] 925 00:48:18,634 --> 00:48:21,124 >> דוד Malan: זה CS50. 926 00:48:21,124 --> 00:50:00,226 >> [מוסיקה - מאט וקים, "זה בסדר"] 927 00:50:00,226 --> 00:50:03,245 >> רמקול 1: אני אוהב את CS50 יותר מחתולים. 928 00:50:03,245 --> 00:50:06,030 >> רמקול 2: Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [שחוק] 930 00:50:06,990 --> 00:50:08,140 >> מלאן דוד: זה, אם כן, הוא CS50. 931 00:50:08,140 --> 00:50:10,050 אנחנו אראה אותך ביום שישי. 932 00:50:10,050 --> 00:50:13,370 >> [מחיאות כפות ומריעות] 933 00:50:13,370 --> 00:50:17,540 >> קריין: בCS50 הבא, על הבמה הדגמה לא הולכת כמתוכנן. 934 00:50:17,540 --> 00:50:19,080 >> מלאן דוד: אנחנו רוצים למצוא מייק סמית בספר הטלפון הזה. 935 00:50:19,080 --> 00:50:20,380 ובכן, מה הם האינסטינקטים שלך? 936 00:50:20,380 --> 00:50:23,750 אני יכול לקפוץ בערך לאמצע ספר טלפונים, להציץ, לראות כי 937 00:50:23,750 --> 00:50:26,830 אני בM, ואני יודע עכשיו שמייק סמית היא לא לשמאל. 938 00:50:26,830 --> 00:50:27,840 הוא חייב להיות בצד ימין. 939 00:50:27,840 --> 00:50:30,515 ולכן בשלב זה, אנחנו ממש יכול לקרוע - 940 00:50:30,515 --> 00:50:33,300 בשלב זה, אנחנו ממש יכולים לקרוע - 941 00:50:33,300 --> 00:50:36,490 בנקודה זו, אנו יכולים השאלה לקרוע את ספר טלפונים במחצית. 942 00:50:36,490 --> 00:50:38,954 >> [פריטה ukelele]