1 00:00:00,000 --> 00:00:11,120 2 00:00:11,120 --> 00:00:12,590 >> SPEAKER: Tôi [không nghe được]. 3 00:00:12,590 --> 00:00:14,820 Và tôi là một cao cấp tại Leverett nhà. 4 00:00:14,820 --> 00:00:18,700 Tôi nghiên cứu khoa học máy tính, và tôi là một TF CS50. 5 00:00:18,700 --> 00:00:21,640 Là một sinh viên năm nhất, tôi thậm chí không có một máy tính xách tay hoặc điện thoại thông minh. 6 00:00:21,640 --> 00:00:23,550 Tôi không có kinh nghiệm lập trình. 7 00:00:23,550 --> 00:00:29,690 CS50 là một giải pháp đáng nhớ nhất mà Tôi đã ở Harvard vì nó là 8 00:00:29,690 --> 00:00:32,960 một cuộc đấu tranh, nhưng nó là một thực sự đấu tranh vui vẻ cùng một lúc. 9 00:00:32,960 --> 00:00:37,670 Và tôi đã thực hiện rất nhiều tuyệt vời, vĩnh viễn bạn bè, và tôi học được rất nhiều thực sự 10 00:00:37,670 --> 00:00:38,830 kỹ năng áp dụng. 11 00:00:38,830 --> 00:00:43,480 Tôi rất vui vì tôi đã không để tôi thiếu nền là một cái cớ cho tôi 12 00:00:43,480 --> 00:00:44,840 không có CS50. 13 00:00:44,840 --> 00:00:46,220 Tôi [không nghe được]. 14 00:00:46,220 --> 00:00:48,910 Tôi là một cao cấp tại Leverett Nhà ở, lớp học của năm 2014. 15 00:00:48,910 --> 00:00:51,670 Và tôi đã CS50. 16 00:00:51,670 --> 00:00:52,380 >> DAVID Malan: Vì vậy, đây là CS50. 17 00:00:52,380 --> 00:00:54,400 Đây là cuối tuần không. 18 00:00:54,400 --> 00:00:58,500 Và nhớ lại nơi mà chúng tôi bắt đầu thời gian qua, là với các loại đèn, được 19 00:00:58,500 --> 00:01:01,420 rất phổ biến mà chúng tôi đã đi và mua một số chi tiết ngày hôm nay. 20 00:01:01,420 --> 00:01:03,790 Vì vậy, tôi nghĩ rằng đây sẽ là việc của chúng tôi trong năm nay - 21 00:01:03,790 --> 00:01:07,230 đèn bàn nếu bạn đi lên trên sân khấu, ít nhất là cho đến khi chúng tôi chạy ra ngoài. 22 00:01:07,230 --> 00:01:11,570 >> Nhưng chúng tôi sử dụng những thu hồi, để giới thiệu những điều cơ bản của đại diện của dữ liệu. 23 00:01:11,570 --> 00:01:15,640 Chúng tôi cần cách để bắt đầu đại diện cho thông tin bên trong máy tính. 24 00:01:15,640 --> 00:01:18,650 Và cách đơn giản nhất để làm điều đó là với một thành phần, điện. 25 00:01:18,650 --> 00:01:21,760 Và điều đơn giản, bạn có thể làm với điện là chuyển nó vào và nó đi. 26 00:01:21,760 --> 00:01:23,520 Hãy để cho dòng điện tử hay không. 27 00:01:23,520 --> 00:01:27,930 Và sử dụng hai quốc gia cơ bản, tắt và về, hay sai và đúng sự thật, hay không và 28 00:01:27,930 --> 00:01:31,290 một, chúng tôi bắt đầu thấy rằng chúng tôi có thể xây dựng lên, trong trường hợp này, với ánh sáng 29 00:01:31,290 --> 00:01:33,720 bóng đèn, số lượng nhiều hơn so với chỉ số không và một. 30 00:01:33,720 --> 00:01:36,160 Chúng tôi tính như cao như bảy, Ví dụ, thời gian qua. 31 00:01:36,160 --> 00:01:38,840 Nhưng tất cả chúng ta phải làm là tiếp tục ném hơn và sáng hơn bóng đèn ở đó 32 00:01:38,840 --> 00:01:41,820 vấn đề và, thực sự, chúng ta có thể đại diện cho bất kỳ số nào mà chúng ta 33 00:01:41,820 --> 00:01:42,970 có thể có thể muốn. 34 00:01:42,970 --> 00:01:47,230 >> Vâng, chúng tôi chuyển một cách nhanh chóng sau đó trên Thứ tư để byte này của tình nguyện viên. 35 00:01:47,230 --> 00:01:52,040 8 bit là những gì chúng ta thường gọi một byte, vì vậy ở đây chúng tôi đã có tám tình nguyện viên 36 00:01:52,040 --> 00:01:54,900 hôm thứ Tư, người đã chung đại diện cho tám bit. 37 00:01:54,900 --> 00:01:56,750 Và khi bàn tay của họ đã đi , họ là một. 38 00:01:56,750 --> 00:01:58,530 Và khi đôi tay của họ xuống, có một số không. 39 00:01:58,530 --> 00:02:01,970 Và chúng tôi đã có những người này đưa ra lý do tại sao trên sân khấu? 40 00:02:01,970 --> 00:02:06,530 Những gì chúng tôi có thể làm gì với trình tự này của các bit? 41 00:02:06,530 --> 00:02:07,510 >> Để tạo ra một bảng chữ cái. 42 00:02:07,510 --> 00:02:11,550 Chúng tôi có thể xây dựng trên đó bài học trước học và thực sự 43 00:02:11,550 --> 00:02:14,200 bắt đầu làm cho thú vị hơn thông tin đó là ít nhất hơn 44 00:02:14,200 --> 00:02:15,330 quen thuộc với con người chúng ta. 45 00:02:15,330 --> 00:02:18,360 Và điều này là có được một định kỳ chủ đề trong suốt 50, nhưng cũng máy tính 46 00:02:18,360 --> 00:02:21,470 khoa học nói chung, ý tưởng này của lớp, ở đâu, vào cuối của 47 00:02:21,470 --> 00:02:24,820 ngày, nếu bạn thực sự bắt đầu vấn đề cơ bản với một máy tính, có, 48 00:02:24,820 --> 00:02:25,760 đó là số không và những người thân. 49 00:02:25,760 --> 00:02:27,480 Và bên dưới nó là chỉ điện. 50 00:02:27,480 --> 00:02:30,840 Nhưng chúng tôi rất nhanh chóng bắt đầu để có những chi tiết mức thấp cho các cấp 51 00:02:30,840 --> 00:02:35,600 và bắt đầu lớp trên đầu trang của quá khứ làm việc thực hiện để chúng ta, cuối cùng, bởi 52 00:02:35,600 --> 00:02:38,610 kết thúc học kỳ và, thực sự, nói chung như các nhà khoa học máy tính 53 00:02:38,610 --> 00:02:42,790 và các lập trình viên, có thể làm một số thực sự những điều mạnh mẽ bằng cách thúc đẩy công việc 54 00:02:42,790 --> 00:02:46,620 mà chính chúng ta đã làm và cũng đứng trên vai của những người khác. 55 00:02:46,620 --> 00:02:49,300 >> Bây giờ chúng tôi nhanh chóng chuyển hôm thứ Tư từ chỉ cần phải 56 00:02:49,300 --> 00:02:52,080 đại diện cho thông tin muốn làm điều gì đó với nó. 57 00:02:52,080 --> 00:02:54,170 Chúng tôi đã làm như vậy những gì xác định một thuật toán như? 58 00:02:54,170 --> 00:02:57,340 59 00:02:57,340 --> 00:02:58,900 Một loạt các hướng dẫn. 60 00:02:58,900 --> 00:03:03,380 Vì vậy, đó là một loạt các hướng dẫn, một số bước mà bạn, một con người, hoặc 61 00:03:03,380 --> 00:03:07,160 một máy tính, thông thường hơn, sẽ thực hiện một sau khi khác để 62 00:03:07,160 --> 00:03:08,100 để đạt được một số mục tiêu. 63 00:03:08,100 --> 00:03:11,360 Và chúng tôi đã có một vài mục tiêu thời gian qua, một trong số đó là tính 64 00:03:11,360 --> 00:03:12,250 người trong phòng. 65 00:03:12,250 --> 00:03:15,560 Và một ví dụ như vậy là để tìm Mike Smith trong một cuốn sách điện thoại. 66 00:03:15,560 --> 00:03:19,750 >> Vì vậy, bạn có thể nhớ lại rằng tôi đã xé một điện thoại cuốn sách trong nửa theo con đường này lên 67 00:03:19,750 --> 00:03:21,280 tìm kiếm Mike Smith. 68 00:03:21,280 --> 00:03:24,000 Mục đích của hình ảnh đó là chứng minh, một lần nữa, rằng chúng tôi 69 00:03:24,000 --> 00:03:27,770 nghĩa đen rách vấn đề này trong một nửa, một nửa, một nửa, và rất 70 00:03:27,770 --> 00:03:31,750 nhanh chóng đi từ như 1.000 trang chỉ là một trang duy nhất. 71 00:03:31,750 --> 00:03:34,860 Những người bạn của những người bị mất này trên Thứ tư, tôi nghĩ chúng ta sẽ chơi lại 72 00:03:34,860 --> 00:03:36,820 một số cảnh quay của những gì bạn bỏ qua. 73 00:03:36,820 --> 00:03:38,914 Chúng ta hãy có một cái nhìn. 74 00:03:38,914 --> 00:03:40,906 >> [VIDEO xem lại] 75 00:03:40,906 --> 00:03:55,360 76 00:03:55,360 --> 00:03:55,990 >> -Hiện chúng tôi đi. 77 00:03:55,990 --> 00:04:01,432 1500 trang, Nice sạch dòng, nước mắt hợp pháp. 78 00:04:01,432 --> 00:04:02,850 >> [END xem video] 79 00:04:02,850 --> 00:04:05,230 >> DAVID Malan: Vì vậy, đó là thứ tư. 80 00:04:05,230 --> 00:04:09,150 Chúng tôi chuyển tiếp, tuy nhiên, hôm thứ Tư tại để muốn đại diện cho các thuật toán 81 00:04:09,150 --> 00:04:12,410 trong một số cách khá tiêu chuẩn, không chỉ mô tả chúng bằng lời nói, nhưng 82 00:04:12,410 --> 00:04:16,290 cố gắng thể hiện bằng văn bản hoặc trên một màn hình máy tính để chúng tôi có thể 83 00:04:16,290 --> 00:04:19,170 bắt đầu cải tiến và sửa đổi họ, và, cuối cùng, thực sự 84 00:04:19,170 --> 00:04:21,160 phân tích như thế nào đúng hoặc làm thế nào nhanh chóng họ. 85 00:04:21,160 --> 00:04:23,360 >> Vì vậy, chúng tôi giới thiệu khái niệm này của giả, trong đó, 86 00:04:23,360 --> 00:04:26,410 cách hiểu thông thường, là những gì? 87 00:04:26,410 --> 00:04:26,930 OK, lời nói. 88 00:04:26,930 --> 00:04:28,730 Chúng ta hãy đi sâu hơn một chút so với. 89 00:04:28,730 --> 00:04:32,540 Tiếng Anh, chắc chắn, nhưng là đối với những gì kết thúc? 90 00:04:32,540 --> 00:04:35,180 Nói cách nào đó để tạo ra hoặc đại diện các thuật toán. 91 00:04:35,180 --> 00:04:38,380 Vì vậy, không có một ngôn ngữ được biết đến như giả trên thế giới. 92 00:04:38,380 --> 00:04:41,110 Nó chỉ là bạn, trong tiếng Anh, hoặc bất cứ ngôn ngữ nói của bạn, sử dụng 93 00:04:41,110 --> 00:04:44,930 một loại ký hiệu lướt qua để truyền đạt một ý tưởng rất ngắn gọn. 94 00:04:44,930 --> 00:04:47,930 Nhưng chúng ta sẽ thấy rằng, chắc chắn với một Giả tiếng Anh, và nó quay ra 95 00:04:47,930 --> 00:04:51,700 hầu hết các ngôn ngữ lập trình tự là dẫn xuất của Anh chính nó, 96 00:04:51,700 --> 00:04:55,750 chúng ta sẽ thấy rằng có một số tiêu chuẩn cách đại diện cho giả và 97 00:04:55,750 --> 00:04:57,150 cũng lập trình mã. 98 00:04:57,150 --> 00:05:00,200 Vì vậy, khi bạn bắt đầu nhìn thấy thậm chí đơn giản ví dụ hôm nay, nhận ra những 99 00:05:00,200 --> 00:05:02,160 mô hình tương tự sẽ tái diễn vào tuần tới. 100 00:05:02,160 --> 00:05:04,710 >> Vì vậy, giả là một số loại ngôn ngữ tương tự như 101 00:05:04,710 --> 00:05:06,170 một ngôn ngữ lập trình. 102 00:05:06,170 --> 00:05:09,260 Và ví dụ đầu tiên chúng tôi nhìn thấy bằng mắt viết ra là thế này. 103 00:05:09,260 --> 00:05:12,870 Nó chỉ là một bước chương trình ba, mục tiêu trong số đó là để đếm số lượng 104 00:05:12,870 --> 00:05:15,650 người trong một căn phòng ký túc xá cho rằng video hôm thứ Tư. 105 00:05:15,650 --> 00:05:19,040 Nhưng có một vài khía cạnh thú vị của chương trình đơn giản này. 106 00:05:19,040 --> 00:05:20,320 >> Và đây sẽ là chủ đề định kỳ. 107 00:05:20,320 --> 00:05:22,930 Vì vậy, đối với những người không quen với này, một, chúng tôi giới thiệu một biến. 108 00:05:22,930 --> 00:05:25,650 Và có lẽ tất cả mọi người trong căn phòng này là quen thuộc với một biến trong 109 00:05:25,650 --> 00:05:27,250 bối cảnh của đại số. 110 00:05:27,250 --> 00:05:31,190 Nhưng ở đây trong chương trình, các biến được, một, có thể 111 00:05:31,190 --> 00:05:32,220 gọi là bất cứ điều gì chúng ta muốn. 112 00:05:32,220 --> 00:05:33,620 Chúng tôi đã sử dụng n như một truy cập. 113 00:05:33,620 --> 00:05:37,490 Nhưng chúng ta có thể sử dụng truy cập từ, hoặc, như bạn sẽ thấy, hầu hết bất kỳ cụm từ 114 00:05:37,490 --> 00:05:40,240 bạn có thể muốn miễn là nó mô tả, nhưng nó thực sự chỉ là một 115 00:05:40,240 --> 00:05:41,250 bình dự trữ. 116 00:05:41,250 --> 00:05:44,170 Đó là một đoạn bộ nhớ, một số số bit, và nó thay đổi theo máy tính, làm thế nào 117 00:05:44,170 --> 00:05:47,020 nhiều bit có mà soạn biến đó. 118 00:05:47,020 --> 00:05:48,450 >> Nhưng chúng ta có thể đặt các giá trị trong đó. 119 00:05:48,450 --> 00:05:50,740 Như vậy đến nay, chúng tôi đã chỉ đặt số. 120 00:05:50,740 --> 00:05:52,290 Nhưng chúng ta có thể đặt từ thực tế. 121 00:05:52,290 --> 00:05:53,420 Chúng ta có thể đưa đoạn văn. 122 00:05:53,420 --> 00:05:54,560 Chúng ta có thể đưa hình ảnh - 123 00:05:54,560 --> 00:05:57,860 bất cứ điều gì, thực sự, chúng tôi có thể đại diện với số không và những người thân, chúng ta có thể đặt trong 124 00:05:57,860 --> 00:05:59,820 này khái niệm mức độ cao hơn của một biến. 125 00:05:59,820 --> 00:06:01,350 >> Vì vậy, khá thẳng chuyển tiếp ở đó. 126 00:06:01,350 --> 00:06:02,210 Và đó là dòng một. 127 00:06:02,210 --> 00:06:05,340 Nhưng chúng tôi rất nhanh chóng chuyển từ dòng một để thực sự làm 128 00:06:05,340 --> 00:06:06,600 một cái gì đó với biến đó. 129 00:06:06,600 --> 00:06:10,330 Và trong dòng ba, chúng tôi cập nhật N. Chúng tôi tăng lên N. Và chúng tôi có thể viết này 130 00:06:10,330 --> 00:06:11,330 nhiều cách. 131 00:06:11,330 --> 00:06:14,460 Nhưng có lẽ là rõ ràng nhất là chỉ để nói, thiết lập N bằng để 132 00:06:14,460 --> 00:06:16,440 bất cứ điều gì N là cộng thêm 1. 133 00:06:16,440 --> 00:06:17,740 Vì vậy, đó là tăng của chúng tôi. 134 00:06:17,740 --> 00:06:18,740 >> Trong khi đó, đã có một vòng lặp. 135 00:06:18,740 --> 00:06:20,720 Và một điều này nữa, có lẽ khá trực quan. 136 00:06:20,720 --> 00:06:24,250 Một vòng lặp chỉ là một cái gì đó trong một chương trình điều đó xảy ra một lần nữa và một lần nữa, một số 137 00:06:24,250 --> 00:06:25,190 loại chu kỳ. 138 00:06:25,190 --> 00:06:29,300 Và cụm từ khóa này ở đây, cho mỗi, là thực sự rất phổ biến trên toàn nhất 139 00:06:29,300 --> 00:06:32,300 ngôn ngữ lập trình, bao gồm cả những người chúng ta sẽ thấy trong khóa học. 140 00:06:32,300 --> 00:06:35,850 Bất cứ lúc nào bạn thấy từ cho, nó thường chuyển tải ý tưởng rằng một 141 00:06:35,850 --> 00:06:38,410 vòng lặp, một cái gì đó mang tính chu kỳ, sắp xảy ra. 142 00:06:38,410 --> 00:06:40,980 >> Nhưng nó có giá trị lưu ý một chi tiết cú pháp khác. 143 00:06:40,980 --> 00:06:44,660 Thực tế là dòng thứ ba có thực sự lõm vào khi nhấn 144 00:06:44,660 --> 00:06:46,920 thanh không gian vài lần là có chủ ý. 145 00:06:46,920 --> 00:06:49,870 Bởi vì ước của con người là như vậy mà, khi bạn đang làm một cái gì đó một lần nữa và 146 00:06:49,870 --> 00:06:54,860 một lần nữa, trong vòng một, như bắt đầu trên dòng hai, bạn thụt vào bất cứ thứ gì thuộc về 147 00:06:54,860 --> 00:06:58,880 để lặp mà chỉ để làm cho rõ ràng rằng đó là dòng ba và không, ví dụ, 148 00:06:58,880 --> 00:07:01,910 dòng bốn hoặc năm, nếu có dòng cho hay năm, đó là 149 00:07:01,910 --> 00:07:03,010 một phần của vòng. 150 00:07:03,010 --> 00:07:07,340 Vì vậy, thụt đầu dòng đơn giản này truyền tải ý tưởng cơ bản. 151 00:07:07,340 --> 00:07:09,390 >> Vì vậy, chúng tôi áp dụng thuật toán này, bây giờ, để một vài ví dụ. 152 00:07:09,390 --> 00:07:12,620 Và điều này cũng vậy, ví dụ đơn giản trong thế giới thực. 153 00:07:12,620 --> 00:07:15,440 Nhưng nó sẽ là đại diện của làm thế nào bạn sẽ đi về thử nghiệm của bạn 154 00:07:15,440 --> 00:07:17,500 sở hữu các chương trình ngày càng phức tạp. 155 00:07:17,500 --> 00:07:21,050 Bạn hãy thử một vài kịch bản, một số đại diện đầu vào, và xem nếu bạn 156 00:07:21,050 --> 00:07:22,180 có được kết quả mong muốn. 157 00:07:22,180 --> 00:07:25,090 >> Vì vậy, ví dụ này có hai người ngồi trong phòng ký túc xá. 158 00:07:25,090 --> 00:07:27,170 Bên trái là mã giả cùng. 159 00:07:27,170 --> 00:07:30,800 Và đây là một ảnh chụp màn hình của rất Bước cuối cùng của việc áp dụng này 160 00:07:30,800 --> 00:07:35,270 thuật toán để các yếu tố đầu vào, trong đó có hai người trong phòng và, 161 00:07:35,270 --> 00:07:39,190 nhớ lại, khi chúng ta bước qua dòng một, và hai, và ba, và hai 162 00:07:39,190 --> 00:07:41,000 và ba là xong - 163 00:07:41,000 --> 00:07:44,870 vào cuối của thuật toán, chúng tôi đã có thực sự đếm hai nghiên cứu sinh là ai 164 00:07:44,870 --> 00:07:45,360 trong phòng. 165 00:07:45,360 --> 00:07:47,190 >> Vì vậy, sau đó chúng tôi đã thử một ví dụ khác. 166 00:07:47,190 --> 00:07:48,990 Và chúng tôi đã nói những gì nếu có không người ở trong phòng? 167 00:07:48,990 --> 00:07:50,490 Là mã này vẫn còn đúng không? 168 00:07:50,490 --> 00:07:51,305 Và thực sự nó là. 169 00:07:51,305 --> 00:07:55,240 Nó chỉ như vậy sẽ xảy ra rằng dòng hai và, do đó, dòng ba hoặc 170 00:07:55,240 --> 00:07:56,620 sẽ không thực hiện. 171 00:07:56,620 --> 00:07:59,790 Họ sẽ không xảy ra ở tất cả các bởi vì họ chỉ không áp dụng nếu 172 00:07:59,790 --> 00:08:01,210 có không người trong phòng. 173 00:08:01,210 --> 00:08:02,300 >> Nhưng không phải là một vấn đề lớn. 174 00:08:02,300 --> 00:08:06,620 Dòng N khởi tạo một số không, do mặc dù chỉ có một dòng này 175 00:08:06,620 --> 00:08:10,930 chương trình thực sự kết thúc lên được hữu ích, nó vẫn mang lại câu trả lời đúng, như 176 00:08:10,930 --> 00:08:13,780 chỉ định bởi các cam bằng không ở phía dưới. 177 00:08:13,780 --> 00:08:16,300 Nhưng sau đó chúng tôi quyết định là loại một thuật toán ngu ngốc. 178 00:08:16,300 --> 00:08:17,060 Nó đã được khá chậm. 179 00:08:17,060 --> 00:08:19,720 Chắc chắn, tôi có thể làm hai, bốn, sáu, tám, mười, khi 180 00:08:19,720 --> 00:08:20,990 đếm người trong một căn phòng. 181 00:08:20,990 --> 00:08:25,030 >> Vì vậy, chúng tôi chỉnh các thuật toán, giả, để nói rằng, bây giờ trong dòng hai, 182 00:08:25,030 --> 00:08:29,710 cho mỗi cặp của người dân trong phòng, tiến hành, trong dòng ba, tăng 183 00:08:29,710 --> 00:08:32,200 trong của hai trên mỗi lần lặp. 184 00:08:32,200 --> 00:08:35,530 Vì vậy mà có thể đã làm việc ở đây cặp này của người trong phòng. 185 00:08:35,530 --> 00:08:38,530 >> Nhưng sau đó, nếu bạn bắt đầu suy nghĩ về này, và nó không mất nhiều thời gian để 186 00:08:38,530 --> 00:08:40,710 nhận ra, chờ một phút này là sẽ phá vỡ, nó phá vỡ 187 00:08:40,710 --> 00:08:42,679 vào những gì trường hợp đơn giản? 188 00:08:42,679 --> 00:08:45,500 Nếu có ba người trong phòng hay, nói chung, khi có một 189 00:08:45,500 --> 00:08:47,660 số lẻ của người dân trong phòng, trong đó có một. 190 00:08:47,660 --> 00:08:50,390 Chúng tôi sẽ nhớ người đó ở đây vì không có cặp như vậy. 191 00:08:50,390 --> 00:08:58,510 Vì vậy, chúng tôi nhanh chóng giải quyết bằng cách thay giới thiệu gì thêm 192 00:08:58,510 --> 00:09:02,560 cấu trúc lập trình để mã giả. 193 00:09:02,560 --> 00:09:04,955 >> Vì vậy, một điều kiện, chúng tôi gọi là nó, hoặc một chi nhánh. 194 00:09:04,955 --> 00:09:08,420 Và nó có nghĩa là để chuyển tải, trực quan, các ý tưởng của chi nhánh, một ngã ba trên đường 195 00:09:08,420 --> 00:09:11,080 nơi bạn có thể làm điều này hoặc, có lẽ, cái gì khác. 196 00:09:11,080 --> 00:09:15,750 Và thực sự, chúng ta giải quyết vấn đề này bằng cách thêm dòng 4, bằng cách nói, thực sự, tại 197 00:09:15,750 --> 00:09:20,820 cuối, nếu một người vẫn còn, sau đó đi trước và đếm chúng đặc biệt. 198 00:09:20,820 --> 00:09:24,460 Vì vậy, bạn sắp xếp các trường hợp đặc biệt chúng, do đó để nói chuyện, để bây giờ chúng tôi có thể xử lý 199 00:09:24,460 --> 00:09:27,810 cả một số thậm chí của người dân và một số lẻ của người dân. 200 00:09:27,810 --> 00:09:30,260 >> Hiện nay có nhiều cách chúng ta có thể diễn tả điều này. 201 00:09:30,260 --> 00:09:33,590 Và thẳng thắn, tôi có thể đã được nhiều hơn nit cầu kỳ khi nói đến sự lựa chọn của tôi 202 00:09:33,590 --> 00:09:35,040 Tiếng Anh cho giả. 203 00:09:35,040 --> 00:09:36,970 Nhưng ít nhất là tinh thần của ý tưởng được chuyển tải. 204 00:09:36,970 --> 00:09:40,725 Nếu bạn đưa mã này cho bạn bè những người không phải trong CS, hoặc chưa bao giờ thực hiện 205 00:09:40,725 --> 00:09:44,560 CS, tỷ lệ cược là họ có thể tìm ra, cho ba người trong phòng, làm thế nào để 206 00:09:44,560 --> 00:09:46,870 đếm những người dựa trên những hướng dẫn này. 207 00:09:46,870 --> 00:09:49,920 Và đó là tất cả thực sự chúng tôi muốn đạt được với giả, bằng cách nào đó 208 00:09:49,920 --> 00:09:54,300 tiêu chuẩn hóa cách chúng ta đang đi về đại diện cho ý tưởng để chúng tôi có thể 209 00:09:54,300 --> 00:09:56,670 bắt đầu làm phức tạp hơn điều vẫn còn. 210 00:09:56,670 --> 00:09:58,845 >> Để dẫn chúng ta sau đó, ngày hôm nay, để mã thực tế. 211 00:09:58,845 --> 00:10:01,950 Chúng tôi bắt đầu chương trình hôm nay, mặc dù trong một môi trường thân thiện. 212 00:10:01,950 --> 00:10:05,940 Và sau đó chúng tôi chuyển đổi rất nhanh chóng để một cú pháp phức tạp hơn, nhưng một trong đó 213 00:10:05,940 --> 00:10:10,340 bạn sẽ thấy về cơ bản là giống như những ý tưởng sẽ nhìn thấy biểu hiện với 214 00:10:10,340 --> 00:10:11,990 ngôn ngữ khác ngày hôm nay. 215 00:10:11,990 --> 00:10:13,920 Nó chỉ sẽ xem xét một chút khác nhau. 216 00:10:13,920 --> 00:10:16,590 >> Vì vậy, thay vì chỉ cần gọi mã này, tôi sẽ là một chút chính xác hơn 217 00:10:16,590 --> 00:10:20,170 và nói, từ nay về sau, khi viết một chương trình, bạn viết mã nguồn. 218 00:10:20,170 --> 00:10:21,990 Nó là loại giống như giả. 219 00:10:21,990 --> 00:10:26,540 Nhưng chúng ta sẽ thấy nó không phải là loại lỏng khi nói đến việc lựa chọn các từ 220 00:10:26,540 --> 00:10:27,310 mà bạn sử dụng. 221 00:10:27,310 --> 00:10:31,300 Khi lập trình bằng một ngôn ngữ, bạn có sử dụng các từ, cụm từ, 222 00:10:31,300 --> 00:10:36,020 cú pháp, mà người khác đã quyết định đại diện cho 223 00:10:36,020 --> 00:10:37,240 mà ngôn ngữ cụ thể. 224 00:10:37,240 --> 00:10:38,510 Vì vậy, pseudocodes là tùy thuộc vào bạn. 225 00:10:38,510 --> 00:10:42,330 Một ngôn ngữ lập trình thực tế như C, như chúng tôi cuối cùng sẽ thấy, là 226 00:10:42,330 --> 00:10:43,590 tiêu chuẩn của người khác. 227 00:10:43,590 --> 00:10:45,590 >> Vì vậy, làm thế nào để chúng tôi đi về bằng văn bản một số mã nguồn? 228 00:10:45,590 --> 00:10:46,810 Vâng tôi sẽ đi trước và làm điều này. 229 00:10:46,810 --> 00:10:49,100 Tôi sẽ đi trước và mở ra một cửa sổ ở đây. 230 00:10:49,100 --> 00:10:50,210 Hơn vào tuần tới này. 231 00:10:50,210 --> 00:10:52,300 Nhưng đây là một thiết bị được gọi là thiết bị CS50. 232 00:10:52,300 --> 00:10:55,480 Tôi đang chạy một phần mềm trên của tôi Mac, mặc dù bạn có thể làm điều tương tự 233 00:10:55,480 --> 00:11:00,580 trên một máy tính Windows, đó là bố thí tôi ảo tưởng chạy một khác nhau 234 00:11:00,580 --> 00:11:03,700 hệ điều hành hoàn toàn đúng ở đây trong một cửa sổ trên máy Mac của tôi. 235 00:11:03,700 --> 00:11:06,790 Tôi đã chỉ toàn chiếu nó, do đó bạn không thực sự thấy Mac OS ngay bây giờ. 236 00:11:06,790 --> 00:11:08,340 >> Đây là một hệ điều hành được gọi là Linux. 237 00:11:08,340 --> 00:11:09,300 Nó rất phổ biến. 238 00:11:09,300 --> 00:11:10,120 Nó rất nhanh. 239 00:11:10,120 --> 00:11:12,950 Đó là rất tự do, mà đã làm cho nó rất hấp dẫn, đặc biệt là trong 240 00:11:12,950 --> 00:11:13,970 thế giới thương mại. 241 00:11:13,970 --> 00:11:17,200 Và thêm vào đó vào cuối của học kỳ khi chúng tôi sử dụng Linux khá một chút 242 00:11:17,200 --> 00:11:21,230 cho lập trình web và lưu trữ của các trang web thực tế, dự án. 243 00:11:21,230 --> 00:11:24,910 Vì vậy, bây giờ, chỉ biết rằng đây là một máy tính để bàn đó là có nghĩa là để nhìn mơ hồ 244 00:11:24,910 --> 00:11:26,750 quen thuộc với Windows và Mac OS. 245 00:11:26,750 --> 00:11:29,110 Nó chỉ có một số tên gọi khác nhau và biểu tượng cho những thứ. 246 00:11:29,110 --> 00:11:32,510 Nhưng đây là cái gọi là CS50 thiết bị, một máy ảo, 247 00:11:32,510 --> 00:11:35,310 bắt đầu vào tuần tới, các bạn sẽ chạy bên trong một cửa sổ trên 248 00:11:35,310 --> 00:11:36,960 Mac của riêng bạn hoặc máy tính. 249 00:11:36,960 --> 00:11:39,760 >> Cho ngày hôm nay, tôi sẽ mở ra đơn giản nhất của chương trình. 250 00:11:39,760 --> 00:11:41,110 Nó được gọi là gedit. 251 00:11:41,110 --> 00:11:42,565 Và điều này chỉ là một trình soạn thảo đồ họa. 252 00:11:42,565 --> 00:11:44,695 Nó là loại giống như Microsoft Từ, nhưng đơn giản hơn. 253 00:11:44,695 --> 00:11:47,110 Đó là loại văn bản như chỉnh sửa hoặc notepad. 254 00:11:47,110 --> 00:11:50,280 Nó chỉ là một chương trình rất đơn giản với để viết chữ trên màn hình. 255 00:11:50,280 --> 00:11:54,510 Nó chỉ như vậy những gì sẽ xảy ra nếu tôi tiết kiệm tập tin mà tôi tạo ra khi chương trình này 256 00:11:54,510 --> 00:11:59,860 trong một phần mở rộng đặc biệt như thế nào. c, thay vì của. doc hoặc. xls, hoặc bất cứ điều gì 257 00:11:59,860 --> 00:12:04,190 bạn đã quen thuộc với, tôi có thể thực sự tạo ra các chương trình sử dụng thậm chí đơn giản này 258 00:12:04,190 --> 00:12:05,130 soạn thảo văn bản. 259 00:12:05,130 --> 00:12:05,770 >> Vì vậy, hãy để tôi làm điều đó. 260 00:12:05,770 --> 00:12:09,330 Hãy để tôi đi trước và lưu này nộp đầu tiên như hello.c. 261 00:12:09,330 --> 00:12:12,350 Và một lần nữa, giao diện người dùng này sẽ trở thành quen thuộc với bạn một cách nhanh chóng. 262 00:12:12,350 --> 00:12:14,160 Nhưng bây giờ, tôi chỉ cần gõ trong một tên tập tin. 263 00:12:14,160 --> 00:12:17,410 Tôi sẽ lưu nó vào John của tôi Thư mục Harvard. 264 00:12:17,410 --> 00:12:20,810 Và bây giờ tôi có tab này cho biết Tôi thực sự chỉnh sửa 265 00:12:20,810 --> 00:12:23,070 một tập tin gọi là hello.c. 266 00:12:23,070 --> 00:12:24,510 Vì vậy, không có gì quá thú vị được nêu ra. 267 00:12:24,510 --> 00:12:26,000 >> Và bây giờ nó sẽ nhận được khá khó hiểu. 268 00:12:26,000 --> 00:12:28,370 Tôi sẽ để phóng to, chỉ cần vì vậy nó có thể nhìn thấy hơn. 269 00:12:28,370 --> 00:12:35,780 Và tôi sẽ bắt đầu nhập bao gồm stdio.h, int chính, có hiệu lực, mở xoăn 270 00:12:35,780 --> 00:12:40,140 cú đúp, một, hai, ba, bốn không gian thụt đầu dòng, in f, cho in 271 00:12:40,140 --> 00:12:44,450 một cái gì đó định dạng, trích dẫn unquote, "Hello, thế giới" dấu gạch chéo ngược, n, gần 272 00:12:44,450 --> 00:12:49,640 báo giá, đóng ngoặc, dấu chấm phẩy, nhập backspace, backspace, backspace, 273 00:12:49,640 --> 00:12:52,310 backspace, đóng xoăn cú đúp - 274 00:12:52,310 --> 00:12:53,350 Tôi đã được lập trình. 275 00:12:53,350 --> 00:12:57,380 >> Tất cả phải vì vậy đây là một siêu đơn giản chương trình, thực sự, chương trình 276 00:12:57,380 --> 00:12:59,070 bất cứ ai bắt đầu giảm lập trình với. 277 00:12:59,070 --> 00:13:02,300 Và tất cả nó, với tất cả sự phức tạp của nó, được in ra trên 278 00:13:02,300 --> 00:13:04,160 màn hình, bạn biết không? 279 00:13:04,160 --> 00:13:04,910 Xin chào thế giới. 280 00:13:04,910 --> 00:13:07,500 Nhưng nó không đủ chỉ viết một chương trình. 281 00:13:07,500 --> 00:13:08,155 Vì vậy, đây là mã. 282 00:13:08,155 --> 00:13:11,300 Đây là mã nguồn trong một ngôn ngữ được gọi là c. 283 00:13:11,300 --> 00:13:14,380 Nó sẽ được lưu hiện trong một tập tin gọi là hello.c. 284 00:13:14,380 --> 00:13:16,180 >> Bây giờ nhìn vào phía dưới của màn hình ở đây. 285 00:13:16,180 --> 00:13:17,890 Thêm về điều này, một lần nữa, trong những tuần tới. 286 00:13:17,890 --> 00:13:19,570 Nhưng đây là những gì chúng tôi sẽ gọi một cửa sổ thiết bị đầu cuối. 287 00:13:19,570 --> 00:13:21,290 Đó là một chớp mắt, đen và trắng nhanh chóng. 288 00:13:21,290 --> 00:13:24,390 Đó là loại một giao diện trường học cũ để một máy tính thường không 289 00:13:24,390 --> 00:13:27,050 sử dụng chuột hoặc khác yếu tố đồ họa. 290 00:13:27,050 --> 00:13:28,320 Nó chỉ sử dụng bàn phím của bạn. 291 00:13:28,320 --> 00:13:30,970 Và tôi có thể gõ lệnh tại này nhấp nháy nhanh chóng. 292 00:13:30,970 --> 00:13:33,820 >> Và cho các mục đích của ngày hôm nay, tôi chỉ sẽ gõ như sau - 293 00:13:33,820 --> 00:13:35,610 thực hiện chào. 294 00:13:35,610 --> 00:13:39,370 Và rằng chương trình, thực hiện, chỉ một là chương trình đó, trong thế giới thực này 295 00:13:39,370 --> 00:13:40,690 ngày, chúng tôi sẽ nhấn đúp chuột vào. 296 00:13:40,690 --> 00:13:44,580 Nhưng trong giao diện này cho ngày hôm nay, chúng tôi sẽ gõ tên của nó tại dấu nhắc. 297 00:13:44,580 --> 00:13:47,980 thực hiện chào là nghĩa đen sẽ làm cho tôi một chương trình gọi là xin chào. 298 00:13:47,980 --> 00:13:51,360 Và nó sẽ làm như vậy bằng cách nhìn cho một tập tin, chỉ bằng cách 299 00:13:51,360 --> 00:13:53,460 mặc định, được gọi là hello.c. 300 00:13:53,460 --> 00:13:57,260 Nó sẽ giả sử tôi muốn có một chương trình C bản chất như thế nào máy tính này 301 00:13:57,260 --> 00:13:58,230 được cấu hình. 302 00:13:58,230 --> 00:13:59,550 >> Vì vậy, tôi đi trước và nhấn Enter. 303 00:13:59,550 --> 00:14:02,050 Tôi thấy một số đầu ra khó hiểu, nhưng điều này sẽ trở nên quá 304 00:14:02,050 --> 00:14:03,330 quen thuộc trước khi dài. 305 00:14:03,330 --> 00:14:06,870 Điều này xảy ra để chạy một trình biên dịch, hơn vào đó trong một thời điểm, được gọi là kêu vang. 306 00:14:06,870 --> 00:14:09,080 Nhưng bây giờ, tôi đã có chỉ là một nhấp nháy nhắc. 307 00:14:09,080 --> 00:14:13,060 Và tôi có thể đi trước bây giờ và gõ dấu chấm cắt giảm, cho không thú lý do chúng tôi sẽ 308 00:14:13,060 --> 00:14:14,730 trở lại vào tuần tới - 309 00:14:14,730 --> 00:14:15,910 xin chào. 310 00:14:15,910 --> 00:14:19,650 >> Vì vậy, tất cả các nỗ lực này cho đến nay chỉ để viết đơn giản nhất của chương trình, 311 00:14:19,650 --> 00:14:22,640 ngay sau khi tôi nhấn Enter, không có. 312 00:14:22,640 --> 00:14:24,510 Vì vậy, tôi đã viết chương trình đầu tiên của tôi. 313 00:14:24,510 --> 00:14:27,500 Vì vậy, tôi cố tình trêu chọc tại chương trình này rất đơn giản 314 00:14:27,500 --> 00:14:28,540 cho một vài lý do. 315 00:14:28,540 --> 00:14:31,990 Một, thật khó để có được kích thích về việc tham gia một lớp học nếu 316 00:14:31,990 --> 00:14:33,430 đây là trò chơi kết thúc. 317 00:14:33,430 --> 00:14:37,100 >> Nhưng hơn thế nữa, có một rất nhiều phiền nhiễu ở đây. 318 00:14:37,100 --> 00:14:40,640 Lần đầu tiên bạn học lập trình, cho những người bạn ít thoải mái, và 319 00:14:40,640 --> 00:14:43,410 thậm chí tôi, trở lại trong ngày, khi tôi lần đầu tiên nhìn thấy một cái gì đó như thế này - bạn có thể loại 320 00:14:43,410 --> 00:14:46,500 của con số đó, tất cả các bên phải, điều này là trong một bản in hello thế giới. 321 00:14:46,500 --> 00:14:47,860 Nhưng có quá nhiều mất tập trung. 322 00:14:47,860 --> 00:14:52,110 Có rất nhiều cú pháp trên màn hình mà nó được trong cách rất 323 00:14:52,110 --> 00:14:54,170 đơn giản, nếu không đơn giản, ý tưởng. 324 00:14:54,170 --> 00:14:56,700 >> Vì vậy, những gì chúng ta sẽ làm hôm nay là chúng tôi sẽ đặt sang một bên C và đến 325 00:14:56,700 --> 00:14:57,630 lại cho rằng vào thứ hai. 326 00:14:57,630 --> 00:15:00,860 Và chúng ta sẽ sử dụng đồ họa ngôn ngữ lập trình được gọi là cào. 327 00:15:00,860 --> 00:15:04,470 Đây là một ngôn ngữ lập trình, mà tôi ám chỉ về thứ tư, điều đó sẽ 328 00:15:04,470 --> 00:15:08,870 cho phép chúng tôi làm cùng một loại công cụ nhưng nhắm mắt làm ngơ, cho ngày hôm nay, 329 00:15:08,870 --> 00:15:12,270 để các dấu ngoặc nhọn, các dấu ngoặc đơn, các dấu chấm phẩy, và tất cả những ngu ngốc 330 00:15:12,270 --> 00:15:15,680 phiền nhiễu mà có được theo cách này, trong ngày đầu tiên này, một số cơ bản, khá 331 00:15:15,680 --> 00:15:17,230 ý tưởng thú vị. 332 00:15:17,230 --> 00:15:21,350 >> Vì vậy, hướng tới mục tiêu đó, tôi sẽ đi trở lại máy tính để bàn của tôi ở đây và 333 00:15:21,350 --> 00:15:25,890 giới thiệu bạn đến thay thế cho rằng chương trình, đó là sẽ tìm một 334 00:15:25,890 --> 00:15:30,790 chút gì đó ánh sáng này. 335 00:15:30,790 --> 00:15:33,930 Đó là cách chúng tôi sẽ thực hiện điều đó cùng một chương trình hôm nay - hai câu đố 336 00:15:33,930 --> 00:15:37,710 mảnh, khi đan cài và nhấp vào, sẽ nói với thế giới, 337 00:15:37,710 --> 00:15:39,000 hello thế giới. 338 00:15:39,000 --> 00:15:41,200 >> Vì vậy, chúng ta hãy thực sự đến đó. 339 00:15:41,200 --> 00:15:44,965 Vì vậy, tôi sẽ đi trước và mở một trang web được biết đến như scratch.mit.edu. 340 00:15:44,965 --> 00:15:47,980 341 00:15:47,980 --> 00:15:52,040 Và điều này sẽ dẫn tôi đến trang web này ở đây. 342 00:15:52,040 --> 00:15:54,660 Trước, tôi đã đăng nhập vào này trang web và những vấn đề đầu tiên mà 343 00:15:54,660 --> 00:15:55,910 sẽ hướng dẫn bạn qua một số bước. 344 00:15:55,910 --> 00:15:58,930 Tôi sẽ đi trước và nhấp thư mục trên đầu của tôi ở đây. 345 00:15:58,930 --> 00:16:00,720 >> Và điều này sẽ chỉ cho tôi một số dự án mà tôi đã 346 00:16:00,720 --> 00:16:02,570 thực sự tạo ra trước. 347 00:16:02,570 --> 00:16:05,860 Và nó chỉ ra rằng đồ họa này ngôn ngữ lập trình không chỉ sẽ 348 00:16:05,860 --> 00:16:08,480 để cho chúng tôi chương trình bằng cách kéo và thả những mảnh ghép, bạn 349 00:16:08,480 --> 00:16:09,730 thậm chí không cần phần mềm đặc biệt. 350 00:16:09,730 --> 00:16:13,190 Đó là tất cả nằm trong một trình duyệt để mà bạn có thể làm được điều này, trên lý thuyết, trên 351 00:16:13,190 --> 00:16:16,810 máy tính của bạn ngay bây giờ, như một số bạn cũng có thể, mà không cần 352 00:16:16,810 --> 00:16:19,870 phần mềm như các thiết bị CS50, đó sẽ đến vào tuần tới. 353 00:16:19,870 --> 00:16:24,200 >> Vì vậy, tôi sẽ đi lên vào góc cao đây và nhấn vào nút Create. 354 00:16:24,200 --> 00:16:27,840 Và trong một thời điểm tôi sẽ có được một trống màn hình thông qua đó tôi có thể bắt đầu 355 00:16:27,840 --> 00:16:30,380 lập trình đồ họa này lập trình môi trường. 356 00:16:30,380 --> 00:16:36,140 Nhưng lần này, nó sẽ được nhiều, đơn giản hơn nhiều để thực sự làm như vậy. 357 00:16:36,140 --> 00:16:41,560 Vì vậy, chỉ trong một thời điểm, khi kết nối Wi-Fi hợp tác, chúng ta có màn hình này. 358 00:16:41,560 --> 00:16:44,870 Vì vậy, một tour du lịch bằng lời nói nhanh, nhưng tôi dám nói, chắc chắn khi bạn đi sâu vào 359 00:16:44,870 --> 00:16:46,840 đầu tiên đặt vấn đề, bạn sẽ tìm thấy tất cả điều này rất 360 00:16:46,840 --> 00:16:48,315 tiếp cận và khá trực quan. 361 00:16:48,315 --> 00:16:50,900 Nhưng chúng ta hãy vẽ một bức tranh tinh thần chỉ trong khoảnh khắc. 362 00:16:50,900 --> 00:16:54,620 >> Vì vậy, bên dưới này nhanh chóng cứu nói thay đổi, bạn đang về để xem đầu. 363 00:16:54,620 --> 00:16:55,570 Đây là một ma. 364 00:16:55,570 --> 00:16:56,630 Đó là một nhân vật. 365 00:16:56,630 --> 00:17:00,740 Và sống trên những gì chúng tôi sẽ gọi một giai đoạn, này hình chữ nhật màu trắng lớn trên 366 00:17:00,740 --> 00:17:03,120 mà ông có thể di chuyển lên, xuống, trái, bên phải, và làm, thực sự, 367 00:17:03,120 --> 00:17:04,670 các loại hành động. 368 00:17:04,670 --> 00:17:08,780 >> Trong khi đó, ở giữa người sử dụng này giao diện, chúng ta có một bó toàn bộ 369 00:17:08,780 --> 00:17:09,750 mảnh ghép. 370 00:17:09,750 --> 00:17:14,060 Và bạn sẽ thấy rằng họ nói những điều như di chuyển 10 bước, quay 15 độ, 371 00:17:14,060 --> 00:17:15,550 điểm trong một hướng nhất định. 372 00:17:15,550 --> 00:17:17,910 Nhưng có loại khối lên đây quá. 373 00:17:17,910 --> 00:17:21,410 Vì vậy, nếu tôi đi đến vẻ, bạn sẽ thấy rằng có mảnh ghép khác 374 00:17:21,410 --> 00:17:25,530 rõ ràng sẽ cho cit này chào hỏi, để suy nghĩ, để hiển thị 375 00:17:25,530 --> 00:17:26,780 mình, ẩn mình. 376 00:17:26,780 --> 00:17:30,830 Nếu tôi đi xuống Âm thanh, nó quay ra có cách để chơi âm thanh như meo meo, 377 00:17:30,830 --> 00:17:32,670 để ngăn chặn tất cả các âm thanh, để chơi một cái trống. 378 00:17:32,670 --> 00:17:36,530 >> Vì vậy, câu chuyện dài ngắn, có một toàn bộ loạt các mảnh ghép cho phép bạn 379 00:17:36,530 --> 00:17:40,920 nói với con mèo này, hoặc bất kỳ số lượng các nhân vật khác, phải làm gì. 380 00:17:40,920 --> 00:17:43,850 Nhưng để làm cho tất cả điều này xảy ra bạn cần phải bắt đầu lập trình. 381 00:17:43,850 --> 00:17:48,090 Và hộp này lớn màu trắng, hoặc hộp màu xám, trên phía bên tay phải, đây là nơi mà 382 00:17:48,090 --> 00:17:50,170 Tôi sẽ thực sự kéo và thả những mảnh ghép. 383 00:17:50,170 --> 00:17:54,320 Đó là văn bản trống của tôi cửa sổ tương đương. 384 00:17:54,320 --> 00:17:57,070 >> Vì vậy, tôi sẽ đi trước và nhấp Kiểm soát ở giữa. 385 00:17:57,070 --> 00:17:58,540 Hay đúng hơn, hãy để tôi bắt đầu lên dưới sự kiện. 386 00:17:58,540 --> 00:18:01,530 Dưới sự kiện băng ghế dự bị, bạn sẽ nhận thấy một vài điều mà cố tình 387 00:18:01,530 --> 00:18:05,240 cong trên đầu trong một cách mà họ có thể không khóa liên động trên 388 00:18:05,240 --> 00:18:06,710 đầu của các mảnh ghép. 389 00:18:06,710 --> 00:18:10,160 Và đó là bởi vì họ Đan Mạch bắt đầu của một chương trình, sự bắt đầu của một 390 00:18:10,160 --> 00:18:11,910 kịch bản, vậy để nói chuyện. 391 00:18:11,910 --> 00:18:16,290 Vì vậy, nếu tôi đi trước và kéo, khi màu xanh lá cây cờ nhấp trên đây, và sau đó tôi 392 00:18:16,290 --> 00:18:18,060 muốn con mèo này để nói một cái gì đó lần đầu tiên. 393 00:18:18,060 --> 00:18:20,510 Vì vậy, tôi sẽ đi theo trông bảng điều khiển. 394 00:18:20,510 --> 00:18:24,060 Và tôi sẽ đi trước và lấy chào khối, và kéo và thả, 395 00:18:24,060 --> 00:18:27,220 và để cho đi để nó tự động khóa liên động có. 396 00:18:27,220 --> 00:18:28,640 >> Và sau đó nhận ra rằng tôi có thể nhấp chuột vào văn bản. 397 00:18:28,640 --> 00:18:31,960 Và tôi có thể ghi đè lên nó được nhiều hơn cụ thể như, nói, xin chào thế giới. 398 00:18:31,960 --> 00:18:36,340 Và bây giờ chúng tôi có chương trình mà tôi yêu cầu bồi thường tương đương với nhiều hơn nữa 399 00:18:36,340 --> 00:18:39,670 chương trình phức tạp tôi thực hiện C trong một thời điểm trước đây. 400 00:18:39,670 --> 00:18:43,130 >> Nếu tôi đi qua tại phía bên tay trái, nhận thấy có một dấu hiệu dừng lại lớn 401 00:18:43,130 --> 00:18:44,520 và một lá cờ màu xanh lá cây lớn. 402 00:18:44,520 --> 00:18:46,390 Hãy để tôi phóng to cho rõ ràng. 403 00:18:46,390 --> 00:18:49,390 Và khi tôi và click vào lá cờ màu xanh lá cây này, bạn có thể đoán điều này đầu tiên 404 00:18:49,390 --> 00:18:51,920 chương trình hiện nay sẽ làm. 405 00:18:51,920 --> 00:18:55,420 Do đó, cũng vậy, chúng tôi đang lập trình, nhưng chúng ta không thực sự bị sa lầy 406 00:18:55,420 --> 00:18:58,980 trong một số những cú pháp, chi tiết nhỏ. 407 00:18:58,980 --> 00:19:01,120 >> Nhưng chúng ta hãy thử một cái gì đó ít thú vị hơn. 408 00:19:01,120 --> 00:19:04,840 Hãy để tôi đi vào thư mục Scratch của tôi ở đây. 409 00:19:04,840 --> 00:19:10,210 Và thực sự, hãy để tôi để cho tôi mở ra một chương trình riêng biệt ở đây chỉ là một 410 00:19:10,210 --> 00:19:17,830 thời điểm, Tối đa hóa cửa sổ này, tập tin mở, và tôi sẽ đi vào ngày hôm nay 411 00:19:17,830 --> 00:19:18,620 thư mục mã nguồn. 412 00:19:18,620 --> 00:19:21,660 Như mọi khi, bạn sẽ tìm thấy, hôm nay và trở đi, rằng tất cả các ví dụ hiện nay 413 00:19:21,660 --> 00:19:25,225 có thể truy cập bên trong trang web của khóa học. 414 00:19:25,225 --> 00:19:31,170 >> Và tôi sẽ đi trước đây và chọn lên một chút gì đó khác nhau. 415 00:19:31,170 --> 00:19:33,970 Này ở đây, mà Tôi cần một tình nguyện viên. 416 00:19:33,970 --> 00:19:36,850 Những người muốn một chiếc đèn bàn ngày hôm nay? 417 00:19:36,850 --> 00:19:40,600 OK, làm thế nào về một người nào đó một chút - là bạn trên kết thúc? 418 00:19:40,600 --> 00:19:42,124 Đến trên xuống. 419 00:19:42,124 --> 00:19:47,230 Bây giờ, bạn muốn tham gia, hoặc chỉ nói bắt đầu với đèn bàn? 420 00:19:47,230 --> 00:19:48,190 >> Vanessa: [nghe được]. 421 00:19:48,190 --> 00:19:48,465 >> DAVID Malan: OK. 422 00:19:48,465 --> 00:19:49,610 Tuyệt vời, là bạn biết những gì tên? 423 00:19:49,610 --> 00:19:49,990 Vanessa? 424 00:19:49,990 --> 00:19:50,570 David. 425 00:19:50,570 --> 00:19:51,390 Hân hạnh được gặp bạn. 426 00:19:51,390 --> 00:19:53,840 Vì vậy, đến trên và Vanessa sẽ để kiểm soát của tôi 427 00:19:53,840 --> 00:19:55,490 bàn phím cho một thời điểm. 428 00:19:55,490 --> 00:19:57,850 Và những gì tôi đã làm ở đây, chỉ cần cho thời gian của vì lợi ích, như tôi đã nhận ra 429 00:19:57,850 --> 00:20:01,070 Wi-Fi là một chút chậm, Scratch, các môi trường lập trình mà chúng tôi 430 00:20:01,070 --> 00:20:04,110 sử dụng, cũng có thể được tải về và chạy trên máy tính của bạn. 431 00:20:04,110 --> 00:20:06,360 Vì vậy, những gì tôi đã làm trước bài giảng, trong trường hợp đó xảy ra, là tôi đã tải về 432 00:20:06,360 --> 00:20:09,120 tất cả các tập tin chúng tôi về để chơi với để họ có thể chạy nhiều hơn một chút 433 00:20:09,120 --> 00:20:10,840 một cách nhanh chóng ngay trên máy tính xách tay của tôi. 434 00:20:10,840 --> 00:20:13,460 Vì vậy, đó là lý do tại sao bây giờ tôi đang nhìn thấy một giao diện Mac-cụ thể. 435 00:20:13,460 --> 00:20:15,510 >> Vì vậy, tôi sẽ đi trước và mở ra thế này. 436 00:20:15,510 --> 00:20:18,400 Tôi sẽ đi trước và bây giờ toàn màn hình cửa sổ. 437 00:20:18,400 --> 00:20:21,740 Và như bạn sẽ thấy, chúng ta có thể rất nhanh chóng, như sinh viên này đã làm, một trong 438 00:20:21,740 --> 00:20:26,360 người tiền nhiệm của mình, đi từ hello thế giới với nhiều hấp dẫn hơn một nhiều 439 00:20:26,360 --> 00:20:27,020 ứng dụng. 440 00:20:27,020 --> 00:20:28,180 Vì vậy, đây là những hướng dẫn. 441 00:20:28,180 --> 00:20:29,500 Oh, và chúng tôi có một điều khác. 442 00:20:29,500 --> 00:20:31,640 Tôi nghĩ rằng nó sẽ được vui vẻ, kể từ khi, bình thường, chúng tôi sẽ có những cảnh quay 443 00:20:31,640 --> 00:20:32,440 máy ảnh theo cách này. 444 00:20:32,440 --> 00:20:34,100 Tôi nghĩ rằng nó sẽ được vui vẻ nếu, Vanessa, chúng ta có thể nhìn thấy thế giới 445 00:20:34,100 --> 00:20:35,120 thông qua đôi mắt của bạn. 446 00:20:35,120 --> 00:20:36,670 Vì vậy, ở đây chúng tôi có một số kính Google. 447 00:20:36,670 --> 00:20:39,290 >> [Ngạc nhiên hổn hển] 448 00:20:39,290 --> 00:20:41,610 >> DAVID Malan: Chúng tôi sẽ chỉ được đưa ra đi đèn bàn hôm nay. 449 00:20:41,610 --> 00:20:43,530 >> [Cười] 450 00:20:43,530 --> 00:20:45,260 >> Vì vậy, hãy để tôi gợi ý điều này. 451 00:20:45,260 --> 00:20:49,340 Được rồi, vì vậy liên lạc này. 452 00:20:49,340 --> 00:20:51,910 OK, Thủy tinh, quay video. 453 00:20:51,910 --> 00:20:55,700 454 00:20:55,700 --> 00:20:56,950 Được rồi, Vanessa? 455 00:20:56,950 --> 00:21:00,940 456 00:21:00,940 --> 00:21:05,560 Bây giờ, khi một sang một bên mà đã có không có gì để làm với Scratch, nếu bạn nhìn 457 00:21:05,560 --> 00:21:08,540 tăng nhẹ và ở bên phải, bạn sẽ thấy kính đen, và bạn nên 458 00:21:08,540 --> 00:21:09,650 nhìn thấy một cửa sổ nhỏ hình chữ nhật. 459 00:21:09,650 --> 00:21:11,500 Bạn sẽ thấy tất cả các bạn cùng lớp của bạn được quay ngay bây giờ? 460 00:21:11,500 --> 00:21:11,840 Vâng. 461 00:21:11,840 --> 00:21:12,340 >> Vanessa: Có. 462 00:21:12,340 --> 00:21:12,920 >> DAVID Malan: OK. 463 00:21:12,920 --> 00:21:15,170 Vì vậy, đó là tốt. 464 00:21:15,170 --> 00:21:16,660 Chúng tôi sẽ phát hành đoạn phim này sau. 465 00:21:16,660 --> 00:21:18,460 Hiện tại, chuyển sự chú ý của bạn để màn hình ở đây. 466 00:21:18,460 --> 00:21:20,990 Và những gì người tiền nhiệm của mình đã làm là đưa một số hướng dẫn trên màn hình 467 00:21:20,990 --> 00:21:22,670 chỉ bằng cách sử dụng một chương trình đồ họa. 468 00:21:22,670 --> 00:21:25,040 Vì vậy, bạn sẽ, trong một thời điểm, nhấn thanh không gian để bắt đầu. 469 00:21:25,040 --> 00:21:27,790 Và sau đó một số mảnh ghép sẽ để bắt đầu di chuyển lên màn hình. 470 00:21:27,790 --> 00:21:30,900 Và bạn muốn nhấn phím mũi tên, chỉ giống như trong thực tế DDR, theo 471 00:21:30,900 --> 00:21:32,740 với những thứ xếp hàng với những mũi tên. 472 00:21:32,740 --> 00:21:33,020 >> Vanessa: OK. 473 00:21:33,020 --> 00:21:33,800 >> DAVID Malan: Bạn đã chơi này trước đây. 474 00:21:33,800 --> 00:21:34,140 >> Vanessa: Vâng. 475 00:21:34,140 --> 00:21:37,330 >> DAVID Malan: Được rồi, Vanessa, đi trước và mang nó đi. 476 00:21:37,330 --> 00:22:53,082 >> [MUSIC - Kayne West, "Stronger"] 477 00:22:53,082 --> 00:22:57,080 >> [Vỗ tay] 478 00:22:57,080 --> 00:22:59,750 >> DAVID Malan: Vì vậy, hãy giờ có một bước từ đó. 479 00:22:59,750 --> 00:23:01,230 Vì vậy, rõ ràng, đó là trò chơi kết thúc. 480 00:23:01,230 --> 00:23:02,880 Các trò chơi kết thúc không phải là hello world. 481 00:23:02,880 --> 00:23:05,520 Nhưng bạn không phải nhất thiết phải làm điều mà rất tương tác. 482 00:23:05,520 --> 00:23:06,810 Bạn cũng có thể làm hoạt hình. 483 00:23:06,810 --> 00:23:10,790 Vì vậy, ví dụ, một số khác của bạn kế thực hiện chương trình này ở đây, 484 00:23:10,790 --> 00:23:14,100 mà kể một câu chuyện hơn nó thực hiện một trò chơi. 485 00:23:14,100 --> 00:23:19,180 Vì vậy, hãy để tôi đi trước và mở ra đây một chương trình trong thư mục cùng một nguồn của chúng tôi 486 00:23:19,180 --> 00:23:20,300 từ ngày hôm nay. 487 00:23:20,300 --> 00:23:26,990 Một cuộc gọi này, và chúng ta hãy bắt đầu với, một câu chuyện tình yêu cookie. 488 00:23:26,990 --> 00:23:30,750 >> Và không thực hiện điều này quá học thuật, nhưng, khi bạn xem này, nghĩ đến 489 00:23:30,750 --> 00:23:34,030 mình mà những người đơn giản khái niệm lập trình chúng tôi đã nói chuyện 490 00:23:34,030 --> 00:23:34,630 về cho đến nay - 491 00:23:34,630 --> 00:23:39,250 biến, và các vòng lặp, và điều kiện, đã người tiền nhiệm của bạn có thể sử dụng chỉ 492 00:23:39,250 --> 00:23:41,090 thực hiện một số quán tưởng. 493 00:23:41,090 --> 00:23:41,760 Bạn thấy ở đây. 494 00:23:41,760 --> 00:23:44,118 Vì vậy, tôi cung cấp cho bạn một câu chuyện tình yêu cookie. 495 00:23:44,118 --> 00:24:06,030 >> [MUSIC - GREEN DAY, "HOLIDAY"] 496 00:24:06,030 --> 00:24:08,022 >> [CRASH] 497 00:24:08,022 --> 00:24:09,272 >> [MUSIC - những con rùa, "Happy Together"] 498 00:24:09,272 --> 00:24:58,328 499 00:24:58,328 --> 00:25:00,560 >> DAVID Malan: Được rồi, do đó, chúng tôi đã có một câu chuyện tình yêu cookie. 500 00:25:00,560 --> 00:25:01,360 Nhưng thậm chí có - 501 00:25:01,360 --> 00:25:01,755 >> [Vỗ tay] 502 00:25:01,755 --> 00:25:08,110 >> DAVID Malan: Được rồi, thậm chí có, suy nghĩ về, như những tâm hồn đi từ 503 00:25:08,110 --> 00:25:10,410 phía dưới để phía trên cùng của màn hình, có thực sự là một chút 504 00:25:10,410 --> 00:25:11,440 ngẫu nhiên xảy ra. 505 00:25:11,440 --> 00:25:14,150 Và thực sự, chúng ta sẽ thấy rằng ngay cả trong đơn giản nhất của môi trường, như 506 00:25:14,150 --> 00:25:18,180 Đầu, như trong C, bạn có thể tạo ra số ngẫu nhiên, hoặc ảo giác về 507 00:25:18,180 --> 00:25:21,110 số ngẫu nhiên, do đó, các trò chơi là một nhiều hơn một chút thú vị hơn nó có thể 508 00:25:21,110 --> 00:25:23,390 được nếu bạn đã hoàn toàn cứng mã hoá tất cả mọi thứ. 509 00:25:23,390 --> 00:25:26,360 >> Trong phong trào mà bạn nhìn thấy, có có một số loại phản ứng. 510 00:25:26,360 --> 00:25:28,840 Ngay khi người đàn ông chạm vào bánh gừng người phụ nữ bánh gừng, cô 511 00:25:28,840 --> 00:25:30,000 dường như di chuyển đi. 512 00:25:30,000 --> 00:25:33,580 Và như vậy, thực sự, bạn có thể thực hiện, trong hầu hết các ngôn ngữ lập trình, các khái niệm 513 00:25:33,580 --> 00:25:38,680 các sự kiện, theo đó nếu một chạm tay Mặt khác, có thể gây ra một số 514 00:25:38,680 --> 00:25:41,270 mã nguồn của bạn để thực sự thực hiện. 515 00:25:41,270 --> 00:25:43,740 Bạn có thể lắng nghe như vậy thứ trên màn hình. 516 00:25:43,740 --> 00:25:47,310 >> Vì vậy, chúng ta hãy một tour du lịch nhanh chóng, sau đó, một số các khối xây dựng, chúng tôi có thể sử dụng 517 00:25:47,310 --> 00:25:48,790 để đạt được một số mục tiêu này. 518 00:25:48,790 --> 00:25:51,630 Vì vậy, đây là những gì chúng tôi sẽ từ nay về sau gọi một tuyên bố. 519 00:25:51,630 --> 00:25:55,030 Một tuyên bố sẽ xảy ra là màu tím trong Đầu, một chút gì đó như thế này, 520 00:25:55,030 --> 00:25:56,120 nhưng đó là tùy ý. 521 00:25:56,120 --> 00:26:00,140 Một tuyên bố chỉ là một mảnh ghép hoặc, nói chung, một hướng dẫn, mà 522 00:26:00,140 --> 00:26:03,370 cho máy tính để làm một cái gì đó, một tuyên bố. 523 00:26:03,370 --> 00:26:04,680 >> Vì vậy, đây là một ví dụ đơn giản. 524 00:26:04,680 --> 00:26:05,930 Chào thế giới. 525 00:26:05,930 --> 00:26:08,180 Một số khác có thể chờ đợi một giây. 526 00:26:08,180 --> 00:26:10,840 Vì vậy, đây mảnh ghép, được hỗ trợ trong Scratch, chúng tôi sẽ cho bạn 527 00:26:10,840 --> 00:26:13,050 nhân vật tạm dừng trong một số số giây. 528 00:26:13,050 --> 00:26:15,330 Điều này cũng chỉ là một tuyên bố. 529 00:26:15,330 --> 00:26:18,640 >> Đây tiếp theo, chúng tôi có một hơn một thú chơi âm thanh meo meo, và 530 00:26:18,640 --> 00:26:21,480 mũi tên nhỏ có nghĩa là trong Scratch, đây là một trình đơn thả xuống. 531 00:26:21,480 --> 00:26:22,590 Vì vậy, bạn có thể nhập âm thanh. 532 00:26:22,590 --> 00:26:25,095 Bạn có thể ghi lại âm thanh và làm khác những điều thú vị trong Scratch. 533 00:26:25,095 --> 00:26:28,450 Và rằng, quá, tuy nhiên, ở cuối trong ngày, chỉ là một tuyên bố. 534 00:26:28,450 --> 00:26:31,250 Nhưng bây giờ chúng ta hãy giới thiệu một hơn phần thú vị, đó được gọi là một 535 00:26:31,250 --> 00:26:32,630 Biểu thức Boolean. 536 00:26:32,630 --> 00:26:35,180 Vốn B, được đặt tên sau khi Một tác giả tên Bool. 537 00:26:35,180 --> 00:26:39,500 >> Và một biểu thức Boolean chỉ là mảnh ghép hay, nói chung, một 538 00:26:39,500 --> 00:26:42,980 mẩu thông tin đó là đúng hoặc sai - 539 00:26:42,980 --> 00:26:45,830 một hoặc không, có hoặc không. 540 00:26:45,830 --> 00:26:48,420 Vì vậy, nó chỉ là một trong những hai đối lập. 541 00:26:48,420 --> 00:26:52,840 Vì vậy, một biểu thức Boolean như trong thế giới của Scratch trông giống như màu xanh này 542 00:26:52,840 --> 00:26:53,560 đố mảnh. 543 00:26:53,560 --> 00:26:56,735 Và nó hỏi một câu hỏi, chuột xuống, và có thể được, của các 544 00:26:56,735 --> 00:26:58,430 Tất nhiên, đúng hay sai. 545 00:26:58,430 --> 00:27:01,710 Vì vậy, với điều này mảnh ghép trong Scratch, tốt, bạn sẽ có thể phát hiện nếu một 546 00:27:01,710 --> 00:27:05,490 lúng túng nếu con chuột, trong thực tế, là giữ bởi các tương tác của con người 547 00:27:05,490 --> 00:27:06,550 với chương trình của bạn. 548 00:27:06,550 --> 00:27:08,860 >> Điều này là một chút trừu tượng hơn, nhưng hai hộp màu trắng 549 00:27:08,860 --> 00:27:09,740 chỉ cho số điện thoại. 550 00:27:09,740 --> 00:27:12,950 Vì vậy, bạn có thể làm những việc như là này số lượng ít hơn người kia? 551 00:27:12,950 --> 00:27:16,180 Và nếu như vậy, Scratch sẽ cư xử cách này hay cách khác. 552 00:27:16,180 --> 00:27:17,505 Điều này là một chút đồ họa hơn. 553 00:27:17,505 --> 00:27:21,840 Đó là nếu ma, nếu con mèo, cho Chẳng hạn, được thực sự chạm vào 554 00:27:21,840 --> 00:27:22,510 con trỏ chuột. 555 00:27:22,510 --> 00:27:25,780 Vì vậy, nếu mũi tên nhỏ đầu đang lơ lửng hơn con mèo, sau đó điều này 556 00:27:25,780 --> 00:27:28,030 mảnh ghép sẽ đánh giá đúng sự thật. 557 00:27:28,030 --> 00:27:31,870 Nó sẽ là đúng, trong trường hợp này, nếu bạn sử dụng biểu thức Boolean này, như chúng ta sẽ 558 00:27:31,870 --> 00:27:36,340 thấy trong một thời điểm, tại một chi nhánh, bạn có thể hoặc làm điều này, hoặc bạn có thể làm điều đó, 559 00:27:36,340 --> 00:27:39,940 giống như chúng tôi đã có điều kiện kiểm tra, có hơn một người cuối cùng 560 00:27:39,940 --> 00:27:40,460 trong phòng không? 561 00:27:40,460 --> 00:27:42,070 Nếu như vậy, thêm một. 562 00:27:42,070 --> 00:27:44,430 Nếu không, đừng lo lắng hơn nữa. 563 00:27:44,430 --> 00:27:48,650 >> Vì vậy, một biểu thức Boolean cũng có thể là và-ed với nhau hoặc hoặc-ed với nhau. 564 00:27:48,650 --> 00:27:53,120 Vì vậy, bạn có thể kết hợp các biểu thức Boolean và nói điều này và điều này phải được đúng đối với 565 00:27:53,120 --> 00:27:54,710 toàn bộ điều là đúng. 566 00:27:54,710 --> 00:27:56,520 Và đây là một ví dụ thế giới thực hơn. 567 00:27:56,520 --> 00:28:00,060 Nếu bạn đã sử dụng CS50 khóa học để làm nhiên mua sắm, các hộp kiểm 568 00:28:00,060 --> 00:28:03,520 ở đó, mà nếu bạn kiểm tra hộp tiếp theo các khóa học, sẽ nói, có, 569 00:28:03,520 --> 00:28:07,860 chỉ cho tôi các khóa học mà giá trị Q là 4.5 hoặc cao hơn. 570 00:28:07,860 --> 00:28:10,610 Nếu bạn bỏ chọn nó, không, không lo lắng về điều đó. 571 00:28:10,610 --> 00:28:13,910 Hoặc tương tự, bên phải, Có không Xung đột với khóa học Tôi Lấy, 572 00:28:13,910 --> 00:28:15,650 đó là đúng hoặc sai. 573 00:28:15,650 --> 00:28:16,715 Nó chỉ là một biểu thức Boolean. 574 00:28:16,715 --> 00:28:20,080 Vì vậy, tất cả các thời gian này khi bạn đã sử dụng các trang web với hộp kiểm tra, bạn chỉ 575 00:28:20,080 --> 00:28:23,570 chuyển đổi qua lại tương đương với một Boolean biểu hiện và tắt. 576 00:28:23,570 --> 00:28:25,270 >> Vì vậy, trong những hình thức để bạn sử dụng những? 577 00:28:25,270 --> 00:28:28,820 Vâng, trong Scratch, chúng ta sẽ thấy trong một thời điểm rằng có những điều kiện 578 00:28:28,820 --> 00:28:29,560 trông như thế này. 579 00:28:29,560 --> 00:28:33,130 Và đó là loại hợp lý vì nhiều như trong giả, chúng ta thụt 580 00:28:33,130 --> 00:28:38,550 các loại mảnh ghép hình chữ U, có nghĩa là rằng bất cứ điều gì bên trong đó U là 581 00:28:38,550 --> 00:28:41,390 sẽ thực hiện, hoặc không, tùy thuộc trên nó ở đâu. 582 00:28:41,390 --> 00:28:45,310 Vì vậy, nếu biểu thức Boolean, sau đó bất cứ điều gì bên trong sẽ được thực hiện. 583 00:28:45,310 --> 00:28:46,800 >> Trong khi đó, có một khối nếu / khác. 584 00:28:46,800 --> 00:28:50,320 Vì vậy, nếu bạn muốn có một chi nhánh mà đi này cách này hay đó, cào cho chúng ta đó. 585 00:28:50,320 --> 00:28:54,500 Và logic này, bây giờ, mặc dù điều đó mảnh ghép rõ ràng là quá nhỏ 586 00:28:54,500 --> 00:28:57,400 để nêm cái gì khác bên trong của nó, các mảnh ghép đầu, họ 587 00:28:57,400 --> 00:28:58,150 chỉ cần đi để phát triển. 588 00:28:58,150 --> 00:29:01,370 Khi bạn kéo và thả một cái gì đó, nó sẽ chỉ phát triển để phù hợp với bất cứ điều gì 589 00:29:01,370 --> 00:29:02,510 là bạn đang cố gắng để làm. 590 00:29:02,510 --> 00:29:07,230 >> Vì vậy, chúng ta có thể hai trong số những điều này và thực hiện một cách ngã ba ba trên đường cái 591 00:29:07,230 --> 00:29:11,300 mà bạn có làm được điều này, hay đó, hoặc Điều này khác chỉ bằng cách làm tổ chúng 592 00:29:11,300 --> 00:29:12,070 theo cách đó. 593 00:29:12,070 --> 00:29:14,370 Tất nhiên, nếu bạn làm điều đó quá nhiều, nó bắt đầu để có được xấu xí. 594 00:29:14,370 --> 00:29:17,660 Nhưng tại thời điểm đó, bạn thực sự có thể không lập trình rất tốt. 595 00:29:17,660 --> 00:29:20,490 Và do đó sẽ được định kỳ chủ đề quá, mà phong cách. 596 00:29:20,490 --> 00:29:22,790 Chỉ cần tốt như làm thế nào để thực sự định dạng mã của bạn? 597 00:29:22,790 --> 00:29:24,580 Hay như thế nào để bạn thiết kế mã của bạn? 598 00:29:24,580 --> 00:29:26,430 Nhưng thêm vào đó trong tương lai. 599 00:29:26,430 --> 00:29:27,470 >> Và bây giờ chúng tôi có vòng. 600 00:29:27,470 --> 00:29:30,310 Có một vòng lặp mãi mãi đẹp trong Scratch mà theo nghĩa đen có nghĩa là - làm 601 00:29:30,310 --> 00:29:32,710 bất cứ điều gì bên trong này một lần nữa, và một lần nữa, và một lần nữa. 602 00:29:32,710 --> 00:29:35,880 Bạn có thể cụ thể hơn và nói, làm những điều sau đây 10 lần. 603 00:29:35,880 --> 00:29:37,620 Bạn cũng có thể sử dụng các biến. 604 00:29:37,620 --> 00:29:40,260 Bạn có thể đến với bất kỳ tên trong đó ít thả xuống và nói, cho tôi một 605 00:29:40,260 --> 00:29:43,190 biến được gọi là n và thiết lập nó tương đương với một số giá trị. 606 00:29:43,190 --> 00:29:44,910 Và sau đó bạn có thể có chức năng. 607 00:29:44,910 --> 00:29:46,850 Nhưng nhiều hơn về những chỉ trong một thời điểm. 608 00:29:46,850 --> 00:29:49,140 >> Hãy để tôi quay trở lại của tôi Gãi giao diện. 609 00:29:49,140 --> 00:29:50,970 Và để cho tôi đi trước thời gian này. 610 00:29:50,970 --> 00:29:56,660 Và chúng ta hãy đi trước và mở ra, hãy nói, một ví dụ từ - 611 00:29:56,660 --> 00:29:58,740 đó là một chút thú vị hơn. 612 00:29:58,740 --> 00:30:00,750 Hãy để tôi đi trước, và, trên thực tế, hãy để tôi chỉ làm cho bản thân mình. 613 00:30:00,750 --> 00:30:01,960 Tôi không cần phải mở một này. 614 00:30:01,960 --> 00:30:03,390 Hãy để tôi vào File, New. 615 00:30:03,390 --> 00:30:04,740 Tôi sẽ đi đến sự kiện. 616 00:30:04,740 --> 00:30:08,460 Tôi sẽ đi đến khi lá cờ màu xanh lá cây nhấn vào, và tôi sẽ đi đến âm thanh. 617 00:30:08,460 --> 00:30:11,590 Và tôi sẽ kéo và thả này mảnh ghép, chơi meo meo âm thanh. 618 00:30:11,590 --> 00:30:12,580 Nó chốt lại với nhau. 619 00:30:12,580 --> 00:30:14,327 Và bây giờ, nếu tôi bấm vào lá cờ màu xanh lá cây - 620 00:30:14,327 --> 00:30:16,260 >> [MEOW SOUND] 621 00:30:16,260 --> 00:30:17,500 >> DAVID Malan: đáng yêu. 622 00:30:17,500 --> 00:30:21,560 OK, vì vậy bây giờ chúng ta hãy làm một chút gì đó hơn logic chỉ để chứng minh rằng 623 00:30:21,560 --> 00:30:22,760 chúng ta có thể, cho bây giờ. 624 00:30:22,760 --> 00:30:25,550 Tôi sẽ mở chốt cửa ra này từ anh chàng đó. 625 00:30:25,550 --> 00:30:27,000 Tôi sẽ đi vào Control. 626 00:30:27,000 --> 00:30:28,770 Và tôi sẽ lấy một điều kiện. 627 00:30:28,770 --> 00:30:30,600 Vì vậy, nếu một cái gì đó sau đó. 628 00:30:30,600 --> 00:30:32,020 Vì vậy, đó là cách mà nó trông có. 629 00:30:32,020 --> 00:30:33,890 Vì vậy, tôi cần một biểu thức Boolean. 630 00:30:33,890 --> 00:30:38,130 Và để cho tôi đi trước và nói, cho tôi đi đến nhà khai thác. 631 00:30:38,130 --> 00:30:40,270 Tôi sẽ làm điều gì đó hơi mathy, chỉ cần cho đá. 632 00:30:40,270 --> 00:30:43,600 Tôi sẽ đi vào đây và nói rằng, nếu một cái gì đó nhỏ hơn cái gì khác, 633 00:30:43,600 --> 00:30:45,030 đi trước và làm một cái gì đó. 634 00:30:45,030 --> 00:30:46,890 Vì vậy, bây giờ, bạn biết những gì, một khối ngẫu nhiên. 635 00:30:46,890 --> 00:30:51,620 Vì vậy, nhận thấy như thế nào, nếu tôi đưa chuột qua này điều ở đây, mà sẽ chụp trong đó. 636 00:30:51,620 --> 00:30:54,090 >> Vì vậy, bây giờ, thông báo, tôi bắt đầu làm một cái gì đó đã hợp lý hơn 637 00:30:54,090 --> 00:30:54,650 thú vị. 638 00:30:54,650 --> 00:30:59,720 Nếu một số ngẫu nhiên giữa 1 và 10 ít hơn, chúng ta hãy nói sáu. 639 00:30:59,720 --> 00:31:03,670 Nếu tôi chọn sáu, mà chủ yếu phương tiện, làm như sau với 50% 640 00:31:03,670 --> 00:31:03,980 xác suất. 641 00:31:03,980 --> 00:31:05,460 Nó giống như lật một đồng xu. 642 00:31:05,460 --> 00:31:07,330 Bây giờ, tôi có thể làm điều gì đó có điều kiện. 643 00:31:07,330 --> 00:31:10,800 Và đó là một cái gì đó tôi sẽ làm là chơi âm thanh. 644 00:31:10,800 --> 00:31:14,280 Vì vậy, bây giờ, khi tôi bấm trên màn hình cờ, nó giống như tung đồng xu. 645 00:31:14,280 --> 00:31:14,610 >> [MEOW SOUND] 646 00:31:14,610 --> 00:31:17,160 >> DAVID Malan: Đó là người đứng đầu hay những thứ linh tinh đó. 647 00:31:17,160 --> 00:31:17,920 Hãy làm điều đó một lần nữa. 648 00:31:17,920 --> 00:31:18,860 >> [MEOW SOUND] 649 00:31:18,860 --> 00:31:19,790 >> DAVID Malan: Thủ trưởng một lần nữa. 650 00:31:19,790 --> 00:31:20,280 >> [MEOW SOUND] 651 00:31:20,280 --> 00:31:21,500 >> DAVID Malan: Thủ trưởng một lần nữa. 652 00:31:21,500 --> 00:31:22,631 Chao ôi, OK. 653 00:31:22,631 --> 00:31:24,720 Đuôi thời gian đó. 654 00:31:24,720 --> 00:31:29,545 Vì vậy, 50% thời gian, nếu chúng ta làm điều này dài vô hạn, chúng tôi sẽ nhận được 50% Meows 655 00:31:29,545 --> 00:31:32,180 và 50% im lặng. 656 00:31:32,180 --> 00:31:34,850 Do đó, chỉ cần một xây dựng cơ bản khối cho phép chúng tôi làm điều đó. 657 00:31:34,850 --> 00:31:37,710 Nhưng đây là loại tẻ nhạt mà tôi có giữ cách nhấn vào nút đó. 658 00:31:37,710 --> 00:31:39,810 Vì vậy, chúng ta chỉ cần kéo và ném tất cả những xa. 659 00:31:39,810 --> 00:31:42,270 Nếu bạn kéo chúng vào giữa, họ sẽ chỉ xóa bản thân. 660 00:31:42,270 --> 00:31:43,760 >> Hãy để tôi đi lên để kiểm soát. 661 00:31:43,760 --> 00:31:46,060 Hãy để tôi đi mãi mãi. 662 00:31:46,060 --> 00:31:49,952 Và lần này, tôi sẽ làm một cái gì đó minorly gây phiền nhiễu. 663 00:31:49,952 --> 00:31:51,560 >> [Cười] 664 00:31:51,560 --> 00:31:53,370 >> DAVID Malan: Và hãy để tôi đi trước và làm kiểm soát. 665 00:31:53,370 --> 00:31:57,260 Chờ đợi một giây, chỉ cần như vậy nó không quá ghê tai. 666 00:31:57,260 --> 00:31:59,870 >> [MEOW SOUND] 667 00:31:59,870 --> 00:32:00,970 >> DAVID Malan: Đó không phải là tự nhiên. 668 00:32:00,970 --> 00:32:01,861 OK. 669 00:32:01,861 --> 00:32:04,510 >> [MEOW SOUND] 670 00:32:04,510 --> 00:32:06,406 >> DAVID Malan: Và thông báo những gì, tốt đẹp về Scratch, cho những người bạn của những người 671 00:32:06,406 --> 00:32:09,210 có kinh nghiệm trước khi lập trình, bạn không cần phải bắt đầu và dừng lại. 672 00:32:09,210 --> 00:32:10,060 Bạn không cần phải biên dịch. 673 00:32:10,060 --> 00:32:13,210 Bạn chỉ cần thay đổi nó, và các chương trình sẽ điều chỉnh tự động. 674 00:32:13,210 --> 00:32:14,620 Vì vậy, đây là nhận được một ít thú vị. 675 00:32:14,620 --> 00:32:16,930 Nhưng chúng ta hãy một bước xa hơn. 676 00:32:16,930 --> 00:32:19,760 Hãy để tôi đi trước và nhận được thoát khỏi chương trình đó. 677 00:32:19,760 --> 00:32:23,300 >> [MEOW SOUND] 678 00:32:23,300 --> 00:32:25,520 >> DAVID Malan: Đó là những gì chúng tôi sẽ gọi một lỗi trong Scratch. 679 00:32:25,520 --> 00:32:26,770 Ông không nên tiếp tục âm thanh đó. 680 00:32:26,770 --> 00:32:28,340 Vì vậy, chúng tôi chúng tôi sẽ nói cho anh ta dừng lại. 681 00:32:28,340 --> 00:32:30,435 Được rồi, vậy bây giờ tôi sẽ đi vào - 682 00:32:30,435 --> 00:32:32,180 Tôi sẽ cho MIT biết. 683 00:32:32,180 --> 00:32:35,160 Chúng tôi sẽ đi qua đây đến Forever. 684 00:32:35,160 --> 00:32:37,240 Và bây giờ, tôi muốn làm một cái gì đó một lần nữa và một lần nữa. 685 00:32:37,240 --> 00:32:38,760 Tôi sẽ đi vào kiểm soát. 686 00:32:38,760 --> 00:32:41,570 >> Và chúng ta hãy xem, tôi sẽ kéo của tôi nếu có điều kiện. 687 00:32:41,570 --> 00:32:42,850 Vì vậy, bây giờ nhận thấy sự logic. 688 00:32:42,850 --> 00:32:46,430 Khi lá cờ màu xanh lá cây được nhấp, làm một cái gì đó mãi mãi, nhưng chỉ làm điều đó 689 00:32:46,430 --> 00:32:48,890 một cái gì đó nếu điều này là đúng sự thật khác. 690 00:32:48,890 --> 00:32:51,480 Tôi sẽ đi đến, chúng ta hãy nói, cảm biến. 691 00:32:51,480 --> 00:32:54,430 Và tôi sẽ đi trước và chọn chạm vào và thả nó ở đó. 692 00:32:54,430 --> 00:32:55,930 Đó là một biểu thức Boolean. 693 00:32:55,930 --> 00:32:57,740 >> Và bây giờ, thông báo, trong sự sụt giảm này trình đơn thả xuống, có 694 00:32:57,740 --> 00:32:59,050 một số giá trị được xác định trước. 695 00:32:59,050 --> 00:33:00,910 Vì vậy, tôi có thể nói rằng, bạn đang chạm vào các cạnh của màn hình? 696 00:33:00,910 --> 00:33:03,900 Hoặc là bạn chạm vào con trỏ chuột, mũi tên trên màn hình? 697 00:33:03,900 --> 00:33:04,620 Vì vậy, tôi sẽ làm điều đó. 698 00:33:04,620 --> 00:33:08,770 Và nếu như vậy, sau đó tôi sẽ đi trước và chơi âm thanh meo meo. 699 00:33:08,770 --> 00:33:11,250 Vì vậy, bây giờ tôi loại có khởi đầu của một trò chơi - 700 00:33:11,250 --> 00:33:13,110 một trò chơi đáng yêu. 701 00:33:13,110 --> 00:33:14,060 >> [MEOW SOUND] 702 00:33:14,060 --> 00:33:17,250 >> DAVID Malan: OK, một đáng yêu, lỗi game. 703 00:33:17,250 --> 00:33:20,770 Cho tôi chờ đợi, chúng ta hãy nói, thứ hai đó. 704 00:33:20,770 --> 00:33:24,910 Bây giờ chơi một lần nữa, bằng cách nhấn lá cờ màu xanh lá cây. 705 00:33:24,910 --> 00:33:27,860 >> [MEOW SOUND] 706 00:33:27,860 --> 00:33:30,460 >> DAVID Malan: Vì vậy, bây giờ nó như vuốt ve một con mèo. 707 00:33:30,460 --> 00:33:31,850 >> [MEOW SOUND] 708 00:33:31,850 --> 00:33:34,460 >> DAVID Malan: Được rồi, bây giờ điều này mà tôi đã làm trước. 709 00:33:34,460 --> 00:33:39,250 Rất muộn, nó được loại dễ dàng để làm những điều ngu ngốc. 710 00:33:39,250 --> 00:33:40,240 Vì vậy, hãy để tôi đi đây. 711 00:33:40,240 --> 00:33:43,720 Hãy nói rằng, đã được mang theo thú nuôi Cát. 712 00:33:43,720 --> 00:33:46,600 Bây giờ hãy mở Đừng mang theo thú nuôi Cát. 713 00:33:46,600 --> 00:33:48,330 Bây giờ, nếu chúng tôi chơi này, bạn có thể đoán, nếu bạn 714 00:33:48,330 --> 00:33:49,650 nhìn vào màn hình - 715 00:33:49,650 --> 00:33:51,090 >> [MEOW SOUND] 716 00:33:51,090 --> 00:33:52,170 >> DAVID Malan: Bây giờ, nếu tôi vật nuôi mèo 717 00:33:52,170 --> 00:33:55,420 >> [Kêu la LION'S] 718 00:33:55,420 --> 00:33:57,260 >> DAVID Malan: Vì vậy, không thực sự vật nuôi mèo trong trường hợp đó. 719 00:33:57,260 --> 00:34:01,350 Vì vậy, bây giờ chúng tôi chỉ có một ví dụ của một chi nhánh đó sẽ theo hai hướng. 720 00:34:01,350 --> 00:34:03,130 Bây giờ hãy để tôi đi trước và mở nhau đây. 721 00:34:03,130 --> 00:34:07,120 Điều này, cũng có thể, trong mã nguồn của chúng tôi các tập tin mã trong ngày. 722 00:34:07,120 --> 00:34:13,199 Vì vậy, hãy để tôi quay trở lại vào nguồn của tôi thư mục và đi vào, chúng ta hãy chọn 723 00:34:13,199 --> 00:34:15,610 anh chàng này ở đây và nhìn thấy những gì khác nhau. 724 00:34:15,610 --> 00:34:17,449 >> Wow, được rồi, nên bây giờ nó nhận được một chút phức tạp hơn. 725 00:34:17,449 --> 00:34:21,300 Và trước khi chúng tôi xem những gì anh chàng này không có gì, chúng ta hãy cố gắng suy luận, từ chương trình 726 00:34:21,300 --> 00:34:22,219 ở phía bên tay phải. 727 00:34:22,219 --> 00:34:25,590 Và bây giờ đầu cho phép rõ ràng chúng tôi có nhiều kịch bản, nhiều 728 00:34:25,590 --> 00:34:29,730 các chương trình liên kết với một ma, với một nhân vật, và, rõ ràng, 729 00:34:29,730 --> 00:34:31,760 họ cả hai sẽ chạy theo sát bước chân. 730 00:34:31,760 --> 00:34:35,570 Bởi vì cả hai chương trình bắt đầu với màu xanh lá cây khi lá cờ nhấp chuột, đây là 731 00:34:35,570 --> 00:34:38,650 ám chỉ một chủ đề cao cấp hơn, với mà một số bạn có thể quen thuộc, 732 00:34:38,650 --> 00:34:40,580 được biết đến như luồng, hoặc đa luồng. 733 00:34:40,580 --> 00:34:44,400 >> Hóa ra, câu chuyện dài ngắn, máy tính hôm nay về cơ bản có thể làm nhiều 734 00:34:44,400 --> 00:34:45,270 việc cùng một lúc. 735 00:34:45,270 --> 00:34:48,659 Hoặc họ có thể làm một việc tại một thời gian để nhanh mà bạn thậm chí không nhận thấy rằng 736 00:34:48,659 --> 00:34:50,150 nó thực sự làm một điều tại một thời điểm. 737 00:34:50,150 --> 00:34:53,320 Nhưng bây giờ, hãy giả định rằng cả hai các chương trình này sẽ thực hiện tại 738 00:34:53,320 --> 00:34:54,310 đồng thời. 739 00:34:54,310 --> 00:34:57,350 Và thông báo, cả hai người trong số họ có mãi mãi đố miếng. 740 00:34:57,350 --> 00:35:01,270 Vì vậy, họ đang cả hai sẽ tiếp tục chạy cho đến khi tôi nhấn vào dấu dừng lại màu đỏ. 741 00:35:01,270 --> 00:35:02,100 >> Vì vậy, những gì họ sẽ làm gì? 742 00:35:02,100 --> 00:35:06,030 Ở phía bên tay trái, tôi rõ ràng khai báo một biến gọi là tắt tiếng. 743 00:35:06,030 --> 00:35:09,030 Vì vậy, tôi đã không gọi nó là một cái gì đó như nhàm chán như N. tôi gọi nó là tắt này 744 00:35:09,030 --> 00:35:10,240 thời gian để truyền đạt ý nghĩa. 745 00:35:10,240 --> 00:35:11,780 Tôi đặt nó bằng số không. 746 00:35:11,780 --> 00:35:16,200 Hãy nghĩ về điều đó như sai, hoặc chúng ta hãy nghĩ về điều đó như sai. 747 00:35:16,200 --> 00:35:17,490 >> Bây giờ, mãi mãi làm như sau. 748 00:35:17,490 --> 00:35:23,280 Nếu thanh không gian của bàn phím được nhấn, sau đó nếu tắt bằng không, 749 00:35:23,280 --> 00:35:25,930 sau đó thay đổi để tắt tiếng bằng một. 750 00:35:25,930 --> 00:35:27,580 Khác, thiết lập tắt tiếng không. 751 00:35:27,580 --> 00:35:30,530 Vì vậy, một cách hợp lý, mặc dù đó là một toàn bộ loạt các mảnh ghép đó là 752 00:35:30,530 --> 00:35:33,160 chỉ nói, khi tôi nhấn thanh không gian, những gì tôi nên làm gì để biến 753 00:35:33,160 --> 00:35:34,750 gọi tắt? 754 00:35:34,750 --> 00:35:37,170 Thay đổi nó từ một số không, hoặc không có một. 755 00:35:37,170 --> 00:35:37,840 Đó là tất cả. 756 00:35:37,840 --> 00:35:40,740 Vì vậy, nó giống như chuyển một công tắc đèn hoặc tắt và ghi nhớ, với một 757 00:35:40,740 --> 00:35:42,330 biến, mà tôi đã làm điều đó. 758 00:35:42,330 --> 00:35:45,990 >> Trong khi đó, ở phía bên tay phải, trong cách hiểu thông thường, mục đích là gì 759 00:35:45,990 --> 00:35:47,547 kịch bản bên phải? 760 00:35:47,547 --> 00:35:48,860 >> HỌC SINH: Để phát âm thanh sư tử biển. 761 00:35:48,860 --> 00:35:52,500 >> DAVID Malan: Để chơi Sea Lion âm thanh, nếu anh ta không bị tắt tiếng, bởi 762 00:35:52,500 --> 00:35:53,480 bản chất của biến đó. 763 00:35:53,480 --> 00:35:57,360 Vì vậy, chúng tôi chia sẻ trạng thái, có thể nói, chia sẻ thông tin qua hai 764 00:35:57,360 --> 00:36:00,540 kịch bản bởi vì, thông báo đây, chúng tôi mãi mãi làm như sau. 765 00:36:00,540 --> 00:36:04,620 Nếu tắt là số không, vì vậy nếu nó không bị tắt tiếng - nếu tắt là sai, sau đó chơi 766 00:36:04,620 --> 00:36:05,980 Sư tử biển âm thanh này. 767 00:36:05,980 --> 00:36:09,930 Và nghĩ đến bản thân, hi, hi, hi, cho hai giây, chờ đợi một thời điểm, và sau đó 768 00:36:09,930 --> 00:36:11,140 kiểm tra lại. 769 00:36:11,140 --> 00:36:15,150 Vì vậy, nếu chúng ta đi ngay bây giờ đây trên bên trái, đến nơi mà anh chàng này, và nhấn 770 00:36:15,150 --> 00:36:16,662 lá cờ màu xanh lá cây, 771 00:36:16,662 --> 00:36:30,260 >> [SEA LION SOUND] 772 00:36:30,260 --> 00:36:31,910 >> DAVID Malan: Tại thời điểm những gì hiện này có được thực sự gây phiền nhiễu? 773 00:36:31,910 --> 00:36:33,440 Vì điều này sẽ chỉ đi mãi mãi. 774 00:36:33,440 --> 00:36:36,490 Vì vậy, đôi khi, vòng lặp vô hạn, có thể nói, là có chủ ý. 775 00:36:36,490 --> 00:36:41,140 Nhưng trong trường hợp này, ngay sau khi tôi nhấn thanh Space, ông dừng lại. 776 00:36:41,140 --> 00:36:42,800 Bây giờ chương trình đã không bỏ thuốc lá. 777 00:36:42,800 --> 00:36:44,760 Nó vẫn chạy trong các vòng. 778 00:36:44,760 --> 00:36:46,540 Nhưng nếu tôi nhận được thanh không gian một lần nữa - 779 00:36:46,540 --> 00:36:47,851 >> [SEA LION SOUND] 780 00:36:47,851 --> 00:36:49,650 >> DAVID Malan: Anh ấy sẽ chọn lên nơi ông rời đi. 781 00:36:49,650 --> 00:36:53,240 Vì vậy, có một cách để chúng ta làm một cái gì đó một lần nữa và một lần nữa, nhưng mà 782 00:36:53,240 --> 00:36:54,920 thời gian, chỉ có điều kiện. 783 00:36:54,920 --> 00:36:58,940 Vâng, trong khi chúng tôi đang ở trong tĩnh mạch này làm điều một lần nữa và một lần nữa, cho tôi 784 00:36:58,940 --> 00:37:01,370 đi vào một ví dụ như vậy ở đây. 785 00:37:01,370 --> 00:37:04,370 Điều này chúng ta sẽ gọi đếm cừu. 786 00:37:04,370 --> 00:37:05,710 >> Và thông báo những gì anh chàng này không. 787 00:37:05,710 --> 00:37:08,540 Nó thực sự là một chút giống như các giả chúng tôi đã chơi với trên 788 00:37:08,540 --> 00:37:12,230 Thứ tư, theo đó ông đặt ra một số truy cập, nghĩ về nó như N một lần nữa, để 789 00:37:12,230 --> 00:37:14,030 bằng không, anh mãi mãi nào sau đây. 790 00:37:14,030 --> 00:37:17,960 Ông cho biết giá trị của truy cập cho một thứ hai, chờ đợi một giây, và sau đó 791 00:37:17,960 --> 00:37:19,430 thay đổi truy cập một. 792 00:37:19,430 --> 00:37:21,570 Và trong bối cảnh này, mà chỉ có nghĩa là gia tăng nó. 793 00:37:21,570 --> 00:37:23,250 Vì vậy, ông cho biết thêm một đến nó. 794 00:37:23,250 --> 00:37:25,830 Vì vậy, đây là nghĩa đen - 795 00:37:25,830 --> 00:37:27,890 nó không hoàn toàn những gì chúng ta nghĩ như là đếm cừu. 796 00:37:27,890 --> 00:37:33,120 Đó là những con cừu làm kiểm, mãi mãi, tăng từ con số không. 797 00:37:33,120 --> 00:37:35,560 >> Vì vậy, chúng ta có thể làm những việc tương tự có, một cách hợp lý. 798 00:37:35,560 --> 00:37:37,750 Nhưng bây giờ chúng ta hãy cố gắng làm sạch một số những việc này lên. 799 00:37:37,750 --> 00:37:43,440 Hãy để tôi đi trước bây giờ vào một đơn giản ví dụ, nơi con mèo của chúng tôi là chỉ cần đi để 800 00:37:43,440 --> 00:37:44,750 bắt đầu ho. 801 00:37:44,750 --> 00:37:48,830 Được rồi, vì vậy ở đây chúng tôi có ho 0 - 802 00:37:48,830 --> 00:37:50,685 các nhà khoa học máy tính bắt đầu kể từ 0. 803 00:37:50,685 --> 00:37:53,480 Vì vậy, con mèo này là chỉ cần đi ho ba lần. 804 00:37:53,480 --> 00:37:54,890 Và đây là cách tôi thực hiện điều đó. 805 00:37:54,890 --> 00:38:00,130 Khi lá cờ màu xanh lá cây được nhấp, ho, chờ đợi, ho, chờ đợi, ho, chờ đợi. 806 00:38:00,130 --> 00:38:02,470 Và tôi đã làm điều này chỉ bằng cách kéo và thả mảnh ghép. 807 00:38:02,470 --> 00:38:04,740 Hoặc nếu bạn bắt đầu chắp vá với Scratch, bạn sẽ thấy bạn có thể thực sự 808 00:38:04,740 --> 00:38:08,620 bản sao tác phẩm để bạn có thể làm mọi thứ nhanh chóng hơn mà không cần kéo 809 00:38:08,620 --> 00:38:10,310 và thả quảng cáo nauseum. 810 00:38:10,310 --> 00:38:12,680 >> Nhưng chúng ta không phải trên con đường tốt nhất ở đây. 811 00:38:12,680 --> 00:38:15,210 Vì làm thế nào để tôi làm cho anh ta ho lần thứ tư? 812 00:38:15,210 --> 00:38:16,790 Vâng, tôi có thể sắp xếp của đi xuống đây. 813 00:38:16,790 --> 00:38:19,420 Tôi có thể trùng lặp và sau đó dán này trong đó. 814 00:38:19,420 --> 00:38:21,740 Làm thế nào để làm cho anh ta ho một thời gian thứ năm? 815 00:38:21,740 --> 00:38:23,230 Vâng, sao chép và dán một lần nữa. 816 00:38:23,230 --> 00:38:24,210 Hoặc kéo thả một lần nữa. 817 00:38:24,210 --> 00:38:26,920 Và rất nhanh chóng, chương trình này bắt đầu để có được thực sự, thực sự không cần thiết, 818 00:38:26,920 --> 00:38:28,880 thực sự lâu dài, nhưng thực sự nhàm chán. 819 00:38:28,880 --> 00:38:30,120 Nhưng có một cách để làm sạch này lên. 820 00:38:30,120 --> 00:38:33,680 Một cách rõ ràng là những gì để làm sạch này lên? 821 00:38:33,680 --> 00:38:36,280 >> OK, vì vậy chúng tôi có thể thực sự thực sự đi ra và khi bạn nhấn không gian 822 00:38:36,280 --> 00:38:37,070 thanh, có anh ho. 823 00:38:37,070 --> 00:38:40,150 Nhưng nếu tôi chỉ muốn làm điều gì đó lặp đi lặp lại, nhớ lại rằng chúng tôi có 824 00:38:40,150 --> 00:38:41,310 một số kiểm soát xây dựng. 825 00:38:41,310 --> 00:38:43,800 Hãy để tôi di chuyển này ra khỏi cách, đi theo kiểm soát. 826 00:38:43,800 --> 00:38:47,340 Hãy để tôi chỉ cần làm một lặp lại, nói, ba lần. 827 00:38:47,340 --> 00:38:49,410 Và bây giờ cho tôi ăn cắp một số những mảnh ghép. 828 00:38:49,410 --> 00:38:50,980 Hãy để tôi chụp này tại đây. 829 00:38:50,980 --> 00:38:52,400 Hãy để tôi ném những đi hoàn toàn. 830 00:38:52,400 --> 00:38:55,400 >> Và bây giờ, tôi có một tốt hơn thiết kế chương trình. 831 00:38:55,400 --> 00:38:55,920 Tại sao? 832 00:38:55,920 --> 00:39:00,540 Nếu tôi muốn thay đổi số lần con mèo này ho, tất cả tôi phải 833 00:39:00,540 --> 00:39:05,640 làm là thay đổi một biến, hoặc một giá trị, chứ không phải từ ba, bốn, hoặc 834 00:39:05,640 --> 00:39:06,700 năm, hoặc sáu. 835 00:39:06,700 --> 00:39:09,060 Hoặc tôi có thể làm điều gì đó có điều kiện, thậm chí, với các không gian 836 00:39:09,060 --> 00:39:10,320 thanh nếu tôi muốn. 837 00:39:10,320 --> 00:39:11,780 >> Vì vậy, đây là một nguyên tắc chung. 838 00:39:11,780 --> 00:39:14,950 Một khi bạn bắt đầu sao chép và dán mã, cho dù đó là trong Scratch, hoặc trong 839 00:39:14,950 --> 00:39:18,340 C, bạn đang làm một cái gì đó sai, rất có thể. 840 00:39:18,340 --> 00:39:21,950 Hoặc ít nhất, một khi bạn đã vượt quá một số số lượng hợp lý các bản sao và 841 00:39:21,950 --> 00:39:24,610 bột nhão, có lẽ bạn đang làm sai điều gì. 842 00:39:24,610 --> 00:39:26,740 >> Nhưng bạn biết những gì? 843 00:39:26,740 --> 00:39:27,590 Tôi không thực sự như thế này. 844 00:39:27,590 --> 00:39:28,980 Đây không phải là thiết kế sạch. 845 00:39:28,980 --> 00:39:32,860 Tôi muốn có một mảnh ghép được gọi là ho bởi vì sau đó tôi sẽ không 846 00:39:32,860 --> 00:39:36,100 phải thực hiện điều này bản thân mình, theo cách cũ thời, bởi 847 00:39:36,100 --> 00:39:38,220 đã nói, và chờ đợi - 848 00:39:38,220 --> 00:39:40,320 những gì nếu họ chỉ một mảnh ghép ho. 849 00:39:40,320 --> 00:39:41,330 >> Vâng, tôi thực sự có thể làm điều đó. 850 00:39:41,330 --> 00:39:45,010 Hãy để tôi đi theo khối hơn, nhấn Làm cho một khối, và bây giờ tôi có được điều này 851 00:39:45,010 --> 00:39:45,610 cửa sổ ở đây. 852 00:39:45,610 --> 00:39:47,540 Tôi sẽ gọi điều này ho. 853 00:39:47,540 --> 00:39:49,400 Tôi sẽ đi trước và nhấn OK. 854 00:39:49,400 --> 00:39:53,150 Và bây giờ thông báo, tôi có được một khởi đầu mới phần đó là cong trên đầu trang. 855 00:39:53,150 --> 00:39:56,590 Và những gì tôi sẽ làm gì với điều này, tôi sẽ chỉ ăn cắp các khối. 856 00:39:56,590 --> 00:39:57,800 Tôi sẽ đặt chúng ở đây. 857 00:39:57,800 --> 00:40:00,490 >> Và bây giờ, với ba mảnh, tôi đã thực hiện những gì tôi sẽ gọi một 858 00:40:00,490 --> 00:40:03,530 chức năng, hoặc một thủ tục, hoặc một số bạn có thể biết nó như là một phương pháp. 859 00:40:03,530 --> 00:40:05,050 Sự khác biệt nhỏ trong số các từ. 860 00:40:05,050 --> 00:40:06,950 Nhưng bây giờ, chúng ta hãy chỉ gọi đây là một chức năng. 861 00:40:06,950 --> 00:40:08,750 Đây chỉ là một mảnh ghép mới. 862 00:40:08,750 --> 00:40:11,000 Bây giờ nó được thực hiện như thế này. 863 00:40:11,000 --> 00:40:15,170 >> Nhưng nhận thấy rằng Scratch đã cho chúng ta một đại diện vật lý như cả 864 00:40:15,170 --> 00:40:16,570 ngăn chặn hơn đây. 865 00:40:16,570 --> 00:40:21,930 Vì vậy, bây giờ, tôi chỉ có thể kéo này trên đây, nói, lặp lại ba lần, và 866 00:40:21,930 --> 00:40:26,420 những gì sẽ xảy ra bây giờ, khi tôi chơi kịch bản này, chỉ có một chương trình 867 00:40:26,420 --> 00:40:27,500 đang chạy tại một thời điểm. 868 00:40:27,500 --> 00:40:29,880 Chỉ có một khi lá cờ màu xanh lá cây nhấp vào. 869 00:40:29,880 --> 00:40:34,010 Nhưng mà khối màu tím được gọi là ho nói một cách hiệu quả Scratch, mỗi 870 00:40:34,010 --> 00:40:38,160 khi bạn thấy rằng mảnh ghép, thực sự thực hiện các bước mà tôi 871 00:40:38,160 --> 00:40:40,420 xảy ra để thực hiện bằng tay. 872 00:40:40,420 --> 00:40:41,410 >> Vì vậy, đó là loại gọn gàng. 873 00:40:41,410 --> 00:40:44,650 Nhưng bây giờ, giả sử rằng tôi quyết định, tôi không muốn con mèo này chỉ để ho. 874 00:40:44,650 --> 00:40:46,660 Tôi muốn anh ta để có thể hắt hơi là tốt. 875 00:40:46,660 --> 00:40:48,905 Vâng, làm thế nào chúng ta có thể đi về thực hiện hắt hơi? 876 00:40:48,905 --> 00:40:51,310 Tôi cũng có thể khá nhiều làm điều tương tự. 877 00:40:51,310 --> 00:40:52,690 Tôi có thể làm cho khối khác. 878 00:40:52,690 --> 00:40:55,940 Tôi có thể gọi hắt hơi này, bấm OK. 879 00:40:55,940 --> 00:40:59,250 >> Sau đó, ở đây tôi có thể thực sự đã, hãy để tôi lặp lại này - 880 00:40:59,250 --> 00:41:02,850 và có nơi bạn sẽ cảm thấy như có lẽ bạn đang không làm một cái gì đó trong 881 00:41:02,850 --> 00:41:03,780 cách tốt nhất. 882 00:41:03,780 --> 00:41:06,670 Tôi có thể nói một cái gì đó như thế, achoo, trong một giây. 883 00:41:06,670 --> 00:41:07,440 Chờ đợi một giây. 884 00:41:07,440 --> 00:41:08,715 Bây giờ tôi có một khối mới được gọi là hắt hơi. 885 00:41:08,715 --> 00:41:10,210 Và quả thực, có nó được. 886 00:41:10,210 --> 00:41:14,010 >> Nhưng điều này cũng nên bắt đầu cảm thấy - có lẽ không phải là tuần đầu tiên của lớp, nhưng 887 00:41:14,010 --> 00:41:15,730 do thứ hai - chỉ một chút dư thừa. 888 00:41:15,730 --> 00:41:17,800 Rõ ràng, có một số dự phòng ở đây. 889 00:41:17,800 --> 00:41:22,090 Vì vậy, hãy để tôi đề xuất, thay vào đó, chúng ta tinh chỉnh định nghĩa này như sau. 890 00:41:22,090 --> 00:41:24,820 >> Hãy để tôi đi đến trình đơn tập tin của tôi. 891 00:41:24,820 --> 00:41:26,090 Tôi sẽ không để tiết kiệm phiên bản này. 892 00:41:26,090 --> 00:41:29,080 Tôi sẽ đi vào một trong file premade của tôi ở đây. 893 00:41:29,080 --> 00:41:31,190 Và tôi sẽ đi trước và mở ra ho 2. 894 00:41:31,190 --> 00:41:32,220 Rất tiếc đó là ho 2. 895 00:41:32,220 --> 00:41:36,900 Hãy để tôi đi trước và mở ho 3, đó là thư mục mã nguồn này. 896 00:41:36,900 --> 00:41:42,450 Ho 3 và thông báo - oh, tôi nói với những câu chuyện theo thứ tự sai. 897 00:41:42,450 --> 00:41:45,030 Hãy để tôi phục hồi từ câu chuyện này. 898 00:41:45,030 --> 00:41:48,990 >> Những câu chuyện tôi có nghĩa là để nói kết thúc với ho 4 - 899 00:41:48,990 --> 00:41:50,270 có nó được. 900 00:41:50,270 --> 00:41:54,380 Vì vậy, những gì nếu tôi, thay vào đó, xác định một mảnh ghép lớn hơn được gọi là 901 00:41:54,380 --> 00:41:57,250 xác định, nói từ n lần. 902 00:41:57,250 --> 00:41:59,930 Hắt hơi chỉ là, rõ ràng, trong Scratch, achoo. 903 00:41:59,930 --> 00:42:01,680 Vì vậy, chúng tôi thể hiện nó như một từ, chỉ bởi vì đó là 904 00:42:01,680 --> 00:42:02,750 hạn chế của chương trình. 905 00:42:02,750 --> 00:42:07,860 Và ho là [HO], nhưng ho, C-O-U-G-H. Vì vậy, đó chỉ là hai 906 00:42:07,860 --> 00:42:10,820 Nói cách khác nhau làm, về cơ bản, điều tương tự. 907 00:42:10,820 --> 00:42:12,820 >> Vì vậy, tôi thực sự có thể làm cho một khối mới như thế này. 908 00:42:12,820 --> 00:42:14,220 Tôi không sử dụng tùy chọn trình đơn này trước đây. 909 00:42:14,220 --> 00:42:16,960 Nhưng khi bạn nhấn Make Block, bạn có thể chọn một số tùy chọn. 910 00:42:16,960 --> 00:42:20,900 Và bạn có thể nói rằng khối này thực sự có một số yếu tố đầu vào, nếu không 911 00:42:20,900 --> 00:42:24,710 được biết đến như là đối số, hoặc các thông số, vì vậy mà bạn có thể thay đổi hành vi của 912 00:42:24,710 --> 00:42:25,520 khối của bạn. 913 00:42:25,520 --> 00:42:28,780 >> Vì vậy, những gì tôi đã làm một thời điểm trước đây được Tôi gọi khối này nói. 914 00:42:28,780 --> 00:42:30,880 Và sau đó tôi đã nói, phải mất một chuỗi đầu vào. 915 00:42:30,880 --> 00:42:32,810 Và bây giờ nhận thấy, theo mặc định, nó nói chuỗi 1. 916 00:42:32,810 --> 00:42:35,440 Một chuỗi chỉ là một từ, hoặc một cụm từ, cho các mục đích của chúng tôi. 917 00:42:35,440 --> 00:42:37,810 Nhưng tôi chỉ cần đi để đặt một số giữ chỗ văn bản đó, giống như trong một 918 00:42:37,810 --> 00:42:40,620 trang web, khi bạn thấy tên người dùng, hoặc mật khẩu, và sau đó nó biến mất khi 919 00:42:40,620 --> 00:42:41,550 bạn bắt đầu gõ. 920 00:42:41,550 --> 00:42:42,720 Đó là tất cả những gì. 921 00:42:42,720 --> 00:42:44,590 >> Và bây giờ tôi sẽ thêm một số đầu vào. 922 00:42:44,590 --> 00:42:47,180 Và tôi sẽ gọi n này - nhưng đó là khá tùy tiện. 923 00:42:47,180 --> 00:42:49,510 Và sau đó chỉ cần một nhãn hiệu, chỉ để làm cho khối này nhiều hơn một chút tự 924 00:42:49,510 --> 00:42:50,570 giải thích - 925 00:42:50,570 --> 00:42:53,010 Đôi khi, đó là những gì tôi đã thực hiện. 926 00:42:53,010 --> 00:42:56,540 Và kết quả cuối cùng là tôi nhận được một khối trông như thế này. 927 00:42:56,540 --> 00:42:58,880 >> Và bây giờ nhận thấy, tôi đang sử dụng một khối lặp lại. 928 00:42:58,880 --> 00:43:03,480 Nhưng thay vì cứng mã hóa ba, tôi kéo và thả n trong đó vì vậy tôi 929 00:43:03,480 --> 00:43:05,530 có thể tham số hóa các chức năng. 930 00:43:05,530 --> 00:43:08,590 Tôi có thể thực hiện chức năng này làm một cái gì đó một số khác nhau của thời gian trên cơ sở 931 00:43:08,590 --> 00:43:09,410 giá trị đó. 932 00:43:09,410 --> 00:43:14,270 >> Và thông báo, nói rằng, đây là những gì tôi đã làm ở đây, nếu tôi kéo từ, tôi có thể nói không một 933 00:43:14,270 --> 00:43:17,860 từ mã hóa cứng, nhưng bất cứ điều gì được thông qua trong một giây. 934 00:43:17,860 --> 00:43:20,200 Trong khi đó, làm thế nào để tái thực hiện ho? 935 00:43:20,200 --> 00:43:26,980 Tôi thay vì xác định như ho nói ho n lần. 936 00:43:26,980 --> 00:43:30,480 >> Vì vậy, trong ngắn hạn, tôi đi qua này một cách nhanh chóng, nhưng ý tưởng cơ bản là ngay 937 00:43:30,480 --> 00:43:32,750 khi bạn bắt đầu nhìn thấy trong chương trình của bạn đó, chờ một phút, tôi đã thực hiện 938 00:43:32,750 --> 00:43:36,610 một cái gì đó khá như thế này trước đây, Tôi có thể yếu tố ra một số chung 939 00:43:36,610 --> 00:43:37,090 chức năng? 940 00:43:37,090 --> 00:43:41,090 Tôi có thể phân hủy những gì tôi đang làm vào một số ý tưởng cơ bản? 941 00:43:41,090 --> 00:43:42,070 Đó là những gì chúng tôi đang làm ở đây. 942 00:43:42,070 --> 00:43:44,830 Và tôi đã xếp chồng lên nhau những điều này, trực quan, trên đầu trang của nhau 943 00:43:44,830 --> 00:43:47,710 bởi vì nó là minh chứng cho ý tưởng của bắt đầu với nhị phân, sẽ ASCII, 944 00:43:47,710 --> 00:43:51,530 thực hiện các chương trình đồ họa, loại không giới hạn ý tưởng ngày càng phức tạp trên 945 00:43:51,530 --> 00:43:52,570 lên nhau. 946 00:43:52,570 --> 00:43:53,730 >> Cùng một ý tưởng ở đây. 947 00:43:53,730 --> 00:43:56,870 Tôi bắt đầu từ đầu, thực hiện ho, sau đó ho nhận ra là 948 00:43:56,870 --> 00:43:58,540 thực sự chỉ nói điều gì đó. 949 00:43:58,540 --> 00:44:01,630 Vì vậy, hãy để tôi thay vì thực hiện khái niệm nói điều gì đó. 950 00:44:01,630 --> 00:44:05,200 Và trên đó, tôi có thể thực hiện achoo, hay ho? 951 00:44:05,200 --> 00:44:07,990 Và chúng ta có thể làm như vậy hơn biến thể vẫn còn. 952 00:44:07,990 --> 00:44:10,400 >> Vì vậy, từ nguyên tắc cơ bản này, chúng ta có thể bắt đầu làm 953 00:44:10,400 --> 00:44:12,180 ngày càng chương trình phức tạp. 954 00:44:12,180 --> 00:44:14,100 Hãy để tôi mở ra thế này. 955 00:44:14,100 --> 00:44:18,020 Chúng tôi thực sự có thể có nhiều họa tiết tương tác trên màn hình cùng một lúc. 956 00:44:18,020 --> 00:44:23,470 Nếu tôi đi vào thư mục mã nguồn của tôi và lấy một cái gọi là chủ đề, nhớ lại rằng một 957 00:44:23,470 --> 00:44:26,920 Chủ đề chỉ thực sự khả năng của hai kịch bản để chạy song song 958 00:44:26,920 --> 00:44:28,350 bên cùng một lúc. 959 00:44:28,350 --> 00:44:34,490 >> Nhận thấy bây giờ, có cả một ma chim và một ma mèo, cả hai đều có 960 00:44:34,490 --> 00:44:35,270 kịch bản của riêng mình. 961 00:44:35,270 --> 00:44:37,690 Vì vậy, thông báo, khi tôi nhấp vào con mèo, tôi nhận được những kịch bản. 962 00:44:37,690 --> 00:44:39,830 Khi tôi bấm vào chim, Tôi có được những kịch bản. 963 00:44:39,830 --> 00:44:42,070 Vì vậy, mỗi người trong số những người này có các chương trình riêng của mình. 964 00:44:42,070 --> 00:44:46,680 Khi tôi bây giờ nhấp vào lá cờ màu xanh lá cây, thông báo rằng những gì chương trình này không có gì 965 00:44:46,680 --> 00:44:54,090 có con mèo, cực kỳ chậm, đuổi theo con chim. 966 00:44:54,090 --> 00:44:57,120 Nhưng con mèo có lợi thế là có được lập trình theo cách như vậy 967 00:44:57,120 --> 00:45:00,540 rằng không có vấn đề mà con chim được, con mèo đi về phía anh. 968 00:45:00,540 --> 00:45:02,150 >> Chúng ta có thể chơi trò chơi nhanh hơn nhiều. 969 00:45:02,150 --> 00:45:07,750 Vì vậy, nếu tôi đang trên con mèo, nhận thấy rằng tôi sử dụng, chúng ta hãy nói di chuyển một bước. 970 00:45:07,750 --> 00:45:11,680 Chúng ta hãy có anh ta di chuyển năm bước tại một thời gian, vì vậy năm chấm tại một thời điểm. 971 00:45:11,680 --> 00:45:13,580 Hãy để tôi bấm chơi. 972 00:45:13,580 --> 00:45:14,490 >> [Kêu la LION'S] 973 00:45:14,490 --> 00:45:17,170 >> DAVID Malan: Được rồi, bây giờ chúng tôi có thể thực sự cho con mèo lợi thế. 974 00:45:17,170 --> 00:45:18,600 10 bước tại một thời điểm. 975 00:45:18,600 --> 00:45:20,120 >> [Kêu la LION'S] 976 00:45:20,120 --> 00:45:22,770 >> DAVID Malan: Được rồi, rất nhanh chóng, nó được một lợi thế nhỏ 977 00:45:22,770 --> 00:45:23,280 cho con mèo. 978 00:45:23,280 --> 00:45:25,310 Nhưng tôi sẽ vẫy tay tại một số chi tiết. 979 00:45:25,310 --> 00:45:28,240 Nhưng lý do mà con đường đó là bắt đầu một chút khác nhau mỗi lần 980 00:45:28,240 --> 00:45:29,700 là tôi đang làm một chút ngẫu nhiên. 981 00:45:29,700 --> 00:45:33,700 Tôi thực sự chỉ con mèo trong một hướng khác nhau dựa trên nơi tôi 982 00:45:33,700 --> 00:45:38,710 muốn anh ta bắt đầu để mỗi lần các trò chơi, hoặc các hình ảnh động, là một 983 00:45:38,710 --> 00:45:39,760 chút khác nhau. 984 00:45:39,760 --> 00:45:41,950 >> Bây giờ, hãy để tôi giới thiệu một khác xây dựng ở đây. 985 00:45:41,950 --> 00:45:43,860 Vì vậy, trong trường hợp này, chúng tôi đã có chức năng. 986 00:45:43,860 --> 00:45:46,950 Vừa có cũng sẽ là một mảnh ghép được biết đến như là một mảng, hoặc một danh sách, 987 00:45:46,950 --> 00:45:50,980 cho phép bạn lưu trữ nhiều giá trị bên trong của một biến. 988 00:45:50,980 --> 00:45:53,410 Chúng ta đã thấy chủ đề, và bây giờ có sự kiện. 989 00:45:53,410 --> 00:45:56,330 >> Vì vậy, đây là một sự kiện sử dụng hai chàng trai ở đây. 990 00:45:56,330 --> 00:46:02,490 Và nếu tôi mở tập tin được gọi là Sự kiện từ ví dụ hiện nay, chúng tôi sẽ 991 00:46:02,490 --> 00:46:06,940 thấy một chương trình trông một chút như thế này. 992 00:46:06,940 --> 00:46:09,630 Và bây giờ thấy anh chàng này - 993 00:46:09,630 --> 00:46:11,620 để nhận thấy tôi có màu xanh Muppet nhấp - 994 00:46:11,620 --> 00:46:12,990 chỉ nào sau đây. 995 00:46:12,990 --> 00:46:15,540 Anh ta không có một trong những màu xanh lá cây mảnh ghép cờ. 996 00:46:15,540 --> 00:46:18,620 Ông có một khi tôi nhận được sự kiện - 997 00:46:18,620 --> 00:46:19,970 vì vậy một số từ tùy ý. 998 00:46:19,970 --> 00:46:21,590 Tôi chỉ đánh ra sự kiện đó - 999 00:46:21,590 --> 00:46:23,740 anh ta sẽ nói, Polo, cho hai giây. 1000 00:46:23,740 --> 00:46:25,800 >> Vì vậy, những người bạn đã quen thuộc với trò chơi này có thể biết 1001 00:46:25,800 --> 00:46:26,460 nơi này là đi. 1002 00:46:26,460 --> 00:46:29,800 Nếu bây giờ tôi bấm vào Muppet cam, chương trình của mình thực hiện điều này. 1003 00:46:29,800 --> 00:46:35,020 Mãi mãi, nếu thanh không gian bàn phím đàn áp, ông sẽ nói, Marco, 1004 00:46:35,020 --> 00:46:36,580 cho hai giây trên màn hình. 1005 00:46:36,580 --> 00:46:39,590 Nhưng ông cũng sẽ sử dụng fancier chặn được gọi là phát sóng. 1006 00:46:39,590 --> 00:46:42,270 Anh ta sẽ phát sóng trích dẫn unquote, "sự kiện". 1007 00:46:42,270 --> 00:46:47,540 >> Trong khi đó, anh chàng màu xanh, thu hồi, là nghe báo giá unquote, "sự kiện". 1008 00:46:47,540 --> 00:46:50,760 Vì vậy, bằng cách nào đó, bây giờ, chúng ta có thể có hai họa tương tác. 1009 00:46:50,760 --> 00:46:53,790 Và khi chúng tôi đến lập trình web, sau đó trong thời hạn, sẽ tương tự như này 1010 00:46:53,790 --> 00:46:58,320 được thuận lợi để có trang web của bạn làm điều gì đó để đáp lại, cho 1011 00:46:58,320 --> 00:47:00,130 Ví dụ, một nhấp chuột của bàn phím. 1012 00:47:00,130 --> 00:47:02,120 >> Vì vậy, hãy để tôi đi trước và nhấn thanh không gian. 1013 00:47:02,120 --> 00:47:04,020 Cam trai nói Marco. 1014 00:47:04,020 --> 00:47:05,840 Màu xanh trai nói Polo. 1015 00:47:05,840 --> 00:47:10,780 Nếu tôi làm điều đó một lần nữa chàng trai da cam nói Marco, màu xanh trai nói polo. 1016 00:47:10,780 --> 00:47:14,130 Vì vậy, chúng ta hãy một bước xa hơn. 1017 00:47:14,130 --> 00:47:18,790 Thời gian này, chúng tôi sẽ đi, có lẽ, chỉ là một vài phút nữa đây. 1018 00:47:18,790 --> 00:47:19,904 Chúng ta có - 1019 00:47:19,904 --> 00:47:22,380 đèn bàn, đi trên xuống. 1020 00:47:22,380 --> 00:47:24,500 Bạn đang phải vào kết thúc. 1021 00:47:24,500 --> 00:47:25,740 OK, bạn có thể vừa đi lên. 1022 00:47:25,740 --> 00:47:26,990 Chúng tôi có đèn bàn cho tất cả mọi người. 1023 00:47:26,990 --> 00:47:28,360 Thôi nào. 1024 00:47:28,360 --> 00:47:30,090 Tôi không biết nếu chúng ta có thể giữ đùa này vô lý lên 1025 00:47:30,090 --> 00:47:32,035 tất cả học kỳ, mặc dù. 1026 00:47:32,035 --> 00:47:33,530 Được rồi, đi trên xuống. 1027 00:47:33,530 --> 00:47:40,260 >> Và trong khi chờ đợi, chúng tôi có theo ví dụ để kéo lên, chỉ để 1028 00:47:40,260 --> 00:47:45,370 đẩy nhanh tiến độ điều bây giờ, như vậy mà chúng tôi có một biểu hiện từ một 1029 00:47:45,370 --> 00:47:48,360 tiền thân của bạn bằng cách sử dụng cùng một khối xây dựng cơ bản. 1030 00:47:48,360 --> 00:47:48,975 Tên của bạn là gì? 1031 00:47:48,975 --> 00:47:49,240 >> John: John. 1032 00:47:49,240 --> 00:47:49,770 >> DAVID Malan: John. 1033 00:47:49,770 --> 00:47:50,400 Tốt với tôi bạn. 1034 00:47:50,400 --> 00:47:50,650 Và? 1035 00:47:50,650 --> 00:47:51,250 >> SETZ: Setz. 1036 00:47:51,250 --> 00:47:53,130 >> DAVID Malan: Setz, tốt với tôi bạn. 1037 00:47:53,130 --> 00:47:54,820 John, nếu bạn muốn đến lên đầu tiên, đây là một tuổi 1038 00:47:54,820 --> 00:47:55,910 trò chơi học tên là Frogger. 1039 00:47:55,910 --> 00:47:57,530 Bạn sử dụng bàn phím này là tốt. 1040 00:47:57,530 --> 00:48:02,425 Và mục tiêu là để có thể đi qua đường và nước. 1041 00:48:02,425 --> 00:48:12,700 >> [Frogger MUSIC và đóng SOUND] 1042 00:48:12,700 --> 00:48:14,970 >> DAVID Malan: Tôi xin lỗi, không đèn bàn cho thầy hôm nay. 1043 00:48:14,970 --> 00:48:19,110 Được rồi, Setz, phải không muốn đi lên trên? 1044 00:48:19,110 --> 00:48:20,890 Được rồi, chúng ta hãy làm điều đó một lần nữa. 1045 00:48:20,890 --> 00:48:21,430 >> SETZ: Tôi sử dụng các mũi tên? 1046 00:48:21,430 --> 00:48:22,360 >> DAVID Malan: Chỉ cần các phím mũi tên. 1047 00:48:22,360 --> 00:48:23,624 Lên, xuống, trái, phải. 1048 00:48:23,624 --> 00:48:35,700 >> [Frogger MUSIC và đóng SOUND] 1049 00:48:35,700 --> 00:48:37,880 >> DAVID Malan: Chúng tôi sẽ gọi họ giải khuyến khích ngày hôm nay, 1050 00:48:37,880 --> 00:48:38,950 sau đó, thực hiện rất tốt. 1051 00:48:38,950 --> 00:48:40,690 Ở đây, cho cả hai bạn, John và Setz. 1052 00:48:40,690 --> 00:48:41,940 Xin chúc mừng, tất cả các bên phải. 1053 00:48:41,940 --> 00:48:46,720 1054 00:48:46,720 --> 00:48:50,620 Vì vậy, một lần nữa, như trò chơi này đóng, suy nghĩ về những gì đang xảy ra? 1055 00:48:50,620 --> 00:48:52,060 >> Một, có rõ ràng là rất nhiều chuyển động. 1056 00:48:52,060 --> 00:48:55,220 Nhưng chúng tôi đã nhìn thấy như thế nào, với con mèo và chim ví dụ, làm thế nào bạn có thể làm cho 1057 00:48:55,220 --> 00:48:58,350 ảo giác về chuyển động bằng cách di chuyển một số số lượng điểm ảnh một lần nữa và một lần nữa. 1058 00:48:58,350 --> 00:49:00,280 Và nếu bạn có một khối mãi mãi, bạn có thể có những 1059 00:49:00,280 --> 00:49:02,120 xe làm điều này mãi mãi. 1060 00:49:02,120 --> 00:49:03,720 Chúng tôi có khả năng có một số ngẫu nhiên. 1061 00:49:03,720 --> 00:49:06,310 Vì vậy, trò chơi này không phải là chính xác như nhau mỗi lần. 1062 00:49:06,310 --> 00:49:09,940 Các bản ghi, những chiếc xe, có thể bắt đầu thời gian khác nhau để các 1063 00:49:09,940 --> 00:49:12,690 bản thân trò chơi thú vị hơn với mỗi trò chơi. 1064 00:49:12,690 --> 00:49:15,320 >> Và khi đó, chúng tôi đã nhìn thấy khả năng để lắng nghe những thanh không gian. 1065 00:49:15,320 --> 00:49:18,830 Nhưng rõ ràng, trong Scratch, có thể bạn cũng nghe lên, xuống, trái, phải, và 1066 00:49:18,830 --> 00:49:20,760 thực sự phím bất kỳ trên bàn phím. 1067 00:49:20,760 --> 00:49:22,200 Và bạn cũng có thể làm một số việc khác. 1068 00:49:22,200 --> 00:49:24,660 Hãy để tôi đi trước và đi lại với phiên bản web. 1069 00:49:24,660 --> 00:49:30,280 >> Hãy để tôi đi vào bộ sưu tập của chúng tôi ví dụ ở đây. 1070 00:49:30,280 --> 00:49:36,120 Và dưới Studio của tôi, phim, là, về cơ bản, một thư mục trên 1071 00:49:36,120 --> 00:49:37,780 scratch.mit.edu. 1072 00:49:37,780 --> 00:49:39,710 Chúng tôi có các phiên bản web của tất cả các dự án. 1073 00:49:39,710 --> 00:49:42,530 Và hãy xem liệu tôi có thể nhận được của tôi máy tính để hợp tác ở đây. 1074 00:49:42,530 --> 00:49:47,180 Này được viết bởi một người bạn của chúng tôi tại MIT, được gọi là Di chuyển con bướm. 1075 00:49:47,180 --> 00:49:50,250 >> Và một lần này mở ra, đây là sẽ thực sự sử dụng nhiều hơn 1076 00:49:50,250 --> 00:49:51,430 phần cứng máy tính của tôi. 1077 00:49:51,430 --> 00:49:53,325 Đầu xảy ra phải được thực hiện với Flash. 1078 00:49:53,325 --> 00:49:56,250 Flash có thể nói chuyện với webcam của bạn, nếu bạn có một. 1079 00:49:56,250 --> 00:50:00,210 Vì vậy, nếu tôi đi trước và toàn màn hình này ở đây, nhấp vào lá cờ màu xanh lá cây, thông báo 1080 00:50:00,210 --> 00:50:02,530 mà thông báo bảo mật Flash đang nói, bạn có muốn 1081 00:50:02,530 --> 00:50:04,210 cho phép sử dụng webcam của tôi? 1082 00:50:04,210 --> 00:50:05,510 >> Thông thường, bạn nên có thể nói từ chối. 1083 00:50:05,510 --> 00:50:07,180 Nhưng trong trường hợp này, chúng tôi sẽ nói cho phép. 1084 00:50:07,180 --> 00:50:10,430 Sau đó, tôi sẽ nói cho Chrome để cho phép điều này là tốt. 1085 00:50:10,430 --> 00:50:15,010 Và bây giờ, chỉ trong một thời điểm, bạn nhìn thấy tôi, vâng, tôi. 1086 00:50:15,010 --> 00:50:18,154 Và nếu tay của tôi đi lên - 1087 00:50:18,154 --> 00:50:20,390 Tôi đã có để không di chuyển của tôi đầu cùng một lúc. 1088 00:50:20,390 --> 00:50:21,740 Ngoài ra còn có một sự phản ánh trên màn hình. 1089 00:50:21,740 --> 00:50:23,480 Thôi nào, chúng ta có đi - 1090 00:50:23,480 --> 00:50:27,616 bạn có thể di chuyển nó trên màn hình vì cũng có mảnh ghép - oh, bạn 1091 00:50:27,616 --> 00:50:31,640 biết nó là gì, đó là vì bạn cũng thấy màn hình máy chiếu phía sau tôi. 1092 00:50:31,640 --> 00:50:33,870 Vì vậy, chúng ta có một chút vô hạn điều xảy ra ở đó. 1093 00:50:33,870 --> 00:50:36,470 >> Được rồi, vì vậy tôi sẽ chơi ở đây. 1094 00:50:36,470 --> 00:50:37,220 Có chúng tôi đi. 1095 00:50:37,220 --> 00:50:41,310 Vì vậy, đó cũng là một mảnh ghép mà nói, khi bạn thấy sự chuyển động bên dưới 1096 00:50:41,310 --> 00:50:45,470 một trong những họa tiết, bạn có thể có nó đi lên, xuống, trái, phải hoặc tương tự. 1097 00:50:45,470 --> 00:50:48,950 Vì vậy, chúng tôi có một chút thực tế ảo xảy ra ở đây là tốt, tất cả các bên trong 1098 00:50:48,950 --> 00:50:52,570 hạn chế của trình duyệt của tôi, chỉ cần đây sử dụng webcam của tôi. 1099 00:50:52,570 --> 00:50:53,980 Vì vậy, những gì sau đó trên đường chân trời. 1100 00:50:53,980 --> 00:50:58,350 Bộ vấn đề đầu tiên, như bạn sẽ thấy, hoặc trang web sẽ đi trực tuyến sau 1101 00:50:58,350 --> 00:51:01,100 tối nay tại cs50.net, là khá nhiều sẽ có kết thúc mở. 1102 00:51:01,100 --> 00:51:04,410 Và thực hiện một dự án Scratch quan tâm đến bạn, một trò chơi, một 1103 00:51:04,410 --> 00:51:08,350 tương tác, một cái gì đó nghệ thuật, và thách thức chính mình để sử dụng bất kỳ số 1104 00:51:08,350 --> 00:51:09,660 những mảnh ghép. 1105 00:51:09,660 --> 00:51:11,580 Và nó có thể được tương tác theo cách này. 1106 00:51:11,580 --> 00:51:15,470 Hoặc nó có thể là một cái gì đó cố tình hơn thực hiện để kể một câu chuyện. 1107 00:51:15,470 --> 00:51:19,200 >> Và quả thật, đó là nơi mà chúng tôi sẽ kết thúc ra hôm nay, với một ví dụ cuối cùng. 1108 00:51:19,200 --> 00:51:21,290 Hãy để tôi đi vào Scratch tại địa phương. 1109 00:51:21,290 --> 00:51:25,300 Hãy để tôi đi trước và mở này, và chơi một chương trình cuối cùng được viết bởi một 1110 00:51:25,300 --> 00:51:29,795 của người tiền nhiệm của mình, cụ thể là có ai ở đây. 1111 00:51:29,795 --> 00:51:32,960 1112 00:51:32,960 --> 00:51:35,938 Tốt, tăng khối lượng cho một này. 1113 00:51:35,938 --> 00:52:53,770 >> [Chơi nhạc] 1114 00:52:53,770 --> 00:52:57,255 >> Người kể chuyện: Tại CS50 tiếp theo, David mời một tình nguyện viên trên sân khấu. 1115 00:52:57,255 --> 00:52:58,636 >> DAVID Malan: Đối với các cuộc biểu tình này, chúng ta sẽ cần một tình nguyện viên. 1116 00:52:58,636 --> 00:53:01,050 Bạn có muốn đi trên xuống? 1117 00:53:01,050 --> 00:53:02,300 Tên của bạn là gì? 1118 00:53:02,300 --> 00:53:05,320 1119 00:53:05,320 --> 00:53:06,570 Di chuyển trên. 1120 00:53:06,570 --> 00:53:08,394