1 00:00:00,000 --> 00:00:03,440 >> [השמעת מוסיקה] 2 00:00:03,440 --> 00:01:57,217 3 00:01:57,217 --> 00:02:00,710 >> [מחיאות כפות] 4 00:02:00,710 --> 00:02:05,700 5 00:02:05,700 --> 00:02:09,669 >> דוד י מלאן: זה CS50, המבוא של אוניברסיטת הרווארד 6 00:02:09,669 --> 00:02:12,370 לאינטלקטואל חברות של מדעי מחשב 7 00:02:12,370 --> 00:02:14,180 ואת האמנות של תכנות. 8 00:02:14,180 --> 00:02:17,530 עכשיו, אם אתם בין אלה ש בכל שנה יושבת כאן 9 00:02:17,530 --> 00:02:21,450 עם קצת עצבים במוח שלך, כגון כי אתה לא חושב שאתה משייך כאן, 10 00:02:21,450 --> 00:02:24,270 אתה חושב שרוב מי שמיושב סביבך 11 00:02:24,270 --> 00:02:27,730 יודע הרבה יותר ממה שאתה, הוא אכן נוח יותר ממה שאתה במחשב 12 00:02:27,730 --> 00:02:30,430 מדע או מחשבים באופן כללי יותר, מבין 13 00:02:30,430 --> 00:02:36,140 כי 78% מהתלמידים שעכשיו לקחת לי CS50 ללא ניסיון קודם. 14 00:02:36,140 --> 00:02:39,570 >> ואכן, יש 100 נקודות יש בתצוגה, 78 ש 15 00:02:39,570 --> 00:02:43,540 ירוק מוצק, שאומר שאתה, אם אתה בקרב דמוגרפי ש, 16 00:02:43,540 --> 00:02:46,420 הם בחברה טובה מאוד כאן והלאה. 17 00:02:46,420 --> 00:02:50,320 ואם אתה במקום בין 22% מתלמידי CS50 שעושים אכן 18 00:02:50,320 --> 00:02:53,920 יש להם ניסיון קודם, בין אם ב תיכון או תכנית אחרת, 19 00:02:53,920 --> 00:02:56,430 להבין שאתה, יותר מדי, יהיה להיות מאותגר בקורס. 20 00:02:56,430 --> 00:02:59,930 >> האם יש לנו מסלולים שונים לא רק לתלמידים פחות נוח ויותר 21 00:02:59,930 --> 00:03:03,789 נוח כאחד בסעיפים, אנחנו גם מה שנקרא מהדורות האקר 22 00:03:03,789 --> 00:03:06,080 רוב הבעיה קובעת ש יאתגר את התלמידים האלה 23 00:03:06,080 --> 00:03:09,650 עם זה ניסיון נוסף כדי לחקור חומר דומה 24 00:03:09,650 --> 00:03:12,140 אבל מיותר נקודת מבט מתוחכם. 25 00:03:12,140 --> 00:03:13,900 >> אבל מה הוא מדעי מחשב? 26 00:03:13,900 --> 00:03:17,750 ובכן, בסופו, מה קורה ל עניין כפי שאתה לחקור תחום זה הוא לא 27 00:03:17,750 --> 00:03:20,500 כל כך הרבה שבו אתה בסופו של ביחס לחבריו לכיתה שלך, 28 00:03:20,500 --> 00:03:25,350 אבל איפה אתה בעצמך בסופו של שבוע לעומת שבו אתה מתחיל כאן 12 29 00:03:25,350 --> 00:03:26,720 בשבוע אפס. 30 00:03:26,720 --> 00:03:31,850 עכשיו מחשב science-- גם, בואו קורא לזה המדע של computation-- 31 00:03:31,850 --> 00:03:35,910 שבו חישוב הוא באמת רק דרך מפוארת לומר, לוקח קצת קלט, 32 00:03:35,910 --> 00:03:39,460 לייצר כמה פלט, ו עושה זאת על ידי אלגוריתמים פועלים, 33 00:03:39,460 --> 00:03:43,700 סטים של הוראות לפתרון איזו בעיה בתשומות אלה 34 00:03:43,700 --> 00:03:48,460 על מנת לייצר כמה פלט או פתרון שבו אתה מעוניין. 35 00:03:48,460 --> 00:03:51,310 >> אז היו לנו לאחרונה ההזדמנות לנסוע החוצה 36 00:03:51,310 --> 00:03:53,170 לקליפורניה כדי להיפגש עם בוגרת. 37 00:03:53,170 --> 00:03:54,650 קורא לה סוזן וושיקי. 38 00:03:54,650 --> 00:03:57,190 והיא רוצה לדבר לך כאן בוידאו 39 00:03:57,190 --> 00:04:01,690 להעיד עד כמה ישים אפילו רק טעימה של מחשב 40 00:04:01,690 --> 00:04:03,770 מדע ב רמת היכרות יכולה להיות. 41 00:04:03,770 --> 00:04:06,870 גם אם אתה לא הולך על לרדוף אחרי מדעי מחשב כתחום, 42 00:04:06,870 --> 00:04:09,330 או אפילו הנדסה, או גזע באופן כללי יותר, 43 00:04:09,330 --> 00:04:12,360 תראה, למעשה, כיצד מסוים כמובן כל כך השפיעו על החיים שלה. 44 00:04:12,360 --> 00:04:16,630 והיא רק לקחה אותו כשהיא היה בכיר כאן בהרווארד המכללה. 45 00:04:16,630 --> 00:04:19,482 >> אם היינו יכול לעמעם את האורות לסוזן. 46 00:04:19,482 --> 00:04:20,690 סוזן וושיקי: שלום, עולם. 47 00:04:20,690 --> 00:04:22,100 אני סוזן וושיקי. 48 00:04:22,100 --> 00:04:24,110 אני המנכ"ל של YouTube. 49 00:04:24,110 --> 00:04:29,150 ואני לקחתי את CS50 כשהייתי בכיר באוניברסיטת הרווארד בשנת 1990. 50 00:04:29,150 --> 00:04:31,220 אני היה למעשה היסטוריה וגדול ספרות. 51 00:04:31,220 --> 00:04:36,760 >> ובקיץ שלי הזוטר, הבנתי שאולי אני 52 00:04:36,760 --> 00:04:39,060 רציתי ללמוד משהו על מחשבים. 53 00:04:39,060 --> 00:04:40,930 וכך, חזרתי. 54 00:04:40,930 --> 00:04:42,500 לקחתי CS50. 55 00:04:42,500 --> 00:04:46,940 זה היה קשה, אבל זה היה רוב הכיתה המדהימה לקחתי. 56 00:04:46,940 --> 00:04:49,630 >> זה שינה את איך שאני חושב על כל דבר. 57 00:04:49,630 --> 00:04:55,810 וכאשר סיימתי את לימודים באוניברסיטת הרווארד בשנת 1990, הלכתי לעמק הסיליקון. 58 00:04:55,810 --> 00:04:57,140 ויש לי עבודה. 59 00:04:57,140 --> 00:05:00,150 ואני כבר עובד בטק מאז. 60 00:05:00,150 --> 00:05:02,650 דוד י מלאן: עכשיו מה סוזן לא הזכיר בסרט הזה, 61 00:05:02,650 --> 00:05:05,340 שזה בעצם בה מוסך שהייתה גוגל עצמה 62 00:05:05,340 --> 00:05:07,420 נוסד על ידי לארי וסרגיי. 63 00:05:07,420 --> 00:05:11,169 >> עכשיו אנחנו גם הגענו לחברים שלנו בcode.org, ארגון ש 64 00:05:11,169 --> 00:05:13,460 בשנה האחרונה היה אנשים מקבלים במיוחד 65 00:05:13,460 --> 00:05:16,520 להתרגש ממדע מחשב ותכנות, בפרט. 66 00:05:16,520 --> 00:05:20,590 אבל ראוי לציין שתכנות לא מדע כשלעצמו מחשב. 67 00:05:20,590 --> 00:05:22,090 מדעי מחשב הוא לא תכנות. 68 00:05:22,090 --> 00:05:24,560 ולא בתכנות הוא רק tool-- עם שכל שלך 69 00:05:24,560 --> 00:05:27,510 יהיה כל כך טוב מוכר על ידי end-- של הסמסטר 70 00:05:27,510 --> 00:05:30,650 כזאת שאתה יכול להגיש בקשה לא רק לקורסים עתידיים בCS 71 00:05:30,650 --> 00:05:33,670 אבל לכל מה ששדות שמן אתה בא, במדעי רוח, 72 00:05:33,670 --> 00:05:36,090 מדעי חברה, טבעי מדע, או משהו דומה. 73 00:05:36,090 --> 00:05:39,740 >> ואכן, לאפשר כמה אחר בוגרים ועמיתיהם 74 00:05:39,740 --> 00:05:43,400 לדבר עם התחולה של השדה שמחכה. 75 00:05:43,400 --> 00:05:52,340 76 00:05:52,340 --> 00:05:57,350 >> ביל גייטס: אני היה 13 כש יש לי ראשון גישה למחשב. 77 00:05:57,350 --> 00:06:00,485 >> ג'ק דורסי: ההורים שלי קנה לי מקינטוש בשינה 1984 78 00:06:00,485 --> 00:06:01,640 כשהייתי בן שמונה שנים בן. 79 00:06:01,640 --> 00:06:02,990 >> מארק צוקרברג: הייתי בכיתה ו '. 80 00:06:02,990 --> 00:06:04,670 >> 1 SPEAKER: למדתי לקודד במכללה. 81 00:06:04,670 --> 00:06:09,080 >> Ruchi SANGHVI: שנת א ', ראשון סמסטר, מבוא למדעי מחשב. 82 00:06:09,080 --> 00:06:11,850 >> ביל גייטס: כתבתי תכנית ששחק טיק, טק, הבוהן. 83 00:06:11,850 --> 00:06:14,100 >> DREW יוסטון: אני חושב שזה היה התחלות די צנועות. 84 00:06:14,100 --> 00:06:16,370 אני חושב שהתכנית הראשונה כתבתי שאל דברים כמו, 85 00:06:16,370 --> 00:06:17,820 מה הצבע האהוב עליך? 86 00:06:17,820 --> 00:06:18,696 או בן כמה אתה? 87 00:06:18,696 --> 00:06:21,070 ELENA SILENOK: נודע לי לראשונה איך לעשות עיגול ירוק 88 00:06:21,070 --> 00:06:23,670 וריבוע אדום מופיע על המסך. 89 00:06:23,670 --> 00:06:25,420 גייב ניואל: הראשון פעם שאני בעצם לא הייתי לי 90 00:06:25,420 --> 00:06:27,360 משהו לבוא ולומר, שלום, עולם. 91 00:06:27,360 --> 00:06:29,710 ואני עשיתי את מחשב לעשות את זה. 92 00:06:29,710 --> 00:06:30,850 זה היה פשוט מדהים. 93 00:06:30,850 --> 00:06:33,224 >> מארק צוקרברג: ללמוד איך לתכנית לא להתחיל 94 00:06:33,224 --> 00:06:35,450 כרוצה ללמוד כל מדעי מחשב 95 00:06:35,450 --> 00:06:38,630 או מנסה להשתלט זה משמעת או משהו כזה. 96 00:06:38,630 --> 00:06:41,591 זה פשוט התחיל בגלל ש רציתי לעשות את הדבר הפשוט הזה. 97 00:06:41,591 --> 00:06:44,340 רציתי לעשות משהו ש היה כיף לעצמי ואחיותיי. 98 00:06:44,340 --> 00:06:46,399 >> ואני כתבתי תכנית הקטנה הזה. 99 00:06:46,399 --> 00:06:48,440 ואז בעצם רק הוסיף קצת לזה. 100 00:06:48,440 --> 00:06:49,930 ואז כשאני צריך ללמוד משהו חדש, 101 00:06:49,930 --> 00:06:52,210 הסתכלתי עליו, בין אם ב ספר או באינטרנט, 102 00:06:52,210 --> 00:06:53,240 ולאחר מכן הוסיף קצת לזה. 103 00:06:53,240 --> 00:06:56,300 >> DREW יוסטון: זה ממש לא בניגוד נגינה או משהו 104 00:06:56,300 --> 00:07:00,007 או משחק ספורט. 105 00:07:00,007 --> 00:07:01,090 דוד י מלאן: בסדר. 106 00:07:01,090 --> 00:07:04,120 אז תן לנו עכשיו למעשה לצלול בקצת יותר לעומק. 107 00:07:04,120 --> 00:07:07,430 מה הן תשומות ותפוקות אלה שאנחנו מדברים כאן? 108 00:07:07,430 --> 00:07:09,110 >> אז מה דעתך על משהו פשוט? 109 00:07:09,110 --> 00:07:12,120 אתה בוודאי יודע, גם אם יש לך אין היכרות עם מדעי מחשב 110 00:07:12,120 --> 00:07:16,570 היא, שמחשבים איכשהו להשתמש ומבין רק אפסים ואחדים. 111 00:07:16,570 --> 00:07:20,500 אבל איך זה יכול אולי לתת כמה שולחנות העבודה של הרבה היום ומחשבים ניידים כאחד 112 00:07:20,500 --> 00:07:21,280 יכול לעשות? 113 00:07:21,280 --> 00:07:24,310 >> DNA של היום, רק האלפבית שהם מבינים 114 00:07:24,310 --> 00:07:26,410 הוא אפס או אחד. 115 00:07:26,410 --> 00:07:27,470 ובכן, לשקול את זה. 116 00:07:27,470 --> 00:07:30,840 אנחנו, בני אדם, נוטים להשתמש שיטה עשרונית. "דצמבר", כלומר 10. 117 00:07:30,840 --> 00:07:33,970 וזה 10 כי יש לנו 10 ספרות, 0 עד תשע. 118 00:07:33,970 --> 00:07:36,180 >> עכשיו מחשבים, לעומת זאת, נוטה להשתמש בינארי. 119 00:07:36,180 --> 00:07:37,270 "Bi", כלומר שני. 120 00:07:37,270 --> 00:07:39,560 אז הם נוטים להשתמש רק אפס ואחד. 121 00:07:39,560 --> 00:07:42,680 אבל מתברר, שאפילו רק עם אפסים ואחדים, ש 122 00:07:42,680 --> 00:07:45,900 הוא אלף בית גדול מספיק שבה לייצג ביותר 123 00:07:45,900 --> 00:07:48,490 כל פיסת המידע שאתה רוצה, בין אם זה מספר, 124 00:07:48,490 --> 00:07:52,100 בין אם זה מכתב, בין אם זה גרפיקה או וידאו על המסך. 125 00:07:52,100 --> 00:07:57,140 >> קח, לדוגמא, איך אנחנו בני אדם בדרך כלל לפרש את המספר הזה כאן. 126 00:07:57,140 --> 00:08:00,010 זה רק שלוש ספרות, אחד, שתיים, שלוש. 127 00:08:00,010 --> 00:08:04,570 אבל אנחנו יודעים את המספר הזה מולד עכשיו כ123. 128 00:08:04,570 --> 00:08:05,510 אבל למה זה? 129 00:08:05,510 --> 00:08:07,570 >> ובכן, אם אתה חושב לחזור לאולי בבית ספר יסודי, 130 00:08:07,570 --> 00:08:11,700 אתה כנראה לימד לחשוב על מספרים אלה כבעמודות, 131 00:08:11,700 --> 00:08:14,700 שבו אחד הוא במאות מקום, שני נמצא במקום עשרות, 132 00:08:14,700 --> 00:08:16,360 והשלושה הוא במקום אלה. 133 00:08:16,360 --> 00:08:17,790 למה זה שימושי באמת? 134 00:08:17,790 --> 00:08:19,665 ובכן, תחשוב על חשבון פשוט סופר 135 00:08:19,665 --> 00:08:22,219 שכולנו היה עושה כבר שנים. 136 00:08:22,219 --> 00:08:24,510 ביעילות, אם יש לך אחד במקום מאות, 137 00:08:24,510 --> 00:08:29,610 תעשה את המתמטיקה מהירה 100 פעמים 1 ועוד 10 פעמים 2-- 138 00:08:29,610 --> 00:08:33,059 כי שני הוא בעשרות place-- בתוספת 1 פעמים 3-- 139 00:08:33,059 --> 00:08:34,830 כי שלושה נמצאים במקום אלה. 140 00:08:34,830 --> 00:08:37,039 אז, כמובן, אם אנחנו למעשה להכפיל את זה, 141 00:08:37,039 --> 00:08:39,600 מה שאנחנו באמת מייצגים עם pattern-- אחד זה 142 00:08:39,600 --> 00:08:46,150 שני לוש-- הוא 100 תוספת 20 בתוספת 3, אשר, כמובן, הוא 123. 143 00:08:46,150 --> 00:08:51,130 >> עכשיו באמת בינארי, ומחשבים, ביסודו מדבר באותה השפה 144 00:08:51,130 --> 00:08:51,680 שאנחנו עושים. 145 00:08:51,680 --> 00:08:53,400 רק שיש להם אלף בית קטן יותר. 146 00:08:53,400 --> 00:08:57,100 אז יש לי מחשבים רק אפסים ואלה העומדים לרשותם. 147 00:08:57,100 --> 00:09:02,500 אז בעוד שאנו, בני האדם שיש לי במהות סמכויותיו של 10 בכל אחד מאלה places-- 148 00:09:02,500 --> 00:09:06,810 10 לאפס, 10 לאחד, עשר לשתיים, נותנים לך 110 ו100 149 00:09:06,810 --> 00:09:07,700 בהתאמה. 150 00:09:07,700 --> 00:09:12,140 >> בגלל שיש לי מחשבים רק שני ערכים הם יכולים להבין, אפס ואחד, 151 00:09:12,140 --> 00:09:16,600 הם צריכים להשתמש בערכים שונים בטורים אלה, אחד, שתיים, ארבעה. 152 00:09:16,600 --> 00:09:20,480 ואם אנו ממשיכים בדרך, שמונה, 16, 32, 64, וכן הלאה. 153 00:09:20,480 --> 00:09:24,220 אבל הדפוס ו מנטליות היא בדיוק אותו הדבר. 154 00:09:24,220 --> 00:09:27,340 >> אז לפי היגיון, מי שזה, איך היית אני הולך על המייצג את המספר 155 00:09:27,340 --> 00:09:28,530 אחד בינארי? 156 00:09:28,530 --> 00:09:33,080 אם מעולם לא חשבו אפילו על זה לפני, מה תחושת הבטן שלך אומרת? 157 00:09:33,080 --> 00:09:33,777 >> קהל: אחת. 158 00:09:33,777 --> 00:09:34,610 דוד י מלאן: אחת. 159 00:09:34,610 --> 00:09:35,660 בדיוק. 160 00:09:35,660 --> 00:09:38,100 אנחנו פשוט צריכים אחד ב מקום אלה בגלל האפסים 161 00:09:38,100 --> 00:09:40,610 תספיק כדי לתת לנו ארבעה ולא שניים איש. 162 00:09:40,610 --> 00:09:42,440 אז אחד כפול אחד שווה אחד. 163 00:09:42,440 --> 00:09:43,940 עכשיו דברים קצת מעניינים. 164 00:09:43,940 --> 00:09:46,830 אם אני רוצה לייצג ב בינארית המספר two-- אבל, 165 00:09:46,830 --> 00:09:49,790 שוב, גם אם יש לך אף פעם לא דברתי בשפה זו לפני, 166 00:09:49,790 --> 00:09:54,680 איך לעשות שאנו מייצגים בינארי אנו, בני אדם הערך יודעים כשני? 167 00:09:54,680 --> 00:09:55,570 אפס אחד אפס. 168 00:09:55,570 --> 00:09:57,620 פשוט לשים אחד ב עמודה שאתה רוצה את זה. 169 00:09:57,620 --> 00:09:59,560 >> עכשיו זה מתחיל להיות די קל כנראה עכשיו. 170 00:09:59,560 --> 00:10:02,950 אז אם אני רוצה לייצג לוש-- אין של שלוש עמודות. 171 00:10:02,950 --> 00:10:06,770 אז, שוב, אני יכול עכשיו להוסיף את הערכים הללו יחד על ידי הצבת אחד כאן. 172 00:10:06,770 --> 00:10:10,320 אז 2 פעמים 1 פלוס 1 פעמים 1 היא, כמובן, 3. 173 00:10:10,320 --> 00:10:13,480 >> עכשיו דברים מקבלים קצת כיף ב כי אלה הפכו כעת אפסים. 174 00:10:13,480 --> 00:10:15,480 ולייצג את ארבעה, אני מקבל את זה. 175 00:10:15,480 --> 00:10:19,310 ואם אנחנו להגדיל לאט here-- שיהיו חמש. 176 00:10:19,310 --> 00:10:20,700 זה יהיה שש. 177 00:10:20,700 --> 00:10:22,100 זה יהיה שבע. 178 00:10:22,100 --> 00:10:25,310 >> אבל עכשיו נדמה לי שיש לי נתקל בבעיה. 179 00:10:25,310 --> 00:10:30,520 איך ייתכן שאני הולך על ייצוג eight-- יהיה הערך הבא. 180 00:10:30,520 --> 00:10:31,900 כן, ולכן אנחנו צריכים ביטים חדשים. 181 00:10:31,900 --> 00:10:33,899 ואכן, אם יש לך שמעתי את המשפט הזה לפני, 182 00:10:33,899 --> 00:10:37,380 ביטים, זה רק קיצור של ספרה בינארית, אפס או אחד. 183 00:10:37,380 --> 00:10:41,520 >> וכך אני דווקא לייצג רק שלוש חתיכות כאלה כאן. 184 00:10:41,520 --> 00:10:44,900 אבל אם היה לי דרך של אחסון לא שלוש חתיכות שונות, אבל ארבעה, 185 00:10:44,900 --> 00:10:47,250 בוודאי שאני יכול לייצג שמונה, ולאחר מכן תשע, ולאחר מכן 186 00:10:47,250 --> 00:10:49,400 10, ואפילו גבוה יותר ויותר. 187 00:10:49,400 --> 00:10:52,140 >> אבל זה אז קורא לשאלה איך אנחנו יכולים 188 00:10:52,140 --> 00:10:54,540 ללכת על ייצוג אלה דברים במקום הראשון. 189 00:10:54,540 --> 00:10:56,950 זה דבר אחד לצייר אותם כאן בשקופית, 190 00:10:56,950 --> 00:11:00,660 אבל איך אתה מייצג אותם אם אתה מכשיר מכאני? 191 00:11:00,660 --> 00:11:04,390 מה מחשב עושה ל מייצג את התשומות ותפוקות ש 192 00:11:04,390 --> 00:11:09,020 ביסודו להגדיר חישוב בסופו של היום? 193 00:11:09,020 --> 00:11:12,090 >> ובכן, מה עם משהו סופר פשוט כמו זה? 194 00:11:12,090 --> 00:11:13,200 זה רק הנורה. 195 00:11:13,200 --> 00:11:15,460 ואני יכול לגרום לזה הנורה ללכת על 196 00:11:15,460 --> 00:11:17,920 על ידי הפיכה כמה חשמל ובאלקטרונים המאפשרים 197 00:11:17,920 --> 00:11:22,585 לזרום דרך, אשר משנה מדינה או הערך שלה, אם אפשר לומר כך. 198 00:11:22,585 --> 00:11:24,460 לדוגמא, זה הוא מנורת שולחן בית ספר ישן 199 00:11:24,460 --> 00:11:27,250 כאן עם אחד כזה הנורה בתוכו. 200 00:11:27,250 --> 00:11:29,940 ועכשיו זה לא באמת עושה משהו מועיל. 201 00:11:29,940 --> 00:11:32,680 אבל ברגע שאני מחבר אותו לשקע חשמלי 202 00:11:32,680 --> 00:11:36,390 ולאחר מכן להשתמש switch-- זה או אנחנו יכולים אפילו לקרוא לזה טרנזיסטור 203 00:11:36,390 --> 00:11:39,970 או לחשוב על זה כsuch-- עכשיו אני יכול לייצג גם 204 00:11:39,970 --> 00:11:44,120 ערך זה, שבו הנורה של ברור שאת, או ערך זה. 205 00:11:44,120 --> 00:11:46,060 ערך זה או ערך זה. 206 00:11:46,060 --> 00:11:47,520 ערך זה וכן הלאה. 207 00:11:47,520 --> 00:11:51,220 >> אז בתוך מחשב, ככל הנראה, הן פיסות קטנות בהרבה של חומרה, 208 00:11:51,220 --> 00:11:52,970 אבל זה בסופו של הדבר היום פשוט יש לי 209 00:11:52,970 --> 00:11:55,360 להשתמש electricity-- אולי ללכוד it-- 210 00:11:55,360 --> 00:11:59,730 ולאחר מכן גם לשמור משהו או לשמור את משהו. 211 00:11:59,730 --> 00:12:02,021 כמובן, זה לא מעניין במיוחד לעשות 212 00:12:02,021 --> 00:12:03,270 רק עם הנורה אחת. 213 00:12:03,270 --> 00:12:06,726 >> למעשה, כמה גבוה אני יכול לספור ב בינארי עם מנורת שולחן זה כאן? 214 00:12:06,726 --> 00:12:07,420 >> קהל: אחת. 215 00:12:07,420 --> 00:12:08,545 >> דוד י מלאן: אחת, נכון? 216 00:12:08,545 --> 00:12:11,020 אני צריך מנורות שולחן יותר אם אני באמת רוצה לספור גבוה יותר. 217 00:12:11,020 --> 00:12:12,210 אבל אנחנו יכולים לעשות יותר טוב מזה. 218 00:12:12,210 --> 00:12:14,460 בגלל הנורות ש אנחנו שמנו בדברים האלה 219 00:12:14,460 --> 00:12:17,730 הם נורות מגדלת למעשה מ פעם תאפשר. 220 00:12:17,730 --> 00:12:20,310 והם למעשה נורות ברשת. 221 00:12:20,310 --> 00:12:23,160 וצרורות של חברות לעשות את הדברים האלה בימים אלה. 222 00:12:23,160 --> 00:12:25,190 >> אבל מתברר ש זה אחד בפרט 223 00:12:25,190 --> 00:12:27,680 מגיע עם לפי תכונה אתה יכול לשנות את הצבעים שלה. 224 00:12:27,680 --> 00:12:30,810 כך למשל, אם אתה מעוטר החדר במעונות שלך 225 00:12:30,810 --> 00:12:33,200 עם כמה אור אלה נורות, תלוי במצב הרוח שלך, 226 00:12:33,200 --> 00:12:35,366 תלוי מי מגיע ב, תלוי במזג האוויר, 227 00:12:35,366 --> 00:12:37,360 תלוי בזמן של יום, אתה בעצם יכול 228 00:12:37,360 --> 00:12:40,300 לשנות את הצבעים של הנורות בחדר שלך. 229 00:12:40,300 --> 00:12:43,740 וזה בגלל שהאור הבאים נורות ואחרים כמותו יש מה 230 00:12:43,740 --> 00:12:48,010 נקרא API, יישום ממשק תכנות, ש 231 00:12:48,010 --> 00:12:50,920 הוא נושא שבו אתה אהיה גם מכיר עד סוף הסמסטר. 232 00:12:50,920 --> 00:12:53,710 >> וזו רק אשליה, דרך נסתר לומר, 233 00:12:53,710 --> 00:12:57,570 אתה יכול לתכנת את האור אלה נורות לעשות כרצונך. 234 00:12:57,570 --> 00:13:00,360 אתה יכול לשלוח להם הודעות בדיוק כמו שאתה, אדם, 235 00:13:00,360 --> 00:13:03,640 יכול לשלוח הודעה לשרת אינטרנט אומר, תן לי את החדשות של היום 236 00:13:03,640 --> 00:13:05,110 או לתת לי את הדוא"ל שלי. 237 00:13:05,110 --> 00:13:08,010 >> אתה יכול לשלוח מסתורי יותר הודעות לנורות אלה 238 00:13:08,010 --> 00:13:09,700 לומר, להפעיל ולכבות. 239 00:13:09,700 --> 00:13:11,370 אבל זה לא כל כך מעניין. 240 00:13:11,370 --> 00:13:14,280 אתה יכול להגיד, להפעיל אדום, להפעיל ירוק, להפעיל כחול, 241 00:13:14,280 --> 00:13:15,990 כל עם אותה הנורה. 242 00:13:15,990 --> 00:13:20,990 ואתה יכול גם, עם קצת יותר מתמצא, אומר, להפוך את עצמך לכחול 243 00:13:20,990 --> 00:13:24,710 כאשר זה יום קודר מחוץ, למשל. 244 00:13:24,710 --> 00:13:27,910 זה באמת יכול לתקן לתוך API ומזג אוויר לגלות 245 00:13:27,910 --> 00:13:32,260 מה מזג האוויר, או את הזמן של יום, או גורמים אחרים כגון. 246 00:13:32,260 --> 00:13:35,550 >> אז, למעשה, שני של חברי צוות של CS50 עצמו, 247 00:13:35,550 --> 00:13:38,827 דן ברדלי ואנסל דאף כאן, שנרכש באדיבותו 248 00:13:38,827 --> 00:13:40,410 שלנו חבורה של נורות אלה כל. 249 00:13:40,410 --> 00:13:42,910 והם בנו CS50 של נורות אי פעם בינארי ראשון, 250 00:13:42,910 --> 00:13:46,850 שבו אנחנו כבר ייצגנו here-- עם magnets-- קצת השובב האלה 251 00:13:46,850 --> 00:13:49,780 מצייני המיקום השונים רמזתי רק לפני קצת. 252 00:13:49,780 --> 00:13:52,572 >> אז דרך לכאן הוא מקום אלה, שני, ארבעה. 253 00:13:52,572 --> 00:13:54,030 ואנחנו לא ראינו גבוהים יותר מזה. 254 00:13:54,030 --> 00:13:55,613 אבל, כמובן, שהם כוחות של שני. 255 00:13:55,613 --> 00:13:59,490 שמונה, 16, 32, 64, ו128. 256 00:13:59,490 --> 00:14:03,320 אז אם אני עכשיו רוצה להיות קצת מגדלת מאשר באמצעות מתג בית ספר ישן זה, 257 00:14:03,320 --> 00:14:07,310 יש לי כאן באייפד זה ממשק פשוט סופר 258 00:14:07,310 --> 00:14:10,440 כי דן ברדלי, לשעבר סטודנט ובחור עכשיו מלמד, 259 00:14:10,440 --> 00:14:13,510 programed באמצעות כמה HTML וJavaScript, ש 260 00:14:13,510 --> 00:14:15,685 הם סימון ותכנות שפות בהתאמה. 261 00:14:15,685 --> 00:14:17,560 ואתה כנראה יכול see-- אפילו בback-- 262 00:14:17,560 --> 00:14:21,670 יש יתרון גדול ומינוס גדול, בתוספת כפתור אחד לכל אחת מהנורות הללו. 263 00:14:21,670 --> 00:14:25,740 ומה זה הולך כדי לאפשר לי אין הוא, למשל, לחץ בתוספת 264 00:14:25,740 --> 00:14:28,250 ועכשיו מייצג, של כמובן, מה מספר? 265 00:14:28,250 --> 00:14:28,750 אחת. 266 00:14:28,750 --> 00:14:30,220 ואני יכול להכות אותו שוב. 267 00:14:30,220 --> 00:14:31,480 שני. 268 00:14:31,480 --> 00:14:32,800 שלוש. 269 00:14:32,800 --> 00:14:33,950 ארבעה. 270 00:14:33,950 --> 00:14:35,200 חמש. 271 00:14:35,200 --> 00:14:36,360 שש. 272 00:14:36,360 --> 00:14:36,880 שבע. 273 00:14:36,880 --> 00:14:40,740 >> והנה עכשיו אנחנו מקבלים גלגול ש, אבל יש לנו קצת רביעי הפעם, 274 00:14:40,740 --> 00:14:42,180 אז עכשיו יש לנו שמונה. 275 00:14:42,180 --> 00:14:44,000 אז אנחנו יכולים לעשות את זה די הרבה זמן. 276 00:14:44,000 --> 00:14:46,530 למעשה, במאמר מוסגר, כמה גבוהה אנחנו יכולים לסמוך? 277 00:14:46,530 --> 00:14:48,318 כל אחד? 278 00:14:48,318 --> 00:14:49,270 >> קהל: 255. 279 00:14:49,270 --> 00:14:51,420 >> דוד י מלאן: 255, נכון? 280 00:14:51,420 --> 00:14:54,900 אל תדאגו יותר מדי לגבי המתמטיקה ל עכשיו, אבל זה מספר די הגון. 281 00:14:54,900 --> 00:14:59,140 אבל זה דווקא כן קשור רק חתיכות כמה ממידע, 282 00:14:59,140 --> 00:15:01,760 כמו מכתב, או גרפי שאנחנו יכולים לייצג. 283 00:15:01,760 --> 00:15:02,697 >> אבל לא משנה לעת עתה. 284 00:15:02,697 --> 00:15:04,530 אני הולך קדימה ולהפוך את כולם לדרך. 285 00:15:04,530 --> 00:15:09,670 ואם אני יכול, אני רוצה לבקש מתנדב, volunteer-- הראשון שלנו 286 00:15:09,670 --> 00:15:11,342 הו, hello-- על במה. 287 00:15:11,342 --> 00:15:14,050 המלכוד הוא שאתה צריך להיות נוח מופיע, כמו שאתה באופן ברור 288 00:15:14,050 --> 00:15:17,421 נמצא מול כל חבריו לכיתה שלך, כמו גם באינטרנט. 289 00:15:17,421 --> 00:15:20,420 ותן לי להסתכל קצת מעבר the-- מה דעתך על כאן בחולצה הלבנה? 290 00:15:20,420 --> 00:15:20,920 ויד למעלה. 291 00:15:20,920 --> 00:15:22,071 בואו למעלה. 292 00:15:22,071 --> 00:15:22,820 מה שמך? 293 00:15:22,820 --> 00:15:23,760 >> קהל: ג'קי. 294 00:15:23,760 --> 00:15:24,718 >> דוד י מלאן: ג'קי. 295 00:15:24,718 --> 00:15:25,820 ג'קי, מגיע בעד. 296 00:15:25,820 --> 00:15:29,820 אז מה יש גם בזה iPad הוא כפתור הנקרא מצב משחק. 297 00:15:29,820 --> 00:15:32,570 ומצב משחק זה הוא הולך כדי לאפשר לי קלט 298 00:15:32,570 --> 00:15:35,780 מראש עשרוני מסוימת מספר, המספרים אנו בני אדם 299 00:15:35,780 --> 00:15:36,760 מכיר. 300 00:15:36,760 --> 00:15:39,820 ואז אתה יהיה לערער כאן כדי להשתמש בכפתורים 301 00:15:39,820 --> 00:15:42,140 על top-- אחד ל כל אחד מאלה bulbs-- 302 00:15:42,140 --> 00:15:45,050 כדי להבין באמת הדפוס של נורות 303 00:15:45,050 --> 00:15:46,970 שמייצג את המספר בשאלה. 304 00:15:46,970 --> 00:15:47,790 >> ואני מצטער, מה היה השם שלך שוב? 305 00:15:47,790 --> 00:15:48,250 >> קהל: ג'קי. 306 00:15:48,250 --> 00:15:48,620 >> דוד י מלאן: ג'קי. 307 00:15:48,620 --> 00:15:48,920 בסדר. 308 00:15:48,920 --> 00:15:49,740 טוב לפגוש אותך. 309 00:15:49,740 --> 00:15:54,580 >> אז תן לי ללכת קדימה ותכנית ב עבור העולם כדי לראות את המספר 15. 310 00:15:54,580 --> 00:15:56,360 אנחנו נשמור אותו קטנים בראשונים כאן. 311 00:15:56,360 --> 00:15:58,240 ואני הולך להיכנס למצב משחק. 312 00:15:58,240 --> 00:16:01,160 ואני הולך לציין, לתת לנו את המספר 15. 313 00:16:01,160 --> 00:16:01,900 >> אישור. 314 00:16:01,900 --> 00:16:05,510 ועכשיו עם כולם watching-- אם אתה רוצה אולי לעמוד בדרך זו, 315 00:16:05,510 --> 00:16:09,970 כי זה יהיה בשורה up-- קדימה לעבור שמונה כפתורים לאורך החלק העליון 316 00:16:09,970 --> 00:16:12,530 כדי להפעיל את הנורות על או ביטול כפי שאתה רואה לנכון. 317 00:16:12,530 --> 00:16:13,530 >> קהל: אישור. 318 00:16:13,530 --> 00:16:17,720 >> דוד י מלאן: ולא רמאות על ידי להכות בתוספת 15 פעמים. 319 00:16:17,720 --> 00:16:19,275 אה, אנחנו הולכים לעשות את זה. 320 00:16:19,275 --> 00:16:20,069 >> קהל: אה, רגע. 321 00:16:20,069 --> 00:16:20,610 אני כל כך מצטער. 322 00:16:20,610 --> 00:16:22,660 >> דוד י מלאן: אתה יכול גם לפנות הנורות באופן אינדיבידואלי 323 00:16:22,660 --> 00:16:24,076 עם כל אחד מהכפתורים האלה על גבי. 324 00:16:24,076 --> 00:16:24,844 קהל: אה, אוקיי. 325 00:16:24,844 --> 00:16:27,429 כך שזה יהיה like-- 326 00:16:27,429 --> 00:16:28,220 דוד י מלאן: אישור. 327 00:16:28,220 --> 00:16:29,100 אז עכשיו יש לנו שמונה. 328 00:16:29,100 --> 00:16:31,280 אז בואו נעצור ל קהל לעסוק כאן. 329 00:16:31,280 --> 00:16:34,300 מה מספר הוא ג'קי מייצג כיום? 330 00:16:34,300 --> 00:16:34,800 11. 331 00:16:34,800 --> 00:16:35,730 אז אנחנו כמעט שם. 332 00:16:35,730 --> 00:16:38,360 333 00:16:38,360 --> 00:16:39,630 ומצוין. 334 00:16:39,630 --> 00:16:41,487 אז יש לנו הזוכה הראשון שלנו. 335 00:16:41,487 --> 00:16:42,445 מזל טוב. 336 00:16:42,445 --> 00:16:48,200 >> ואנחנו חשבנו שנהיה לנו כמה מתנות נהדרת. 337 00:16:48,200 --> 00:16:50,860 אם אתה רוצה להיות אחד כזה חדר במעונות כאן בקמפוס, 338 00:16:50,860 --> 00:16:56,126 אתה יכול לקבל את עצמך פרויקט גמר באמצעות החברה API זו, הודות לג'קי. 339 00:16:56,126 --> 00:16:57,050 אז now-- 340 00:16:57,050 --> 00:16:58,902 >> [מחיאות כפות] 341 00:16:58,902 --> 00:17:01,690 342 00:17:01,690 --> 00:17:04,839 >> --if שיכולנו, אחד יותר כגון סביב זה. 343 00:17:04,839 --> 00:17:07,690 אה, עכשיו כולם רוצה כמה נורות. 344 00:17:07,690 --> 00:17:11,790 למהדורת ההאקר מה שנקרא, אנחנו הולכים להגביר אותו a-- הו, 345 00:17:11,790 --> 00:17:12,770 כן, לא מחייב. 346 00:17:12,770 --> 00:17:16,010 אני חושב שאתה עולה עכשיו אם היד שלך הולכת במורד. 347 00:17:16,010 --> 00:17:16,800 מה שמך? 348 00:17:16,800 --> 00:17:17,424 >> קהל: אלכס. 349 00:17:17,424 --> 00:17:19,440 דוד י מלאן: אלכס, יבוא לכאן ב. 350 00:17:19,440 --> 00:17:26,190 אז לאלכס, אנחנו הולכים תכנית במספר מעט גדול יותר. 351 00:17:26,190 --> 00:17:27,790 אולי כדי. 352 00:17:27,790 --> 00:17:29,110 המספר 50. 353 00:17:29,110 --> 00:17:29,744 >> קהל: אישור. 354 00:17:29,744 --> 00:17:31,660 דוד י מלאן: אבל, כ אני said-- ואתה עלול 355 00:17:31,660 --> 00:17:33,580 רוצה לעמוד כאן כל כך כי הכפתורים בשורה 356 00:17:33,580 --> 00:17:37,115 כפי שהיית expect-- אבל עשיתי קורא לזה מהדורת ההאקר. 357 00:17:37,115 --> 00:17:47,125 So-- מזל טוב! 358 00:17:47,125 --> 00:17:48,416 >> [שחוק] 359 00:17:48,416 --> 00:17:58,570 360 00:17:58,570 --> 00:18:02,050 >> אתה תהיה מסוגל להפעיל אותם אם you-- אישור. 361 00:18:02,050 --> 00:18:02,880 מצוין. 362 00:18:02,880 --> 00:18:03,675 נפלא. 363 00:18:03,675 --> 00:18:04,341 מזל טוב. 364 00:18:04,341 --> 00:18:08,730 >> [מחיאות כפות] 365 00:18:08,730 --> 00:18:10,355 אני מניח שאני צריך לשלם. 366 00:18:10,355 --> 00:18:11,830 מזל טוב לאלכס, כמו גם. 367 00:18:11,830 --> 00:18:12,330 אישור. 368 00:18:12,330 --> 00:18:15,550 >> אז ממסעדה האולטימטיבית כאן הוא בתקווה, בכנות, 369 00:18:15,550 --> 00:18:18,109 simplicity-- פשטות שבה 370 00:18:18,109 --> 00:18:20,650 אתה יכול לקבל קצת אור נחמד נורות, כנראה ב[ לא ברור]. 371 00:18:20,650 --> 00:18:23,000 אבל הם מייצגים, סופו של דבר, את אותו רעיונות 372 00:18:23,000 --> 00:18:26,310 שבה אנו בני אדם כבר מוכר מדי. 373 00:18:26,310 --> 00:18:28,660 אז מה אולי הבא צעד להיות בהתקדמות 374 00:18:28,660 --> 00:18:30,920 של מנסה לעשות משהו מעניין עם נתונים 375 00:18:30,920 --> 00:18:34,950 ומייצג תשומות שהם לא רק מספרים, אבל הם אולי אותיות או יותר? 376 00:18:34,950 --> 00:18:37,820 >> ובכן, מתברר ש עולם מחשב, במשך שנים רבות, 377 00:18:37,820 --> 00:18:43,300 פשוט אימץ שרירותי אבל סטנדרטי הממפה מספרים עולים בקנה אחד 378 00:18:43,300 --> 00:18:44,610 לאותיות האלפבית. 379 00:18:44,610 --> 00:18:47,120 לדוגמא, כאן הוא קטע מתוך מיפוי ש. 380 00:18:47,120 --> 00:18:48,350 זה נקרא ASCII. 381 00:18:48,350 --> 00:18:53,220 -S-C-I-אני. וכי הוא פשוט שולחן הממפה letters-- רישיות 382 00:18:53,220 --> 00:18:56,600 בזה case-- עשרוני מספרים. 383 00:18:56,600 --> 00:18:57,890 >> אבל מה המשמעות? 384 00:18:57,890 --> 00:19:01,090 ובכן, אם אתה באמת רוצה לייצג משהו כמו דואר אלקטרוני או טקסט כלשהו 385 00:19:01,090 --> 00:19:03,310 בדף אינטרנט, אתה רוצה כמובן להראות 386 00:19:03,310 --> 00:19:06,100 האותיות האנושיות של האלפבית, לא מספרים. 387 00:19:06,100 --> 00:19:09,140 אז תלוי ב הקשר של התכנית 388 00:19:09,140 --> 00:19:12,600 שהמשתמש הוא משתמש, אם זה דפדפן אינטרנט או לקוח הדוא"ל, 389 00:19:12,600 --> 00:19:16,090 מספרים בהחלט יכולים להיות להתפרש כאותיות. 390 00:19:16,090 --> 00:19:20,290 כלומר, דפוסים של ביטים יכולים בקלות להתפרש כאותיות. 391 00:19:20,290 --> 00:19:24,700 >> ואז מה יכול להיות לנו היא האות הוויה 392 00:19:24,700 --> 00:19:28,410 מיוצג כ65, B להיות מיוצג כ66. 393 00:19:28,410 --> 00:19:30,900 אז אם יש לנו סופר מילה קצרה, כמו היי, 394 00:19:30,900 --> 00:19:35,740 מה מחשב סופו של דבר היית חנות בעשרונית אבל באמת בינארי, 395 00:19:35,740 --> 00:19:40,070 באמצעות כמה רצף של ביטים, מינוף קצת חשמל בדרך כלשהי, 396 00:19:40,070 --> 00:19:44,010 יהיו שני המספרים 72 ו73. 397 00:19:44,010 --> 00:19:46,780 >> אבל הדפוס של ביטים ש מייצג את הערכים האלה. 398 00:19:46,780 --> 00:19:49,820 אז אלה אז הם איך אנחנו יכולים מייצג תשומות ותפוקות שלנו. 399 00:19:49,820 --> 00:19:52,630 ודי אם נאמר, שביכולתנו לעשות ייצוגים מורכבים יותר 400 00:19:52,630 --> 00:19:56,450 סופו של דבר עם דברים כמו גרפיקה, קטעי וידאו, מוסיקה, ועוד 401 00:19:56,450 --> 00:19:58,190 כפי שנראה מאוחר יותר במונח זה. 402 00:19:58,190 --> 00:20:00,630 >> אז זה משאיר רק לאחר מכן אלגוריתמים, מערכות אלה 403 00:20:00,630 --> 00:20:03,490 של הוראות שבה אנחנו פתרון בעיות בפועל. 404 00:20:03,490 --> 00:20:05,820 אנחנו עוברים בתשומות לאלגוריתמים. 405 00:20:05,820 --> 00:20:09,630 ואלגוריתמים אלה מייצרים פלטים, פלטים נכונים בתקווה 406 00:20:09,630 --> 00:20:14,160 ובתקווה, גם, יעילות שנאסף תפוקות. 407 00:20:14,160 --> 00:20:16,890 במילים אחרות, זה דבר אחד כדי ליישם משהו בצורה נכונה. 408 00:20:16,890 --> 00:20:20,790 זה עוד דבר ליישום משהו טוב או ביעילות. 409 00:20:20,790 --> 00:20:23,690 >> לדוגמא, הפגנה אחת שאנחנו מחבבים בקורס 410 00:20:23,690 --> 00:20:24,460 זה אחד. 411 00:20:24,460 --> 00:20:26,345 אבל הדברים האלה מקבלים קשה יותר ויותר למצוא. 412 00:20:26,345 --> 00:20:28,930 אבל זה אכן בית ספר ישן ספר טלפונים, ובתוכה 413 00:20:28,930 --> 00:20:32,580 הם 1,000 דפים בתוספת של שמות ומספרי טלפון. 414 00:20:32,580 --> 00:20:34,830 ואם אני רוצה להסתכל למעלה מישהו בספר טלפונים זה, 415 00:20:34,830 --> 00:20:38,640 אני פשוט יכול לעשות אלגוריתם נאיבי מאוד. 416 00:20:38,640 --> 00:20:42,150 אני יכול לפתוח בעמוד הראשון, ו אני יכול להתחיל לחפש, למשל, מישהו 417 00:20:42,150 --> 00:20:43,130 בשם מייק סמית. 418 00:20:43,130 --> 00:20:46,160 ואם הוא לא בראשון דף, אני מתקדם לשני, 419 00:20:46,160 --> 00:20:49,120 ולאחר מכן לשלישי, ולאחר מכן לרביעי, וכן הלאה, 420 00:20:49,120 --> 00:20:51,430 עד שסוף הסוף למצוא מייק סמית. 421 00:20:51,430 --> 00:20:53,010 >> עכשיו הוא אלגוריתם זה נכון? 422 00:20:53,010 --> 00:20:53,896 >> קהל: כן. 423 00:20:53,896 --> 00:20:54,248 >> דוד י מלאן: כן. 424 00:20:54,248 --> 00:20:56,039 אם הוא שם, אני סופו של דבר למצוא אותו. 425 00:20:56,039 --> 00:20:58,820 אבל זה ללא ספק לא מאוד יעיל, בוודאי לא מהיר, 426 00:20:58,820 --> 00:21:01,200 כי, אלוהים, למה אני מבזבז את הזמן שלי מרפרף 427 00:21:01,200 --> 00:21:04,500 בכל אחד מהדפים הללו כאשר אני יכול בהחלט לעשות מבחינה פיזית מהר יותר זה? 428 00:21:04,500 --> 00:21:08,210 >> ובכן, אופטימיזציה קלה, כל כך ל לדבר, יכול להיות לא דף אחד בכל פעם, 429 00:21:08,210 --> 00:21:11,610 אבל שני, ארבעה, שש, שמונה, 10. 430 00:21:11,610 --> 00:21:12,725 עדיין נכון? 431 00:21:12,725 --> 00:21:14,030 >> קהל: מס ' 432 00:21:14,030 --> 00:21:17,040 >> דוד י מלאן: אז לא אם אני ל למשל לדלג על מייק סמית. 433 00:21:17,040 --> 00:21:20,530 אבל כל עוד אני לגבות דוושה עמוד אחד, אם אני להחטיא את מטרתו, 434 00:21:20,530 --> 00:21:25,240 אולי נוכל לתקן את מה ש אחר עלולים להיות תפסתי אותך. 435 00:21:25,240 --> 00:21:26,020 >> אבל האם זה טוב יותר? 436 00:21:26,020 --> 00:21:27,469 האם זה יותר מהר? 437 00:21:27,469 --> 00:21:28,010 אני מתכוון, כן. 438 00:21:28,010 --> 00:21:30,950 זה ממש מהר פעמיים אם אני עושה את שני עמודים בכל פעם. 439 00:21:30,950 --> 00:21:35,720 אז אם לא היה לי במקור 1,000 דפים, עכשיו אני רק צריך להעיף 500 פעמים, 440 00:21:35,720 --> 00:21:39,429 לא באופן מלא 1,000 דפים כדי לקבל פוטנציאל במקרה הגרוע ביותר 441 00:21:39,429 --> 00:21:41,220 בסופו של הטלפון ספר, שבו מישהו 442 00:21:41,220 --> 00:21:44,380 כמו מייק סמית או מישהו עם שם מאוחר יותר עשוי להיות דווקא. 443 00:21:44,380 --> 00:21:46,540 >> אבל, כמובן, שאנו בני אדם הם בהחלט לא 444 00:21:46,540 --> 00:21:49,250 הולך לעשות את זה, בוודאי לא בשלב בחיינו זה. 445 00:21:49,250 --> 00:21:51,454 מה הוא סביר אדם סביר הולך לעשות? 446 00:21:51,454 --> 00:21:52,870 קהל: לכו ישר לthe9 S של. 447 00:21:52,870 --> 00:21:53,860 דוד י מלאן: לכו ישר לS של? 448 00:21:53,860 --> 00:21:55,563 איך אני הולך ישר לS של? 449 00:21:55,563 --> 00:21:57,342 >> קהל: לקרוע אותו לשתיים. 450 00:21:57,342 --> 00:21:59,050 דוד י מלאן: ובכן, אין סימון. 451 00:21:59,050 --> 00:22:02,116 אז, כן, אם אכן היו תווית או כרטיסייה דביקה לS, 452 00:22:02,116 --> 00:22:03,240 אנחנו צריכים לקפוץ ישר לשם. 453 00:22:03,240 --> 00:22:05,420 אבל זה די בלתי מזיק. 454 00:22:05,420 --> 00:22:08,480 אז הכי טוב שאני יכול לעשות הוא בערך לסעיף S או אולי בערך 455 00:22:08,480 --> 00:22:09,650 למרכז. 456 00:22:09,650 --> 00:22:12,110 אבל ממסעדה המפתח now-- והאינטואיציה 457 00:22:12,110 --> 00:22:14,430 כי אתה כבר נלקח ל מובן מאליו במשך שנות probably-- 458 00:22:14,430 --> 00:22:17,103 זה מה שעושה לך עכשיו יודע על בעיה זו? 459 00:22:17,103 --> 00:22:19,320 >> קהל: [לא ברור] 460 00:22:19,320 --> 00:22:22,290 >> דוד י מלאן: מייק סמית היא ללא ספק לא במחצית מהבעיה 461 00:22:22,290 --> 00:22:25,600 כי סמית מגיעה אחרי האמצע שזה בערך סעיף ז, 462 00:22:25,600 --> 00:22:26,510 זה נראה לי. 463 00:22:26,510 --> 00:22:30,340 אז כפי שאתם יכולים לראות ב Visitas, אנחנו יכולים עכשיו, פשוטו כמשמעו, 464 00:22:30,340 --> 00:22:31,737 לקרוע את הבעיה הזו במחצית. 465 00:22:31,737 --> 00:22:32,320 קהל: וו! 466 00:22:32,320 --> 00:22:33,690 דוד י מלאן: זה מקבל יותר ויותר קל. 467 00:22:33,690 --> 00:22:34,666 [מחיאות כפות] 468 00:22:34,666 --> 00:22:36,618 הנה לך. 469 00:22:36,618 --> 00:22:39,060 [שחוק] 470 00:22:39,060 --> 00:22:41,870 ועכשיו אני ביסודו יש את אותה בעיה, 471 00:22:41,870 --> 00:22:43,866 אבל זה ממש חצי כגדול. 472 00:22:43,866 --> 00:22:45,240 אני עדיין מחפש מייק סמית. 473 00:22:45,240 --> 00:22:47,950 ואני מעז לומר, עדיין אני יכול לחפש אותו באותה הדרך, 474 00:22:47,950 --> 00:22:51,200 פיצול הבעיה במחצית שוב, קורע את הבעיה שוב 475 00:22:51,200 --> 00:22:54,140 במחצית, שעכשיו יוצאת איתי בעיה רבע מהגודל, 476 00:22:54,140 --> 00:22:58,710 באופן דרמטי לזרוק שמחצית משם, ו לחזור על תהליך זה שוב ושוב 477 00:22:58,710 --> 00:23:01,150 ושוב, מעיף מבט למטה בכל נקודה כדי לראות 478 00:23:01,150 --> 00:23:03,400 אם מייק סמית היא על הדף מדובר. 479 00:23:03,400 --> 00:23:06,190 >> עכשיו, אם אני עושה את זה נכון, סופו של דבר אני תמצא את עצמי 480 00:23:06,190 --> 00:23:11,085 עם רק עמוד אחד שבו מייק סמית הוא אם הוא אכן בספר טלפונים. 481 00:23:11,085 --> 00:23:13,510 כמובן, שאני יכול אף פעם לא קורא מייק שוב. 482 00:23:13,510 --> 00:23:18,800 אבל הנקודה כאן היא שאם התחלנו עם 1,000 דפים, האלגוריתם הראשון שלי, 483 00:23:18,800 --> 00:23:21,620 להעיף את הדף, אולי 1,000 times-- בהחלט פחות כי זה 484 00:23:21,620 --> 00:23:26,430 שם S ולא ת שם, אבל כ כמה ש1,000 דפים שעלולים להיות. 485 00:23:26,430 --> 00:23:27,590 >> אלגוריתם שני, טוב יותר. 486 00:23:27,590 --> 00:23:28,480 500 עמודים. 487 00:23:28,480 --> 00:23:31,230 אלגוריתם שלישי, אם כי, כמה צעדים היית זה 488 00:23:31,230 --> 00:23:35,520 לקחת לחלק דף 1,000 ספר טלפונים במחצית ככה? 489 00:23:35,520 --> 00:23:37,000 10, פחות או יותר. 490 00:23:37,000 --> 00:23:40,770 אז רק על ידי לדפדף ש ספר טלפונים, צלילה וכיבוש, 491 00:23:40,770 --> 00:23:46,130 אם אפשר לומר כך, 10 פעמים, יהיה אני עושה בדרך שלי למטה רק דף אחד בודד. 492 00:23:46,130 --> 00:23:48,880 >> וכך אנו יכולים ללכוד אינטואיציה זה עכשיו קצת גרפי 493 00:23:48,880 --> 00:23:51,320 אם אתה רק רואה גרף סופר פשוט הזאת. 494 00:23:51,320 --> 00:23:55,470 אנחנו בציר x, או אופקי ציר, הוא בגודל של הבעיה שלי, 495 00:23:55,470 --> 00:23:57,100 את מספר העמודים בספר טלפונים. 496 00:23:57,100 --> 00:23:59,040 ומדעני מחשב בדרך כלל אוהבים לקרוא 497 00:23:59,040 --> 00:24:02,180 בגודל של n בעיה, שבו n הוא רק חלק משתנה ש 498 00:24:02,180 --> 00:24:04,310 represents-- בזה case-- מספר העמודים. 499 00:24:04,310 --> 00:24:07,412 >> ציר y האנכי, או, כאן הוא הולך להיות הזמן לפתור, 500 00:24:07,412 --> 00:24:09,870 אולי מספר סיבובי דף, אולי מספר שניות 501 00:24:09,870 --> 00:24:11,960 או דקות, כל מה ש יחידת המידה שלך היא. 502 00:24:11,960 --> 00:24:14,337 וכך הקו האדום הזה מייצג את האלגוריתם הראשון, 503 00:24:14,337 --> 00:24:16,670 בגלל שיש אחד לאחד קשר בין המספר 504 00:24:16,670 --> 00:24:18,880 דפים ומשך זמן שלוקח. 505 00:24:18,880 --> 00:24:22,240 >> אם Verizon מכפיל את מספר דפים בספר טלפונים בשנה הבאה, 506 00:24:22,240 --> 00:24:24,590 הריצה שלי time-- זמן דרוש לביצוע 507 00:24:24,590 --> 00:24:27,610 שalgorithm-- הראשון מכפיל את המקרה הגרוע ביותר. 508 00:24:27,610 --> 00:24:30,690 אבל האלגוריתם השני, לאן אני מרפרף על ידי שתי, 509 00:24:30,690 --> 00:24:33,650 דורש פחות זמן ל בעיה גודל נתון. 510 00:24:33,650 --> 00:24:36,090 אז אם יש לי את זה הרבה הודעת here-- דפים 511 00:24:36,090 --> 00:24:38,870 כי הקו הצהוב מציע פחות זמן לפתור. 512 00:24:38,870 --> 00:24:42,490 ואכן, הוא מייצג, אנחנו אומרים, n יותר משני. 513 00:24:42,490 --> 00:24:47,717 >> אבל מה את הצורה של ג ועקומה סופית הולכת להיראות? 514 00:24:47,717 --> 00:24:50,800 כן, זה אכן הולך look-- אני לא יודע מה אתה הולך להגיד. 515 00:24:50,800 --> 00:24:52,300 אבל בואו נראה מה אתה הולך להגיד. 516 00:24:52,300 --> 00:24:53,280 >> קהל: כמו ש. 517 00:24:53,280 --> 00:24:57,060 >> דוד י מלאן: זה הולך להיראות כמו , Exactly-- slope-- לוגריתמים זה 518 00:24:57,060 --> 00:24:59,770 לפי שיש לך השיפוע מוזר הזאת. 519 00:24:59,770 --> 00:25:01,235 זה כבר לא קו ישר. 520 00:25:01,235 --> 00:25:05,000 ומה משכנע על זה הוא ש למרות שהגרף עכשיו מנותק, 521 00:25:05,000 --> 00:25:07,790 אתה יכול להסיק בך אכפת כי כי הקו ירוק לא 522 00:25:07,790 --> 00:25:10,060 הולך להגדיל ב גובה כל כך הרבה 523 00:25:10,060 --> 00:25:13,500 ככל שאתה מתקדם עוד יותר מטה שציר אופקי. 524 00:25:13,500 --> 00:25:15,890 >> ואכן, ורייזון, ל למשל, יכול להכפיל 525 00:25:15,890 --> 00:25:19,100 את מספר העמודים בטלפון ספר בין השנה ובשנה הבאה 526 00:25:19,100 --> 00:25:22,140 מ1,000 2000 דפים, אבל לא ביג דיל. 527 00:25:22,140 --> 00:25:24,960 עם זה שלישי ואחרון, יש אלגוריתם אינטואיטיבי 528 00:25:24,960 --> 00:25:26,209 חלוקת וכיבוש. 529 00:25:26,209 --> 00:25:29,000 זה הולך לקחת לי עוד כמה צעדים בשנה הבאה למצוא מישהו 530 00:25:29,000 --> 00:25:29,700 כמו מייק סמית? 531 00:25:29,700 --> 00:25:30,560 >> קהל: אחת. 532 00:25:30,560 --> 00:25:31,230 >> דוד י מלאן: יש רק דבר אחד. 533 00:25:31,230 --> 00:25:34,430 והם יכולים לרבע אותו, זה הולך לקחת לי רק שני צעדים נוספים 534 00:25:34,430 --> 00:25:35,210 וכן הלאה. 535 00:25:35,210 --> 00:25:38,730 ואז זה הוא עדות ל כמה כמה תכנון זהיר 536 00:25:38,730 --> 00:25:42,437 וקצת הערכה למה ש התשומות שלך יכול לעשות אפילו טוב יותר. 537 00:25:42,437 --> 00:25:44,270 עכשיו אנחנו בוגדים קצת במובן 538 00:25:44,270 --> 00:25:46,350 שאנחנו מינוף הנחה. 539 00:25:46,350 --> 00:25:48,500 מה היא ההנחה שלי על ספר הטלפונים שלנו 540 00:25:48,500 --> 00:25:52,720 זה אפשר לי פרד ומשול באופן אינטואיטיבי, ועדיין נכון זה? 541 00:25:52,720 --> 00:25:53,705 >> קהל: [לא ברור] 542 00:25:53,705 --> 00:25:54,580 דוד י מלאן: כן. 543 00:25:54,580 --> 00:25:55,440 אז זה היה הורה. 544 00:25:55,440 --> 00:25:57,392 זה היה בסדר אלפביתי ידי חברת ספר טלפונים. 545 00:25:57,392 --> 00:26:00,100 אם זה היה בסדר אקראי, ש יהיה גיהינום של ספר טלפונים, 546 00:26:00,100 --> 00:26:02,850 אבל זה בהחלט לא היית להשאיל את עצמו לאלגוריתם 547 00:26:02,850 --> 00:26:05,950 הייתי, כי אתה אף פעם לא היית רק במקרה על פני מייק סמית 548 00:26:05,950 --> 00:26:09,210 אם אתה כל הזמן החלוקה ב מחצית בדרך שבמקרה. 549 00:26:09,210 --> 00:26:12,060 >> אז בואו עכשיו למסד מה בבירור אינטואיטיבי. 550 00:26:12,060 --> 00:26:13,950 אז משהו שנקרא pseudocode מקום שבו שנציע ב 551 00:26:13,950 --> 00:26:15,780 תתחיל כמה מהבעיות הראשוניות שלנו. 552 00:26:15,780 --> 00:26:20,410 וזו היא דרך הגנרית של מתאר תכנית מחשב אלגוריתם או, 553 00:26:20,410 --> 00:26:24,150 לא באמצעות C, או C ++, או Java, או כל שפה מסוימת, 554 00:26:24,150 --> 00:26:27,430 אבל רק באמצעות אנגלית, עם שכל אדם יכול להיות מוכר. 555 00:26:27,430 --> 00:26:31,220 >> ואנחנו יכולים לכתוב pseudocode לבעיה זו באופן הבא. 556 00:26:31,220 --> 00:26:33,520 השלב ראשון, להרים את ספר טלפונים. 557 00:26:33,520 --> 00:26:35,840 שלב שני, פתוחים לאמצע ספר טלפונים. 558 00:26:35,840 --> 00:26:37,730 שלב שלישי, מסתכל על השמות. 559 00:26:37,730 --> 00:26:40,630 צעד ארבעה, אם סמית היא בין names-- 560 00:26:40,630 --> 00:26:42,960 >> ועכשיו זה הוא מבנה מעניין. 561 00:26:42,960 --> 00:26:44,290 זוהי נקודת החלטה. 562 00:26:44,290 --> 00:26:47,920 זה מזלג בכביש, אם אתה יהיה, סניף, אם אפשר לומר כך. 563 00:26:47,920 --> 00:26:50,810 אז אני הולך להגביה רק על ידי הוועידה step-- 564 00:26:50,810 --> 00:26:53,950 לא five-- שבו הוא למשל, אני אתקשר אל מייק. 565 00:26:53,950 --> 00:26:57,290 אז הזחה זה, לגמרי אמנה אנושית שרירותית, אבל זה 566 00:26:57,290 --> 00:27:01,160 פשוט נועד להעביר סמנטי שאם סמית היא בין שמות, 567 00:27:01,160 --> 00:27:03,310 אז אני צריך להתקשר למייק. 568 00:27:03,310 --> 00:27:06,630 >> בינתיים בשלב שש, הודעה שהכניסה נעלמה. 569 00:27:06,630 --> 00:27:10,980 אז אחר הוא המזלג האחר ב כביש, הכביש האחר אני יכול לנסוע. 570 00:27:10,980 --> 00:27:14,130 אז אחר אם סמית היא מוקדם יותר בספר, מה 571 00:27:14,130 --> 00:27:16,964 הצעד הבא שלי כנראה הולך להיות כאן? 572 00:27:16,964 --> 00:27:18,380 קהל: אתה הולך לצד השמאל. 573 00:27:18,380 --> 00:27:21,004 דוד י מלאן: כן, אז ללכת ל המחצית השמאלית של ספר טלפונים. 574 00:27:21,004 --> 00:27:24,140 לזרוק את החצי הימני אם סמית היא קודם לכן בספר. 575 00:27:24,140 --> 00:27:27,140 כל כך פתוח לאמצע המחצית השמאלית של הספר. 576 00:27:27,140 --> 00:27:30,240 >> ואז צעד שמונה, ללכת בקו שלוש. 577 00:27:30,240 --> 00:27:34,520 ואת זה הוא לולאה מוזרה אני התרמה, רקורסיה כביכול. 578 00:27:34,520 --> 00:27:35,990 אבל עוד על כך בעתיד. 579 00:27:35,990 --> 00:27:39,590 >> אני משתמש באותו האלגוריתם שלי, אותו pseudocode שלי, 580 00:27:39,590 --> 00:27:43,020 כדי לפתור את אותה הבעיה שוב כי דבר היחיד שהשתנה 581 00:27:43,020 --> 00:27:46,550 הוא בגודל של הבעיה, לא המטרה שלי, ולא האדם 582 00:27:46,550 --> 00:27:47,340 אני מחפש. 583 00:27:47,340 --> 00:27:51,610 אז אני יכול לעשות שימוש חוזר באלגוריתם כי אני כבר מוגדר. 584 00:27:51,610 --> 00:27:53,580 >> אחר אם סמית היא מאוחר יותר בbook-- אולי אתה 585 00:27:53,580 --> 00:27:56,200 guess-- פתוח לאמצע המחצית הימנית של הספר. 586 00:27:56,200 --> 00:27:58,350 ושוב, ללכת בקו שלוש. 587 00:27:58,350 --> 00:28:01,480 Else-- מה השורה הסופית בתכנית זו הולכת להיות? 588 00:28:01,480 --> 00:28:03,580 אם הוא לא בין שמות על הדף אני 589 00:28:03,580 --> 00:28:06,870 ב, אם הוא לא קודם לכן ב הספר, והוא לא אחר כך 590 00:28:06,870 --> 00:28:09,899 בספר, מה לעשות אני יודע זה נכון גם לגבי מייק סמית עכשיו? 591 00:28:09,899 --> 00:28:11,190 קהל: הוא לא בספר. 592 00:28:11,190 --> 00:28:12,731 דוד י מלאן: הוא לא בספר. 593 00:28:12,731 --> 00:28:16,040 אז הכי טוב שאני יכול לעשות הוא פשוט לוותר ולהפסיק תכנית זו. 594 00:28:16,040 --> 00:28:16,540 בסדר. 595 00:28:16,540 --> 00:28:20,350 לכן בשלב זה, בואו ניקח את סיור מהיר של חלק ממה שמצפה. 596 00:28:20,350 --> 00:28:23,620 ואכן, אני מצטרף כאן על ידי מספר עובדי CS50. 597 00:28:23,620 --> 00:28:26,940 אם האנשים האלה כל יכולים תצטרף אליי לכאן על במה. 598 00:28:26,940 --> 00:28:28,900 >> [מחיאות כפות] 599 00:28:28,900 --> 00:28:35,280 600 00:28:35,280 --> 00:28:38,170 >> אכפת לך, זה הוא רק קבוצת משנה של צוות CS50, 601 00:28:38,170 --> 00:28:42,380 מאז בכל שנה יש לנו כמעט 100 צוות חברים בתפקידים של עוזרים כמובן, 602 00:28:42,380 --> 00:28:44,410 עמיתי הוראה, ועוד. 603 00:28:44,410 --> 00:28:45,700 בואו למעלה. 604 00:28:45,700 --> 00:28:48,820 אז הם יצטרפו אלינו כאן בצורה מוזרה לרגע 605 00:28:48,820 --> 00:28:54,230 כפי שאנו נותנים סיור מערבולת של מה אתה צריך לצפות כאן בקורס. 606 00:28:54,230 --> 00:28:59,640 >> אז בראש ובראשונה, יש לנו SAT / UNS כאופציה לדירוג בקורס. 607 00:28:59,640 --> 00:29:03,180 זה נועד במכוון להיות לפי אופציה 608 00:29:03,180 --> 00:29:05,570 אם אתה קצת לא בנוח בלהיות בקורס, 609 00:29:05,570 --> 00:29:09,390 ואתה חושש failure-- גם אם בכנות כישלון פירושו לפגוע בממוצע הציונים שלך, 610 00:29:09,390 --> 00:29:13,180 מקבל B ולא A-- שהוא בדיוק מה, בוודאי לשער 611 00:29:13,180 --> 00:29:15,750 כמובן כמו CS50 ואחר קורסי מבוא, 612 00:29:15,750 --> 00:29:17,540 אפשרות לדירוג זה נועדה לאפשר. 613 00:29:17,540 --> 00:29:19,930 >> אני בלב שלם ממליץ students-- במיוחד 614 00:29:19,930 --> 00:29:23,090 אם בfence-- להתחיל כמובן SAT / UNS, אפילו להישאר SAT / UNS. 615 00:29:23,090 --> 00:29:27,310 אבל אתה בהחלט יכול לעבור למכתב כיתה על ידי ביום שני החמישי בטווח. 616 00:29:27,310 --> 00:29:31,560 >> למען האמת, כשאני הייתה בכיתה ט 'בשינה 1995, 617 00:29:31,560 --> 00:29:34,630 אני בעצמי אפילו לא לקחתי CS50 כי אני לא קבלתי את האומץ 618 00:29:34,630 --> 00:29:36,540 למעשה לדרוך בכיתה. 619 00:29:36,540 --> 00:29:40,020 רחוק מדי זה נראה תחום לא מוכר לי ובאמת רק 620 00:29:40,020 --> 00:29:43,080 עבור אלה חברים שלי, בכנות, שהיה תכנות 621 00:29:43,080 --> 00:29:45,570 מאז שהיו בן שש או אולי 10 שנים בן. 622 00:29:45,570 --> 00:29:48,640 וזה היה רק ​​בגלל שהייתי תוכל לקחת CS50 ביום שלי 623 00:29:48,640 --> 00:29:52,720 בגרסה המקבילה של SAT / לעבור UNS-- / נכשל שוב בday-- 624 00:29:52,720 --> 00:29:53,850 כי גם אני לקחתי 50. 625 00:29:53,850 --> 00:29:57,440 ודרך זו או אחר, אני כאן שוב איתכם היום. 626 00:29:57,440 --> 00:30:00,690 >> עכשיו בינתיים מה עוד אתה צריך לזכור על 50 627 00:30:00,690 --> 00:30:01,910 הוא גיוס בו זמנית. 628 00:30:01,910 --> 00:30:03,785 בניגוד לשמועות ש אתה אולי שמעת, 629 00:30:03,785 --> 00:30:07,650 אתה יכול, למעשה, בו זמנית להירשם CS50 וכיתה נוספת ש 630 00:30:07,650 --> 00:30:12,150 פוגש באותו או חופף בחלקם זמן כמו ההרצאות של CS50 ממש כאן. 631 00:30:12,150 --> 00:30:16,420 ראה תכנית הלימודים לפרטים של היישום. 632 00:30:16,420 --> 00:30:19,540 >> הרצאות, דיונים, בינתיים, בניגוד ל מה באופן רשמי בקטלוג, 633 00:30:19,540 --> 00:30:22,060 בדרך כלל רק נפגש לרק שעה. 634 00:30:22,060 --> 00:30:24,240 בהזדמנות אנו עשויים לרוץ קצת ארוכים. 635 00:30:24,240 --> 00:30:26,800 אבל יש לזכור ש מטרה בהרצאות של CS50 636 00:30:26,800 --> 00:30:28,980 הוא לספק לך סקירה מושגית, 637 00:30:28,980 --> 00:30:31,830 אני מקווה שכמה הפגנות, אולי אפילו כמה מתנות, 638 00:30:31,830 --> 00:30:34,390 ממה שמצפה ל השבוע. העוקב 639 00:30:34,390 --> 00:30:37,730 >> וכך בהרצאות, אנו לחקור אלה נושאים ודוגמאות יחד, 640 00:30:37,730 --> 00:30:41,420 הבאת סטודנטים על במה, ו צוות עולה לבמה לעתים קרובות ככל שביכולתנו, 641 00:30:41,420 --> 00:30:43,740 רק כמה שעות בכל שבוע. 642 00:30:43,740 --> 00:30:47,435 סעיפים, בינתיים, יהיו המוצע על ידי האנשים האלה here-- רבים 643 00:30:47,435 --> 00:30:50,060 מהם ללמד את הבחורים, כמה מהם כמובן assistants-- 644 00:30:50,060 --> 00:30:51,160 להיות שזה קורה שבועי. 645 00:30:51,160 --> 00:30:52,940 >> ומה מפתח כדי לשמור על בראש הוא שאנחנו ש 646 00:30:52,940 --> 00:30:55,920 אל have-- לא בניגוד הראשון לילות, המוזיקה class-- 647 00:30:55,920 --> 00:30:59,220 מסלולים שונים של חלקים ל תלמידים פחות נוחים, יותר 648 00:30:59,220 --> 00:31:01,150 נוח, ואי שם באמצע. 649 00:31:01,150 --> 00:31:03,559 ולמען אמת, אתה יודע אם אתה פחות נוח. 650 00:31:03,559 --> 00:31:05,600 ואתה בוודאי יודע אם אתה יותר בנוח. 651 00:31:05,600 --> 00:31:09,920 ואם אתה לא ממש בטוח, אתה על ידי הגדרה איפשהו באמצע. 652 00:31:09,920 --> 00:31:12,850 אז כשזה מגיע זמן לסעיף בשבוע או משהו כזה, לתכנית הלימודים, 653 00:31:12,850 --> 00:31:14,070 נבקש ממך את השאלה הזאת. 654 00:31:14,070 --> 00:31:16,890 ואתה יכול לבחור עצמי מבוסס על רמת הנוחות שלך 655 00:31:16,890 --> 00:31:22,220 ולהיות עם students-- להיות עם ירוק dots-- דומה ברמת נוחות לך. 656 00:31:22,220 --> 00:31:25,710 >> בינתיים, יש לנו בעיה קובע, שסופו של דבר יהיה 657 00:31:25,710 --> 00:31:28,310 להגדיר את החוויה שלך בקורס זה. 658 00:31:28,310 --> 00:31:30,370 הם הציעו בדרך כלל במהדורות מרובות. 659 00:31:30,370 --> 00:31:34,150 מהדורה סטנדרטית שאנו מצפים ביותר כל תלמיד בקורס להתמודדות עם 660 00:31:34,150 --> 00:31:37,900 אבל גם מהדורת האקר שנקרא שלא מציע שום צורה של אשראי נוסף 661 00:31:37,900 --> 00:31:41,980 על הסף אבל באמת זכויות ההתרברבות לומר שניסית, והתמודדו עם 662 00:31:41,980 --> 00:31:45,250 מהדורות ההאקר של הקורס ש להתקרב לחומר הדומה 663 00:31:45,250 --> 00:31:47,370 אבל מזווית מתוחכמת יותר. 664 00:31:47,370 --> 00:31:49,480 >> מה שאנחנו מציעים ל מהדורה סטנדרטית, ל, 665 00:31:49,480 --> 00:31:51,420 שוב, רוב סופר של תלמידים, אינם 666 00:31:51,420 --> 00:31:54,060 ללכת על מודעות רק, שהם קטעי וידאו בראשות צוות של הקורס 667 00:31:54,060 --> 00:31:57,840 כי באמת לך ללכת דרך בעיות של הקורס ועיצוב אפשרי 668 00:31:57,840 --> 00:31:58,910 מימושים. 669 00:31:58,910 --> 00:32:01,434 ואנחנו גם, לאחר למעשה, מציע ניתוח שאחרי, 670 00:32:01,434 --> 00:32:03,350 לפיה אם אתה תוהה איך יכול להיות לך 671 00:32:03,350 --> 00:32:05,930 או היה צריך לפתור כמה בעיה, צוות ההוראה 672 00:32:05,930 --> 00:32:08,640 תעבור אלה בוידאו, כמו גם. 673 00:32:08,640 --> 00:32:14,350 >> בינתיים, מה מחכה לי גם הם חמישה ימים מאוחר והעובדה 674 00:32:14,350 --> 00:32:16,680 שאנחנו נרד הבעיה הנמוכה ביותר שנקבעה ציון. 675 00:32:16,680 --> 00:32:20,370 אנחנו בהחלט מעריכים כי בתמורה לעומס העבודה ש50 מצפה 676 00:32:20,370 --> 00:32:24,020 שלך, חיים מקבלים את הדרך לפעמים, אם לא חמש פעמים. 677 00:32:24,020 --> 00:32:26,150 ואז זה יהיה להציע לך קצת גמישות, 678 00:32:26,150 --> 00:32:29,400 הארכת המועד האחרון שלך מ, למשל, יום חמישי בצהריים ליום שישי בצהריים. 679 00:32:29,400 --> 00:32:33,150 ראה תכנית הלימודים ל פרטי הביצוע. 680 00:32:33,150 --> 00:32:34,702 >> עכשיו מה עכשיו מחכה? 681 00:32:34,702 --> 00:32:36,660 וזה מתרחש רק לי עכשיו כמה זמן 682 00:32:36,660 --> 00:32:38,333 אני נתקלתי בחבר 'ה עומדת כאן על במה. 683 00:32:38,333 --> 00:32:39,060 >> [שחוק] 684 00:32:39,060 --> 00:32:41,867 >> דוד י מלאן: אבל עוד נגיע ל גימור השיא לפני זמן רב. 685 00:32:41,867 --> 00:32:43,700 אז מה מחכה לי במונחים של סטי הבעיה? 686 00:32:43,700 --> 00:32:47,099 ובכן, אולי טיזר של מה שכולנו עשה בשנה שעברה עם קודמיך. 687 00:32:47,099 --> 00:32:49,140 בסט הבעיה הראשון בשנה שעברה, הצגנו 688 00:32:49,140 --> 00:32:51,630 שריטה, גרפי שפת תכנות ש 689 00:32:51,630 --> 00:32:54,570 מאפשר לך לתכנת, פשוטו כמשמעו, על ידי גרירה ושחרור של חתיכות פאזל, 690 00:32:54,570 --> 00:32:57,220 כמו אלה, כי הם מזכיר את המבנים 691 00:32:57,220 --> 00:32:59,260 יראה רק בשבוע אחד לכן, כאשר אנחנו עוברים 692 00:32:59,260 --> 00:33:01,870 למסורתי יותר שפה, הידועה בשם ג 693 00:33:01,870 --> 00:33:03,930 >> בשנה שעבר המשיכו לקבוצת בעיה זו, 694 00:33:03,930 --> 00:33:06,720 מעורב לקריפטוגרפיה, הערבול של מידע 695 00:33:06,720 --> 00:33:10,410 כדי למנוע ממנו 'חברים ממשלתיים או עיניים שאתה לא רוצה לראות את זה. 696 00:33:10,410 --> 00:33:12,540 מקודד בכאן הוא הודעה כי בקרוב אתה 697 00:33:12,540 --> 00:33:15,740 תוכל לפענח או דה לטרוף. 698 00:33:15,740 --> 00:33:17,960 >> הפריצה הייתה בעיה נקבע בשנה שעברה, שבו 699 00:33:17,960 --> 00:33:21,530 אתה משתמש בתכנות מצא חדש כישורים ליישם בפועל 700 00:33:21,530 --> 00:33:24,840 משחק wherein-- כמו שאתה אולי זוכר מchildhood-- 701 00:33:24,840 --> 00:33:28,040 המטרה הייתה לנגח לבנים שעל גבי המסך 702 00:33:28,040 --> 00:33:30,190 כאן, צבירה ציון לאורך הדרך, 703 00:33:30,190 --> 00:33:35,460 ויישום אלגוריתמים משלך עם איזה פתרון זה סופו של דבר 704 00:33:35,460 --> 00:33:37,357 מאפשר לך לשחק את המשחק. 705 00:33:37,357 --> 00:33:39,440 בינתיים, בהמשך סמסטר, אנו נותנים לך 706 00:33:39,440 --> 00:33:43,470 מילון של 143091 מילות באנגלית. 707 00:33:43,470 --> 00:33:46,300 ואתה יהיה לערער כדי לכתוב תכנית ש 708 00:33:46,300 --> 00:33:50,260 לאיית בדיקות, מסמכים, על ידי טעינת מילים שרבות בזיכרון 709 00:33:50,260 --> 00:33:52,300 ביעילות רבה ככל האפשר. 710 00:33:52,300 --> 00:33:54,240 בדרך כלל צבת לך נגד חבריו לכיתה שלך 711 00:33:54,240 --> 00:33:56,610 אם תבחר לקצת אתגר בלוח המנהיג 712 00:33:56,610 --> 00:34:00,090 כדי לראות מי יכול להשתמש בהכי מעט שניות של זמן ריצה, 713 00:34:00,090 --> 00:34:03,550 והמספר הקטן ביותר מגה בייט של זיכרון, 714 00:34:03,550 --> 00:34:08,659 ולמעשה כיוון עדין התוכניות שלך להיות משאב יעיל להפליא לא 715 00:34:08,659 --> 00:34:09,820 רק זמן. 716 00:34:09,820 --> 00:34:13,239 >> בשנה שעברה, גם, שאנחנו נראים בסוף של הסמסטר בתכנות האינטרנט. 717 00:34:13,239 --> 00:34:16,230 ואכן, אנחנו נעשה את זה שוב זה שנה עם סטי בעיה מרובים, 718 00:34:16,230 --> 00:34:20,290 מציג בפניך את הטכניקות ו את הלך הרוח שבה אתה יכול ליישם 719 00:34:20,290 --> 00:34:23,489 כישורי תכנות אלה ל אתרים, אתרים דינמיים, 720 00:34:23,489 --> 00:34:26,639 אתרים שבעצם לפתור בעיות ומתנהגים בצורה שונה 721 00:34:26,639 --> 00:34:30,620 ולא פשוט סטטי אתרים עם מידע סטטי. 722 00:34:30,620 --> 00:34:32,854 >> פרויקט הגמר סופו של דבר יגדיר, אם כי, 723 00:34:32,854 --> 00:34:34,770 שיאו של הקורס לסטודנטים, שבו 724 00:34:34,770 --> 00:34:37,228 אתה תהיה תיגר ליישם רוב משהו מעניין 725 00:34:37,228 --> 00:34:40,590 לך, כל עוד זה איכשהו מסתמך על השיעורים של הקורס. 726 00:34:40,590 --> 00:34:42,930 >> וכפי שראית ב וידאו בתחילת, 727 00:34:42,930 --> 00:34:47,340 נסיים את הסמסטר עם CS50 Hackathon, שאם, לא מוכר, 728 00:34:47,340 --> 00:34:51,420 יתחיל בשעה 7:00 לילה אחד ו בסופו של ב7:00 למחרת בבוקר. 729 00:34:51,420 --> 00:34:53,614 בסביבות שעה 9:00 בערב, שנציע ב סדר בארוחת ערב ראשון. 730 00:34:53,614 --> 00:34:55,489 בסביבות שעה 1:00 בבוקר, שנציע ב סדר בארוחת ערב שני. 731 00:34:55,489 --> 00:34:57,490 ואם אתה עדיין עומד שעת 5:00 בבוקר, אנחנו 732 00:34:57,490 --> 00:35:00,320 יהיה הסעות באוטובוס אתה לIHOP לארוחת בוקר. 733 00:35:00,320 --> 00:35:04,980 >> יריד CS50, בינתיים, הוא אירוע שאליו 2,000 בתוספת סגל, סטודנטים, 734 00:35:04,980 --> 00:35:07,850 וצוות מכל רחבי קמפוס תבואו לראות את ההישגים שלך 735 00:35:07,850 --> 00:35:10,150 בקורס והסופי פרויקטים ויצירות 736 00:35:10,150 --> 00:35:14,960 שאתה יוצר על המחשבים הניידים שלכם, שולחנות עבודה, או נורות אולי אפילו אור. 737 00:35:14,960 --> 00:35:17,340 >> בינתיים, שעתי עבודה ומבנה התמיכה. 738 00:35:17,340 --> 00:35:20,480 ועכשיו זה היה כבר זמן טוב יותר כדי להביא את כולך עד. 739 00:35:20,480 --> 00:35:24,310 >> שעתי העבודה תתקיים ארבעה לילות בשבוע במשך שעות מרובות בכל לילה 740 00:35:24,310 --> 00:35:27,710 עם בדרך כלל 20 עד 30 של צוות של הקורס על החובה בבת אחת 741 00:35:27,710 --> 00:35:31,240 כדי לספק לך אינטימי אחד על אחד הזדמנויות לתמיכה 742 00:35:31,240 --> 00:35:33,790 עם סטי הבעיה של הקורס. 743 00:35:33,790 --> 00:35:36,120 שיעורים גם יהיו זמין, במיוחד 744 00:35:36,120 --> 00:35:39,630 לתלמידים פחות comfortable-- או מעז לומר לפחות comfortable-- עבורם 745 00:35:39,630 --> 00:35:41,869 שעתי עבודה הן לא רוב הסביבה המטפחת 746 00:35:41,869 --> 00:35:43,660 והם בהחלט לא רוב ללא המתח. 747 00:35:43,660 --> 00:35:47,430 במיוחד כאשר מועדי לחיצה, אנחנו באופן יזום יהיה זוגך את עצמנו 748 00:35:47,430 --> 00:35:51,440 עם חבר צוות לעבוד עם על כמה לוח זמנים קבועים כצרכימים שלך 749 00:35:51,440 --> 00:35:53,850 ולוח הזמנים שלהם מאפשר. 750 00:35:53,850 --> 00:35:55,260 >> וצוות. 751 00:35:55,260 --> 00:36:01,020 הרשה לי להציג דבון, רוב, וגבריאל, הראשים של השנה. 752 00:36:01,020 --> 00:36:02,370 אם כל אחד הייתי רוצה say-- 753 00:36:02,370 --> 00:36:03,349 >> [מחיאות כפות] 754 00:36:03,349 --> 00:36:03,849 מילת --a. 755 00:36:03,849 --> 00:36:05,328 [מחיאות כפות] 756 00:36:05,328 --> 00:36:10,270 757 00:36:10,270 --> 00:36:13,220 דבון כאן הוא מנהל קורס, ש 758 00:36:13,220 --> 00:36:15,730 משמעות הדבר היא בתפקיד במשרה מלאה שלו הוא מסייע בביצוע 759 00:36:15,730 --> 00:36:18,424 ולוגיסטיקה של CS50. 760 00:36:18,424 --> 00:36:19,340 דבון: כן, היי, חבר 'ה. 761 00:36:19,340 --> 00:36:20,965 אתה רואה הרבה לי בשעתי עבודה. 762 00:36:20,965 --> 00:36:22,110 אני מלמד את החלקים. 763 00:36:22,110 --> 00:36:25,150 ואם אתה יורה מיילים קדימה, אני כנראה תהיה להגיב. 764 00:36:25,150 --> 00:36:27,670 אז אני אראה הרבה מכם כל הסמסטר. 765 00:36:27,670 --> 00:36:29,890 וברוכים באים לCS50. 766 00:36:29,890 --> 00:36:38,330 >> דוד י מלאן: ועכשיו גבריאל, ש עצמו היה רק ​​בכיתה ט 'בשנה שעברה, 767 00:36:38,330 --> 00:36:41,820 אבל עבור בני הזוג של השנים האחרונים יש פועל הגרסה של CS50 768 00:36:41,820 --> 00:36:44,660 בברזיל, לפיה הוא הוריד כל content-- של הקורס 769 00:36:44,660 --> 00:36:46,890 וזו ללא ספק להיות צילמתי והניח online-- 770 00:36:46,890 --> 00:36:51,480 כדי שהוא יוכל לתרגם אותו ל פורטוגזית ולאחר מכן ללמד יותר מ -100 771 00:36:51,480 --> 00:36:54,610 של חבריו לכיתה על במהלך כמה שנים, 772 00:36:54,610 --> 00:36:57,650 מלמד בשפה האם שלו תכנית הלימודים של הקורס. 773 00:36:57,650 --> 00:36:58,964 >> גבריאל: שלום. 774 00:36:58,964 --> 00:37:00,912 >> [מחיאות כפות] 775 00:37:00,912 --> 00:37:06,669 776 00:37:06,669 --> 00:37:07,710 גבריאל: היי, אני גבריאל. 777 00:37:07,710 --> 00:37:09,340 אני TF ראש המסלול. 778 00:37:09,340 --> 00:37:10,780 ואני מקווה שאוהב את CS50. 779 00:37:10,780 --> 00:37:12,830 זה CS50. 780 00:37:12,830 --> 00:37:14,697 >> דוד י מלאן: עכשיו לרוב. 781 00:37:14,697 --> 00:37:15,780 אה, אתה רוצה הקדמה? 782 00:37:15,780 --> 00:37:16,696 >> ROB: לא, אני לא יודע. 783 00:37:16,696 --> 00:37:18,225 [שחוק] 784 00:37:18,225 --> 00:37:19,475 דוד י מלאן: ורוב בודן. 785 00:37:19,475 --> 00:37:22,300 [שחוק] 786 00:37:22,300 --> 00:37:23,800 ROB: היי, אני רוב. 787 00:37:23,800 --> 00:37:27,220 זו השנה החמישית שלי מעורב עם הקורס. 788 00:37:27,220 --> 00:37:29,220 בכל שנה, זה פשוט טוב יותר ומעמד טוב יותר, 789 00:37:29,220 --> 00:37:31,550 כך אתם נמצאים באופן ברור הולך להיות מדהים. 790 00:37:31,550 --> 00:37:33,181 אני מקווה שלכולכם להשתעשע עם זה. 791 00:37:33,181 --> 00:37:34,430 אני הולך להשתעשע עם זה. 792 00:37:34,430 --> 00:37:36,670 אז רואה אותך בסביבה. 793 00:37:36,670 --> 00:37:38,445 >> דוד י מלאן: ו הזמן לא יאפשר us-- 794 00:37:38,445 --> 00:37:39,670 >> [מחיאות כפות] 795 00:37:39,670 --> 00:37:41,661 >> הזמן לא יאפשר לנו להציג את כולם 796 00:37:41,661 --> 00:37:44,660 על הבמה וכל עמיתיהם שעורך את קניותיהם שיעורים היום. 797 00:37:44,660 --> 00:37:47,390 אבל הרשה לי להציג פאזל בלינדה וCS50 798 00:37:47,390 --> 00:37:49,550 יום, שמחכה זה שבת הקרובה, בי 799 00:37:49,550 --> 00:37:51,800 הוא הראשון מ אירועים בקנה מידה הגדולים של קורס. 800 00:37:51,800 --> 00:37:54,300 >> זה אחד בפרט נועד פטיש בית הנקודה 801 00:37:54,300 --> 00:37:57,580 שמדעי המחשב הוא סופו של דבר לא על תכנות, אלא 802 00:37:57,580 --> 00:37:59,280 על פתרון בעיות באופן כללי יותר. 803 00:37:59,280 --> 00:38:01,450 ופאזל יום, כפי שאתה לראות, יביא לך 804 00:38:01,450 --> 00:38:04,207 והחברים לכיתה שלך together-- אנו מקווים בשבת קרובה. 805 00:38:04,207 --> 00:38:04,961 >> בלינדה: אישור. 806 00:38:04,961 --> 00:38:05,750 היי, חבר 'ה. 807 00:38:05,750 --> 00:38:06,740 אז תודה. 808 00:38:06,740 --> 00:38:10,120 אז כפי שהקפטן המהולל שלנו אמר, של השם שלי בלינדה. 809 00:38:10,120 --> 00:38:12,100 אני בכיתה י 'בבית קווינסי. 810 00:38:12,100 --> 00:38:15,730 >> אני, בדיוק כמוך חבר 'ה, לקח השנה CS50 האחרונה, ממש אהבתי את זה. 811 00:38:15,730 --> 00:38:17,960 יש לי חולשה ל אתם בשורה השלישית. 812 00:38:17,960 --> 00:38:21,384 ואני גאה לומר, שאני עכשיו במערכת יחסים מחויבת 813 00:38:21,384 --> 00:38:22,300 עם CS50 [לא ברור]. 814 00:38:22,300 --> 00:38:22,799 אישור. 815 00:38:22,799 --> 00:38:26,140 זה היה הגרסה הצולעת שלי של בדיחה. 816 00:38:26,140 --> 00:38:28,320 >> בכל אופן, כל כך מרגש על, רק רציתי להזמין את 817 00:38:28,320 --> 00:38:31,439 אתם כל למעבדה-i, או כוורות HBS. 818 00:38:31,439 --> 00:38:33,730 אנחנו הולכים להיות שיש פאזל יום 12:00-3:00. 819 00:38:33,730 --> 00:38:37,680 וזו הזדמנות מצוינת בשבילך החבר 'ה להיפגש עם חברי CS הבחור שלך, 820 00:38:37,680 --> 00:38:42,780 לפתור כמה שאינו CS חידות, כמו קפטן ציינו, וגם לאכול קצת אוכל חינם, 821 00:38:42,780 --> 00:38:46,910 להרוויח כמה פרסים מדהים, כמו כרטיסי מתנה, 75 $ לאדם, 822 00:38:46,910 --> 00:38:48,400 וalso-- מה זה היה? 823 00:38:48,400 --> 00:38:49,540 Wii U או משהו? 824 00:38:49,540 --> 00:38:50,333 Wii U? 825 00:38:50,333 --> 00:38:51,040 כן. 826 00:38:51,040 --> 00:38:52,330 להגרלה שלנו. 827 00:38:52,330 --> 00:38:52,830 מדהים. 828 00:38:52,830 --> 00:38:54,310 אז אני אשאר בסביבה אחרי השיעור. 829 00:38:54,310 --> 00:38:56,770 ואם יש לכם כל שאלות, תנו לי לדעת. 830 00:38:56,770 --> 00:38:59,980 >> דוד י מלאן: ואתם תראו, מעבר זה אין מה לעשות היום. 831 00:38:59,980 --> 00:39:01,920 להגדיר את הבעיה הראשונה אצא ביום שישי. 832 00:39:01,920 --> 00:39:05,420 אבל כדי להביא אותנו הביתה היום, אני רוצה להכיר לך באופן ספציפי לאחד יותר 833 00:39:05,420 --> 00:39:09,080 חבר בצוות, קולטון אוגדן כאן, שידיו עכשיו 834 00:39:09,080 --> 00:39:12,250 מוגן מעליך עם בקר MIDI זה 835 00:39:12,250 --> 00:39:15,170 פטיש בית הנקודה נוסף שמדעי המחשב, מדי, 836 00:39:15,170 --> 00:39:19,130 יש תחולה הרבה מעבר להנדסה וגזע ואת עצמו למדעי מחשב, 837 00:39:19,130 --> 00:39:22,890 הארכה אפילו לכאלה תחומים כמו מוסיקה. 838 00:39:22,890 --> 00:39:30,590 >> קולטון יש חביבות offered-- חשבתי אחד מהם היה הולך לתקן את הפוקוס. 839 00:39:30,590 --> 00:39:34,400 אנדרו, מיקוד אם נוכל לזמן כאן רק לרגע. 840 00:39:34,400 --> 00:39:36,780 >> מה קולטון עשה מראש היא תכנית 841 00:39:36,780 --> 00:39:40,345 מכשיר זה, משטח הזה של כפתורים שאתה רואה בתמונה כאן למעלה, 842 00:39:40,345 --> 00:39:42,470 כבקר MIDI, לפי כל אחד מהכפתורים האלה 843 00:39:42,470 --> 00:39:47,080 קווית כדי תו מוסיקלי מסוים או צליל, באופן כללי יותר הקלטה, 844 00:39:47,080 --> 00:39:50,445 כך שעל ידי משחק דפוסים אלה כפתורים, בדומה לדפוסים של ביטים, 845 00:39:50,445 --> 00:39:52,620 יכול לייצג אחר מושגים ברמה גבוהים יותר. 846 00:39:52,620 --> 00:39:56,750 האם הוא יהיה מסוגל סופו של דבר שתיקח אותנו הביתה לכאן היום? 847 00:39:56,750 --> 00:39:59,540 בלי שהיות, אם אנחנו יכולים לעמעם את האורות, 848 00:39:59,540 --> 00:40:03,145 ולהפעיל את המסך מאחורי קולטון. 849 00:40:03,145 --> 00:40:03,865 >> קהל: וו! 850 00:40:03,865 --> 00:40:06,090 >> דוד י מלאן: זה CS50. 851 00:40:06,090 --> 00:40:10,518 >> [השמעת מוסיקה] 852 00:40:10,518 --> 00:42:46,018 853 00:42:46,018 --> 00:42:49,420 >> [מחיאות כפות] 854 00:42:49,420 --> 00:42:54,766 855 00:42:54,766 --> 00:42:56,450 >> זהו זה לCS50. 856 00:42:56,450 --> 00:42:57,950 אנחנו אראה אותך ביום שישי. 857 00:42:57,950 --> 00:42:59,890 עוגה כמה מחכה לכם בבית הרוחב. 858 00:42:59,890 --> 00:43:04,046 859 00:43:04,046 --> 00:43:08,850 >> [השמעת מוסיקה] 860 00:43:08,850 --> 00:45:49,227