SPEAKER: Tôi [không nghe được]. Và tôi là một cao cấp tại Leverett nhà. Tôi nghiên cứu khoa học máy tính, và tôi là một TF CS50. 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. Tôi không có kinh nghiệm lập trình. CS50 là một giải pháp đáng nhớ nhất mà Tôi đã ở Harvard vì nó là 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. 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ự kỹ năng áp dụng. 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 không có CS50. Tôi [không nghe được]. Tôi là một cao cấp tại Leverett Nhà ở, lớp học của năm 2014. Và tôi đã CS50. DAVID Malan: Vì vậy, đây là CS50. Đây là cuối tuần không. 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 rất phổ biến mà chúng tôi đã đi và mua một số chi tiết ngày hôm nay. Vì vậy, tôi nghĩ rằng đây sẽ là việc của chúng tôi trong năm nay - đè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. 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. 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. Và cách đơn giản nhất để làm điều đó là với một thành phần, điện. 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. Hãy để cho dòng điện tử hay không. 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à 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 bóng đèn, số lượng nhiều hơn so với chỉ số không và một. Chúng tôi tính như cao như bảy, Ví dụ, thời gian qua. 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 ở đó 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 có thể có thể muốn. 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. 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 hôm thứ Tư, người đã chung đại diện cho tám bit. Và khi bàn tay của họ đã đi , họ là một. Và khi đôi tay của họ xuống, có một số không. 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? Những gì chúng tôi có thể làm gì với trình tự này của các bit? Để tạo ra một bảng chữ cái. Chúng tôi có thể xây dựng trên đó bài học trước học và thực sự bắt đầu làm cho thú vị hơn thông tin đó là ít nhất hơn quen thuộc với con người chúng ta. 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 khoa học nói chung, ý tưởng này của lớp, ở đâu, vào cuối của 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ó, đó là số không và những người thân. Và bên dưới nó là chỉ điện. 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 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 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 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 mà chính chúng ta đã làm và cũng đứng trên vai của những người khác. Bây giờ chúng tôi nhanh chóng chuyển hôm thứ Tư từ chỉ cần phải đại diện cho thông tin muốn làm điều gì đó với nó. Chúng tôi đã làm như vậy những gì xác định một thuật toán như? Một loạt các hướng dẫn. 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 một máy tính, thông thường hơn, sẽ thực hiện một sau khi khác để để đạt được một số mục tiêu. 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 người trong phòng. Và một ví dụ như vậy là để tìm Mike Smith trong một cuốn sách điện thoại. 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 tìm kiếm Mike Smith. Mục đích của hình ảnh đó là chứng minh, một lần nữa, rằng chúng tôi 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 nhanh chóng đi từ như 1.000 trang chỉ là một trang duy nhất. 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 một số cảnh quay của những gì bạn bỏ qua. Chúng ta hãy có một cái nhìn. [VIDEO xem lại] -Hiện chúng tôi đi. 1500 trang, Nice sạch dòng, nước mắt hợp pháp. [END xem video] DAVID Malan: Vì vậy, đó là thứ tư. 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 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 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ể bắt đầu cải tiến và sửa đổi họ, và, cuối cùng, thực sự phân tích như thế nào đúng hoặc làm thế nào nhanh chóng họ. Vì vậy, chúng tôi giới thiệu khái niệm này của giả, trong đó, cách hiểu thông thường, là những gì? OK, lời nói. Chúng ta hãy đi sâu hơn một chút so với. Tiếng Anh, chắc chắn, nhưng là đối với những gì kết thúc? Nói cách nào đó để tạo ra hoặc đại diện các thuật toán. Vì vậy, không có một ngôn ngữ được biết đến như giả trên thế giới. 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 một loại ký hiệu lướt qua để truyền đạt một ý tưởng rất ngắn gọn. 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 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ó, chúng ta sẽ thấy rằng có một số tiêu chuẩn cách đại diện cho giả và cũng lập trình mã. 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 mô hình tương tự sẽ tái diễn vào tuần tới. Vì vậy, giả là một số loại ngôn ngữ tương tự như một ngôn ngữ lập trình. 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. Nó chỉ là một bước chương trình ba, mục tiêu trong số đó là để đếm số lượng người trong một căn phòng ký túc xá cho rằng video hôm thứ Tư. Nhưng có một vài khía cạnh thú vị của chương trình đơn giản này. Và đây sẽ là chủ đề định kỳ. 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. 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 bối cảnh của đại số. Nhưng ở đây trong chương trình, các biến được, một, có thể gọi là bất cứ điều gì chúng ta muốn. Chúng tôi đã sử dụng n như một truy cập. 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ừ bạn có thể muốn miễn là nó mô tả, nhưng nó thực sự chỉ là một bình dự trữ. Đó 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 nhiều bit có mà soạn biến đó. Nhưng chúng ta có thể đặt các giá trị trong đó. Như vậy đến nay, chúng tôi đã chỉ đặt số. Nhưng chúng ta có thể đặt từ thực tế. Chúng ta có thể đưa đoạn văn. Chúng ta có thể đưa hình ảnh - 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 này khái niệm mức độ cao hơn của một biến. Vì vậy, khá thẳng chuyển tiếp ở đó. Và đó là dòng một. Nhưng chúng tôi rất nhanh chóng chuyển từ dòng một để thực sự làm một cái gì đó với biến đó. 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 nhiều cách. Nhưng có lẽ là rõ ràng nhất là chỉ để nói, thiết lập N bằng để bất cứ điều gì N là cộng thêm 1. Vì vậy, đó là tăng của chúng tôi. Trong khi đó, đã có một vòng lặp. Và một điều này nữa, có lẽ khá trực quan. 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ố loại chu kỳ. 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 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. 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 vòng lặp, một cái gì đó mang tính chu kỳ, sắp xảy ra. Nhưng nó có giá trị lưu ý một chi tiết cú pháp khác. Thực tế là dòng thứ ba có thực sự lõm vào khi nhấn thanh không gian vài lần là có chủ ý. 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à 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ề để lặp mà chỉ để làm cho rõ ràng rằng đó là dòng ba và không, ví dụ, dòng bốn hoặc năm, nếu có dòng cho hay năm, đó là một phần của vòng. Vì vậy, thụt đầu dòng đơn giản này truyền tải ý tưởng cơ bản. 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ụ. Và điều này cũng vậy, ví dụ đơn giản trong thế giới thực. 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 sở hữu các chương trình ngày càng phức tạp. 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 có được kết quả mong muốn. Vì vậy, ví dụ này có hai người ngồi trong phòng ký túc xá. Bên trái là mã giả cùng. 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 thuật toán để các yếu tố đầu vào, trong đó có hai người trong phòng và, nhớ lại, khi chúng ta bước qua dòng một, và hai, và ba, và hai và ba là xong - 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 trong phòng. Vì vậy, sau đó chúng tôi đã thử một ví dụ khác. Và chúng tôi đã nói những gì nếu có không người ở trong phòng? Là mã này vẫn còn đúng không? Và thực sự nó là. Nó chỉ như vậy sẽ xảy ra rằng dòng hai và, do đó, dòng ba hoặc sẽ không thực hiện. Họ sẽ không xảy ra ở tất cả các bởi vì họ chỉ không áp dụng nếu có không người trong phòng. Nhưng không phải là một vấn đề lớn. Dòng N khởi tạo một số không, do mặc dù chỉ có một dòng này 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ư chỉ định bởi các cam bằng không ở phía dưới. Nhưng sau đó chúng tôi quyết định là loại một thuật toán ngu ngốc. Nó đã được khá chậm. Chắc chắn, tôi có thể làm hai, bốn, sáu, tám, mười, khi đếm người trong một căn phòng. 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, cho mỗi cặp của người dân trong phòng, tiến hành, trong dòng ba, tăng trong của hai trên mỗi lần lặp. Vì vậy mà có thể đã làm việc ở đây cặp này của người trong phòng. 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 để nhận ra, chờ một phút này là sẽ phá vỡ, nó phá vỡ vào những gì trường hợp đơn giản? Nếu có ba người trong phòng hay, nói chung, khi có một số lẻ của người dân trong phòng, trong đó có một. Chúng tôi sẽ nhớ người đó ở đây vì không có cặp như vậy. 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 cấu trúc lập trình để mã giả. Vì vậy, một điều kiện, chúng tôi gọi là nó, hoặc một chi nhánh. 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 nơi bạn có thể làm điều này hoặc, có lẽ, cái gì khác. 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 cuối, nếu một người vẫn còn, sau đó đi trước và đếm chúng đặc biệt. 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ý cả một số thậm chí của người dân và một số lẻ của người dân. Hiện nay có nhiều cách chúng ta có thể diễn tả điều này. 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 Tiếng Anh cho giả. Nhưng ít nhất là tinh thần của ý tưởng được chuyển tải. 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 CS, tỷ lệ cược là họ có thể tìm ra, cho ba người trong phòng, làm thế nào để đếm những người dựa trên những hướng dẫn này. 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 đó 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ể bắt đầu làm phức tạp hơn điều vẫn còn. Để dẫn chúng ta sau đó, ngày hôm nay, để mã thực tế. 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. 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 đó 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 ngôn ngữ khác ngày hôm nay. Nó chỉ sẽ xem xét một chút khác nhau. 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 và nói, từ nay về sau, khi viết một chương trình, bạn viết mã nguồn. Nó là loại giống như giả. 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ừ mà bạn sử dụng. Khi lập trình bằng một ngôn ngữ, bạn có sử dụng các từ, cụm từ, cú pháp, mà người khác đã quyết định đại diện cho mà ngôn ngữ cụ thể. Vì vậy, pseudocodes là tùy thuộc vào bạn. 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à tiêu chuẩn của người khác. 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? Vâng tôi sẽ đi trước và làm điều này. Tôi sẽ đi trước và mở ra một cửa sổ ở đây. Hơn vào tuần tới này. Nhưng đây là một thiết bị được gọi là thiết bị CS50. 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ự trên một máy tính Windows, đó là bố thí tôi ảo tưởng chạy một khác nhau 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. Tôi đã chỉ toàn chiếu nó, do đó bạn không thực sự thấy Mac OS ngay bây giờ. Đây là một hệ điều hành được gọi là Linux. Nó rất phổ biến. Nó rất nhanh. Đó là rất tự do, mà đã làm cho nó rất hấp dẫn, đặc biệt là trong thế giới thương mại. 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 cho lập trình web và lưu trữ của các trang web thực tế, dự án. 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ồ quen thuộc với Windows và Mac OS. Nó chỉ có một số tên gọi khác nhau và biểu tượng cho những thứ. Nhưng đây là cái gọi là CS50 thiết bị, một máy ảo, 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 Mac của riêng bạn hoặc máy tính. Cho ngày hôm nay, tôi sẽ mở ra đơn giản nhất của chương trình. Nó được gọi là gedit. Và điều này chỉ là một trình soạn thảo đồ họa. Nó là loại giống như Microsoft Từ, nhưng đơn giản hơn. Đó là loại văn bản như chỉnh sửa hoặc notepad. 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. 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 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ì 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 soạn thảo văn bản. Vì vậy, hãy để tôi làm điều đó. Hãy để tôi đi trước và lưu này nộp đầu tiên như hello.c. 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. Nhưng bây giờ, tôi chỉ cần gõ trong một tên tập tin. Tôi sẽ lưu nó vào John của tôi Thư mục Harvard. Và bây giờ tôi có tab này cho biết Tôi thực sự chỉnh sửa một tập tin gọi là hello.c. Vì vậy, không có gì quá thú vị được nêu ra. Và bây giờ nó sẽ nhận được khá khó hiểu. Tôi sẽ để phóng to, chỉ cần vì vậy nó có thể nhìn thấy hơn. 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 cú đúp, một, hai, ba, bốn không gian thụt đầu dòng, in f, cho in 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 báo giá, đóng ngoặc, dấu chấm phẩy, nhập backspace, backspace, backspace, backspace, đóng xoăn cú đúp - Tôi đã được lập trình. 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 bất cứ ai bắt đầu giảm lập trình với. Và tất cả nó, với tất cả sự phức tạp của nó, được in ra trên màn hình, bạn biết không? Xin chào thế giới. Nhưng nó không đủ chỉ viết một chương trình. Vì vậy, đây là mã. Đây là mã nguồn trong một ngôn ngữ được gọi là c. Nó sẽ được lưu hiện trong một tập tin gọi là hello.c. Bây giờ nhìn vào phía dưới của màn hình ở đây. Thêm về điều này, một lần nữa, trong những tuần tới. 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. Đó là một chớp mắt, đen và trắng nhanh chóng. Đó là loại một giao diện trường học cũ để một máy tính thường không sử dụng chuột hoặc khác yếu tố đồ họa. Nó chỉ sử dụng bàn phím của bạn. Và tôi có thể gõ lệnh tại này nhấp nháy nhanh chóng. Và cho các mục đích của ngày hôm nay, tôi chỉ sẽ gõ như sau - thực hiện chào. 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 ngày, chúng tôi sẽ nhấn đúp chuột vào. 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. 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. 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 mặc định, được gọi là hello.c. 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 được cấu hình. Vì vậy, tôi đi trước và nhấn Enter. Tôi thấy một số đầu ra khó hiểu, nhưng điều này sẽ trở nên quá quen thuộc trước khi dài. Đ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. Nhưng bây giờ, tôi đã có chỉ là một nhấp nháy nhắc. 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ẽ trở lại vào tuần tới - xin chào. 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, ngay sau khi tôi nhấn Enter, không có. Vì vậy, tôi đã viết chương trình đầu tiên của tôi. 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 cho một vài lý do. Một, thật khó để có được kích thích về việc tham gia một lớp học nếu đây là trò chơi kết thúc. Nhưng hơn thế nữa, có một rất nhiều phiền nhiễu ở đây. 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à 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 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. Nhưng có quá nhiều mất tập trung. Có rất nhiều cú pháp trên màn hình mà nó được trong cách rất đơn giản, nếu không đơn giản, ý tưởng. 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 lại cho rằng vào thứ hai. Và chúng ta sẽ sử dụng đồ họa ngôn ngữ lập trình được gọi là cào. Đây là một ngôn ngữ lập trình, mà tôi ám chỉ về thứ tư, điều đó sẽ 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, để 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 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á ý tưởng thú vị. 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à giới thiệu bạn đến thay thế cho rằng chương trình, đó là sẽ tìm một chút gì đó ánh sáng này. Đó 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 đố mảnh, khi đan cài và nhấp vào, sẽ nói với thế giới, hello thế giới. Vì vậy, chúng ta hãy thực sự đến đó. Vì vậy, tôi sẽ đi trước và mở một trang web được biết đến như scratch.mit.edu. Và điều này sẽ dẫn tôi đến trang web này ở đây. Trước, tôi đã đăng nhập vào này trang web và những vấn đề đầu tiên mà sẽ hướng dẫn bạn qua một số bước. Tôi sẽ đi trước và nhấp thư mục trên đầu của tôi ở đây. Và điều này sẽ chỉ cho tôi một số dự án mà tôi đã thực sự tạo ra trước. Và nó chỉ ra rằng đồ họa này ngôn ngữ lập trình không chỉ sẽ để 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 thậm chí không cần phần mềm đặc biệt. Đó 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 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 phần mềm như các thiết bị CS50, đó sẽ đến vào tuần tới. Vì vậy, tôi sẽ đi lên vào góc cao đây và nhấn vào nút Create. 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 lập trình đồ họa này lập trình môi trường. 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. 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. 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 đầu tiên đặt vấn đề, bạn sẽ tìm thấy tất cả điều này rất tiếp cận và khá trực quan. Nhưng chúng ta hãy vẽ một bức tranh tinh thần chỉ trong khoảnh khắc. Vì vậy, bên dưới này nhanh chóng cứu nói thay đổi, bạn đang về để xem đầu. Đây là một ma. Đó là một nhân vật. 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 mà ông có thể di chuyển lên, xuống, trái, bên phải, và làm, thực sự, các loại hành động. Trong khi đó, ở giữa người sử dụng này giao diện, chúng ta có một bó toàn bộ mảnh ghép. Và bạn sẽ thấy rằng họ nói những điều như di chuyển 10 bước, quay 15 độ, điểm trong một hướng nhất định. Nhưng có loại khối lên đây quá. Vì vậy, nếu tôi đi đến vẻ, bạn sẽ thấy rằng có mảnh ghép khác rõ ràng sẽ cho cit này chào hỏi, để suy nghĩ, để hiển thị mình, ẩn mình. Nếu tôi đi xuống Âm thanh, nó quay ra có cách để chơi âm thanh như meo meo, để ngăn chặn tất cả các âm thanh, để chơi một cái trống. 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 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ì. 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. 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à Tôi sẽ thực sự kéo và thả những mảnh ghép. Đó là văn bản trống của tôi cửa sổ tương đương. Vì vậy, tôi sẽ đi trước và nhấp Kiểm soát ở giữa. Hay đúng hơn, hãy để tôi bắt đầu lên dưới sự kiện. 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 cong trên đầu trong một cách mà họ có thể không khóa liên động trên đầu của các mảnh ghép. 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 kịch bản, vậy để nói chuyện. 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 muốn con mèo này để nói một cái gì đó lần đầu tiên. Vì vậy, tôi sẽ đi theo trông bảng điều khiển. Và tôi sẽ đi trước và lấy chào khối, và kéo và thả, và để cho đi để nó tự động khóa liên động có. Và sau đó nhận ra rằng tôi có thể nhấp chuột vào văn bản. 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. 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 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. 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 và một lá cờ màu xanh lá cây lớn. Hãy để tôi phóng to cho rõ ràng. 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 chương trình hiện nay sẽ làm. 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 trong một số những cú pháp, chi tiết nhỏ. Nhưng chúng ta hãy thử một cái gì đó ít thú vị hơn. Hãy để tôi đi vào thư mục Scratch của tôi ở đây. 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 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 thư mục mã nguồn. 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 có thể truy cập bên trong trang web của khóa học. Và tôi sẽ đi trước đây và chọn lên một chút gì đó khác nhau. Này ở đây, mà Tôi cần một tình nguyện viên. Những người muốn một chiếc đèn bàn ngày hôm nay? 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? Đến trên xuống. Bây giờ, bạn muốn tham gia, hoặc chỉ nói bắt đầu với đèn bàn? Vanessa: [nghe được]. DAVID Malan: OK. Tuyệt vời, là bạn biết những gì tên? Vanessa? David. Hân hạnh được gặp bạn. Vì vậy, đến trên và Vanessa sẽ để kiểm soát của tôi bàn phím cho một thời điểm. 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 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 sử dụng, cũng có thể được tải về và chạy trên máy tính của bạn. 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ề 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 một cách nhanh chóng ngay trên máy tính xách tay của tôi. 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ể. Vì vậy, tôi sẽ đi trước và mở ra thế này. Tôi sẽ đi trước và bây giờ toàn màn hình cửa sổ. 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 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 ứng dụng. Vì vậy, đây là những hướng dẫn. Oh, và chúng tôi có một điều khác. 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 máy ảnh theo cách này. 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 thông qua đôi mắt của bạn. Vì vậy, ở đây chúng tôi có một số kính Google. [Ngạc nhiên hổn hển] DAVID Malan: Chúng tôi sẽ chỉ được đưa ra đi đèn bàn hôm nay. [Cười] Vì vậy, hãy để tôi gợi ý điều này. Được rồi, vì vậy liên lạc này. OK, Thủy tinh, quay video. Được rồi, Vanessa? 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 tăng nhẹ và ở bên phải, bạn sẽ thấy kính đen, và bạn nên nhìn thấy một cửa sổ nhỏ hình chữ nhật. 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ờ? Vâng. Vanessa: Có. DAVID Malan: OK. Vì vậy, đó là tốt. Chúng tôi sẽ phát hành đoạn phim này sau. Hiện tại, chuyển sự chú ý của bạn để màn hình ở đây. 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 chỉ bằng cách sử dụng một chương trình đồ họa. Vì vậy, bạn sẽ, trong một thời điểm, nhấn thanh không gian để bắt đầu. Và sau đó một số mảnh ghép sẽ để bắt đầu di chuyển lên màn hình. Và bạn muốn nhấn phím mũi tên, chỉ giống như trong thực tế DDR, theo với những thứ xếp hàng với những mũi tên. Vanessa: OK. DAVID Malan: Bạn đã chơi này trước đây. Vanessa: Vâng. DAVID Malan: Được rồi, Vanessa, đi trước và mang nó đi. [MUSIC - Kayne West, "Stronger"] [Vỗ tay] DAVID Malan: Vì vậy, hãy giờ có một bước từ đó. Vì vậy, rõ ràng, đó là trò chơi kết thúc. Các trò chơi kết thúc không phải là hello world. 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. Bạn cũng có thể làm hoạt hình. 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, mà kể một câu chuyện hơn nó thực hiện một trò chơi. 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 từ ngày hôm nay. 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. 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 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 về cho đến nay - 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ỉ thực hiện một số quán tưởng. Bạn thấy ở đây. Vì vậy, tôi cung cấp cho bạn một câu chuyện tình yêu cookie. [MUSIC - GREEN DAY, "HOLIDAY"] [CRASH] [MUSIC - những con rùa, "Happy Together"] DAVID Malan: Được rồi, do đó, chúng tôi đã có một câu chuyện tình yêu cookie. Nhưng thậm chí có - [Vỗ tay] DAVID Malan: Được rồi, thậm chí có, suy nghĩ về, như những tâm hồn đi từ 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 ngẫu nhiên xảy ra. 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ư Đầu, như trong C, bạn có thể tạo ra số ngẫu nhiên, hoặc ảo giác về 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ể được nếu bạn đã hoàn toàn cứng mã hoá tất cả mọi thứ. Trong phong trào mà bạn nhìn thấy, có có một số loại phản ứng. Ngay khi người đàn ông chạm vào bánh gừng người phụ nữ bánh gừng, cô dường như di chuyển đi. 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 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ố mã nguồn của bạn để thực sự thực hiện. Bạn có thể lắng nghe như vậy thứ trên màn hình. 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 để đạt được một số mục tiêu này. Vì vậy, đây là những gì chúng tôi sẽ từ nay về sau gọi một tuyên bố. 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, nhưng đó là tùy ý. 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à cho máy tính để làm một cái gì đó, một tuyên bố. Vì vậy, đây là một ví dụ đơn giản. Chào thế giới. Một số khác có thể chờ đợi một giây. Vì vậy, đây mảnh ghép, được hỗ trợ trong Scratch, chúng tôi sẽ cho bạn nhân vật tạm dừng trong một số số giây. Điều này cũng chỉ là một tuyên bố. Đây tiếp theo, chúng tôi có một hơn một thú chơi âm thanh meo meo, và mũi tên nhỏ có nghĩa là trong Scratch, đây là một trình đơn thả xuống. Vì vậy, bạn có thể nhập âm thanh. Bạn có thể ghi lại âm thanh và làm khác những điều thú vị trong Scratch. Và rằng, quá, tuy nhiên, ở cuối trong ngày, chỉ là một tuyên bố. 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 Biểu thức Boolean. Vốn B, được đặt tên sau khi Một tác giả tên Bool. Và một biểu thức Boolean chỉ là mảnh ghép hay, nói chung, một mẩu thông tin đó là đúng hoặc sai - một hoặc không, có hoặc không. Vì vậy, nó chỉ là một trong những hai đối lập. 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 đố mảnh. Và nó hỏi một câu hỏi, chuột xuống, và có thể được, của các Tất nhiên, đúng hay sai. 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 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 với chương trình của bạn. Điều này là một chút trừu tượng hơn, nhưng hai hộp màu trắng chỉ cho số điện thoại. 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? Và nếu như vậy, Scratch sẽ cư xử cách này hay cách khác. Điều này là một chút đồ họa hơn. Đó là nếu ma, nếu con mèo, cho Chẳng hạn, được thực sự chạm vào con trỏ chuột. 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 mảnh ghép sẽ đánh giá đúng sự thật. 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ẽ 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 đó, 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 trong phòng không? Nếu như vậy, thêm một. Nếu không, đừng lo lắng hơn nữa. 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. 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 toàn bộ điều là đúng. Và đây là một ví dụ thế giới thực hơn. 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 ở đó, mà nếu bạn kiểm tra hộp tiếp theo các khóa học, sẽ nói, có, chỉ cho tôi các khóa học mà giá trị Q là 4.5 hoặc cao hơn. Nếu bạn bỏ chọn nó, không, không lo lắng về điều đó. Hoặc tương tự, bên phải, Có không Xung đột với khóa học Tôi Lấy, đó là đúng hoặc sai. Nó chỉ là một biểu thức Boolean. 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ỉ chuyển đổi qua lại tương đương với một Boolean biểu hiện và tắt. Vì vậy, trong những hình thức để bạn sử dụng những? 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 trông như thế này. Và đó là loại hợp lý vì nhiều như trong giả, chúng ta thụt 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à sẽ thực hiện, hoặc không, tùy thuộc trên nó ở đâu. 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. Trong khi đó, có một khối nếu / khác. 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 đó. Và logic này, bây giờ, mặc dù điều đó mảnh ghép rõ ràng là quá nhỏ để nêm cái gì khác bên trong của nó, các mảnh ghép đầu, họ chỉ cần đi để phát triển. 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ì là bạn đang cố gắng để làm. 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 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 theo cách đó. Tất nhiên, nếu bạn làm điều đó quá nhiều, nó bắt đầu để có được xấu xí. 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. Và do đó sẽ được định kỳ chủ đề quá, mà phong cách. Chỉ cần tốt như làm thế nào để thực sự định dạng mã của bạn? Hay như thế nào để bạn thiết kế mã của bạn? Nhưng thêm vào đó trong tương lai. Và bây giờ chúng tôi có vòng. 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 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. Bạn có thể cụ thể hơn và nói, làm những điều sau đây 10 lần. Bạn cũng có thể sử dụng các biến. 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 biến được gọi là n và thiết lập nó tương đương với một số giá trị. Và sau đó bạn có thể có chức năng. Nhưng nhiều hơn về những chỉ trong một thời điểm. Hãy để tôi quay trở lại của tôi Gãi giao diện. Và để cho tôi đi trước thời gian này. Và chúng ta hãy đi trước và mở ra, hãy nói, một ví dụ từ - đó là một chút thú vị hơn. 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. Tôi không cần phải mở một này. Hãy để tôi vào File, New. Tôi sẽ đi đến sự kiện. 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. Và tôi sẽ kéo và thả này mảnh ghép, chơi meo meo âm thanh. Nó chốt lại với nhau. Và bây giờ, nếu tôi bấm vào lá cờ màu xanh lá cây - [MEOW SOUND] DAVID Malan: đáng yêu. 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 chúng ta có thể, cho bây giờ. Tôi sẽ mở chốt cửa ra này từ anh chàng đó. Tôi sẽ đi vào Control. Và tôi sẽ lấy một điều kiện. Vì vậy, nếu một cái gì đó sau đó. Vì vậy, đó là cách mà nó trông có. Vì vậy, tôi cần một biểu thức Boolean. Và để cho tôi đi trước và nói, cho tôi đi đến nhà khai thác. Tôi sẽ làm điều gì đó hơi mathy, chỉ cần cho đá. 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, đi trước và làm một cái gì đó. Vì vậy, bây giờ, bạn biết những gì, một khối ngẫu nhiên. 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 đó. 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 thú vị. 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. Nếu tôi chọn sáu, mà chủ yếu phương tiện, làm như sau với 50% xác suất. Nó giống như lật một đồng xu. Bây giờ, tôi có thể làm điều gì đó có điều kiện. Và đó là một cái gì đó tôi sẽ làm là chơi âm thanh. 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. [MEOW SOUND] DAVID Malan: Đó là người đứng đầu hay những thứ linh tinh đó. Hãy làm điều đó một lần nữa. [MEOW SOUND] DAVID Malan: Thủ trưởng một lần nữa. [MEOW SOUND] DAVID Malan: Thủ trưởng một lần nữa. Chao ôi, OK. Đuôi thời gian đó. 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 và 50% im lặng. 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 đó. Nhưng đây là loại tẻ nhạt mà tôi có giữ cách nhấn vào nút đó. Vì vậy, chúng ta chỉ cần kéo và ném tất cả những xa. Nếu bạn kéo chúng vào giữa, họ sẽ chỉ xóa bản thân. Hãy để tôi đi lên để kiểm soát. Hãy để tôi đi mãi mãi. Và lần này, tôi sẽ làm một cái gì đó minorly gây phiền nhiễu. [Cười] DAVID Malan: Và hãy để tôi đi trước và làm kiểm soát. Chờ đợi một giây, chỉ cần như vậy nó không quá ghê tai. [MEOW SOUND] DAVID Malan: Đó không phải là tự nhiên. OK. [MEOW SOUND] 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 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. Bạn không cần phải biên dịch. Bạn chỉ cần thay đổi nó, và các chương trình sẽ điều chỉnh tự động. Vì vậy, đây là nhận được một ít thú vị. Nhưng chúng ta hãy một bước xa hơn. Hãy để tôi đi trước và nhận được thoát khỏi chương trình đó. [MEOW SOUND] DAVID Malan: Đó là những gì chúng tôi sẽ gọi một lỗi trong Scratch. Ông không nên tiếp tục âm thanh đó. Vì vậy, chúng tôi chúng tôi sẽ nói cho anh ta dừng lại. Được rồi, vậy bây giờ tôi sẽ đi vào - Tôi sẽ cho MIT biết. Chúng tôi sẽ đi qua đây đến Forever. 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. Tôi sẽ đi vào kiểm soát. Và chúng ta hãy xem, tôi sẽ kéo của tôi nếu có điều kiện. Vì vậy, bây giờ nhận thấy sự logic. 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 đó một cái gì đó nếu điều này là đúng sự thật khác. Tôi sẽ đi đến, chúng ta hãy nói, cảm biến. Và tôi sẽ đi trước và chọn chạm vào và thả nó ở đó. Đó là một biểu thức Boolean. Và bây giờ, thông báo, trong sự sụt giảm này trình đơn thả xuống, có một số giá trị được xác định trước. 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? Hoặc là bạn chạm vào con trỏ chuột, mũi tên trên màn hình? Vì vậy, tôi sẽ làm điều đó. Và nếu như vậy, sau đó tôi sẽ đi trước và chơi âm thanh meo meo. Vì vậy, bây giờ tôi loại có khởi đầu của một trò chơi - một trò chơi đáng yêu. [MEOW SOUND] DAVID Malan: OK, một đáng yêu, lỗi game. Cho tôi chờ đợi, chúng ta hãy nói, thứ hai đó. 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. [MEOW SOUND] DAVID Malan: Vì vậy, bây giờ nó như vuốt ve một con mèo. [MEOW SOUND] DAVID Malan: Được rồi, bây giờ điều này mà tôi đã làm trước. Rất muộn, nó được loại dễ dàng để làm những điều ngu ngốc. Vì vậy, hãy để tôi đi đây. Hãy nói rằng, đã được mang theo thú nuôi Cát. Bây giờ hãy mở Đừng mang theo thú nuôi Cát. Bây giờ, nếu chúng tôi chơi này, bạn có thể đoán, nếu bạn nhìn vào màn hình - [MEOW SOUND] DAVID Malan: Bây giờ, nếu tôi vật nuôi mèo [Kêu la LION'S] DAVID Malan: Vì vậy, không thực sự vật nuôi mèo trong trường hợp đó. 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. Bây giờ hãy để tôi đi trước và mở nhau đây. Đ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. 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 anh chàng này ở đây và nhìn thấy những gì khác nhau. Wow, được rồi, nên bây giờ nó nhận được một chút phức tạp hơn. 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 ở phía bên tay phải. Và bây giờ đầu cho phép rõ ràng chúng tôi có nhiều kịch bản, nhiều 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, họ cả hai sẽ chạy theo sát bước chân. 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à ám chỉ một chủ đề cao cấp hơn, với mà một số bạn có thể quen thuộc, được biết đến như luồng, hoặc đa luồng. 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 việc cùng một lúc. 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 nó thực sự làm một điều tại một thời điểm. 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 đồng thời. Và thông báo, cả hai người trong số họ có mãi mãi đố miếng. 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 đỏ. Vì vậy, những gì họ sẽ làm gì? Ở 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. 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 thời gian để truyền đạt ý nghĩa. Tôi đặt nó bằng số không. Hãy nghĩ về điều đó như sai, hoặc chúng ta hãy nghĩ về điều đó như sai. Bây giờ, mãi mãi làm như sau. Nếu thanh không gian của bàn phím được nhấn, sau đó nếu tắt bằng không, sau đó thay đổi để tắt tiếng bằng một. Khác, thiết lập tắt tiếng không. 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à chỉ nói, khi tôi nhấn thanh không gian, những gì tôi nên làm gì để biến gọi tắt? Thay đổi nó từ một số không, hoặc không có một. Đó là tất cả. 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 biến, mà tôi đã làm điều đó. Trong khi đó, ở phía bên tay phải, trong cách hiểu thông thường, mục đích là gì kịch bản bên phải? HỌC SINH: Để phát âm thanh sư tử biển. DAVID Malan: Để chơi Sea Lion âm thanh, nếu anh ta không bị tắt tiếng, bởi bản chất của biến đó. Vì vậy, chúng tôi chia sẻ trạng thái, có thể nói, chia sẻ thông tin qua hai kịch bản bởi vì, thông báo đây, chúng tôi mãi mãi làm như sau. 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 Sư tử biển âm thanh này. Và nghĩ đến bản thân, hi, hi, hi, cho hai giây, chờ đợi một thời điểm, và sau đó kiểm tra lại. 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 lá cờ màu xanh lá cây, [SEA LION SOUND] 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? Vì điều này sẽ chỉ đi mãi mãi. Vì vậy, đôi khi, vòng lặp vô hạn, có thể nói, là có chủ ý. Nhưng trong trường hợp này, ngay sau khi tôi nhấn thanh Space, ông dừng lại. Bây giờ chương trình đã không bỏ thuốc lá. Nó vẫn chạy trong các vòng. Nhưng nếu tôi nhận được thanh không gian một lần nữa - [SEA LION SOUND] DAVID Malan: Anh ấy sẽ chọn lên nơi ông rời đi. 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à thời gian, chỉ có điều kiện. 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 đi vào một ví dụ như vậy ở đây. Điều này chúng ta sẽ gọi đếm cừu. Và thông báo những gì anh chàng này không. 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 Thứ tư, theo đó ông đặt ra một số truy cập, nghĩ về nó như N một lần nữa, để bằng không, anh mãi mãi nào sau đây. Ông cho biết giá trị của truy cập cho một thứ hai, chờ đợi một giây, và sau đó thay đổi truy cập một. Và trong bối cảnh này, mà chỉ có nghĩa là gia tăng nó. Vì vậy, ông cho biết thêm một đến nó. Vì vậy, đây là nghĩa đen - nó không hoàn toàn những gì chúng ta nghĩ như là đếm cừu. Đó là những con cừu làm kiểm, mãi mãi, tăng từ con số không. 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ý. 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. 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 để bắt đầu ho. Được rồi, vì vậy ở đây chúng tôi có ho 0 - các nhà khoa học máy tính bắt đầu kể từ 0. Vì vậy, con mèo này là chỉ cần đi ho ba lần. Và đây là cách tôi thực hiện điều đó. Khi lá cờ màu xanh lá cây được nhấp, ho, chờ đợi, ho, chờ đợi, ho, chờ đợi. Và tôi đã làm điều này chỉ bằng cách kéo và thả mảnh ghép. 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ự 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 và thả quảng cáo nauseum. Nhưng chúng ta không phải trên con đường tốt nhất ở đây. Vì làm thế nào để tôi làm cho anh ta ho lần thứ tư? Vâng, tôi có thể sắp xếp của đi xuống đây. Tôi có thể trùng lặp và sau đó dán này trong đó. Làm thế nào để làm cho anh ta ho một thời gian thứ năm? Vâng, sao chép và dán một lần nữa. Hoặc kéo thả một lần nữa. 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, thực sự lâu dài, nhưng thực sự nhàm chán. Nhưng có một cách để làm sạch này lên. Một cách rõ ràng là những gì để làm sạch này lên? 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 thanh, có anh ho. 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ó một số kiểm soát xây dựng. Hãy để tôi di chuyển này ra khỏi cách, đi theo kiểm soát. Hãy để tôi chỉ cần làm một lặp lại, nói, ba lần. Và bây giờ cho tôi ăn cắp một số những mảnh ghép. Hãy để tôi chụp này tại đây. Hãy để tôi ném những đi hoàn toàn. Và bây giờ, tôi có một tốt hơn thiết kế chương trình. Tại sao? Nếu tôi muốn thay đổi số lần con mèo này ho, tất cả tôi phải 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 năm, hoặc sáu. 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 thanh nếu tôi muốn. Vì vậy, đây là một nguyên tắc chung. Một khi bạn bắt đầu sao chép và dán mã, cho dù đó là trong Scratch, hoặc trong C, bạn đang làm một cái gì đó sai, rất có thể. 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à bột nhão, có lẽ bạn đang làm sai điều gì. Nhưng bạn biết những gì? Tôi không thực sự như thế này. Đây không phải là thiết kế sạch. 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 phải thực hiện điều này bản thân mình, theo cách cũ thời, bởi đã nói, và chờ đợi - những gì nếu họ chỉ một mảnh ghép ho. Vâng, tôi thực sự có thể làm điều đó. 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 cửa sổ ở đây. Tôi sẽ gọi điều này ho. Tôi sẽ đi trước và nhấn OK. 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. 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. Tôi sẽ đặt chúng ở đây. 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 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. Sự khác biệt nhỏ trong số các từ. Nhưng bây giờ, chúng ta hãy chỉ gọi đây là một chức năng. Đây chỉ là một mảnh ghép mới. Bây giờ nó được thực hiện như thế này. Nhưng nhận thấy rằng Scratch đã cho chúng ta một đại diện vật lý như cả ngăn chặn hơn đây. 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à 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 đang chạy tại một thời điểm. Chỉ có một khi lá cờ màu xanh lá cây nhấp vào. 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 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 xảy ra để thực hiện bằng tay. Vì vậy, đó là loại gọn gàng. 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. Tôi muốn anh ta để có thể hắt hơi là tốt. Vâng, làm thế nào chúng ta có thể đi về thực hiện hắt hơi? Tôi cũng có thể khá nhiều làm điều tương tự. Tôi có thể làm cho khối khác. Tôi có thể gọi hắt hơi này, bấm OK. Sau đó, ở đây tôi có thể thực sự đã, hãy để tôi lặp lại này - 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 cách tốt nhất. Tôi có thể nói một cái gì đó như thế, achoo, trong một giây. Chờ đợi một giây. Bây giờ tôi có một khối mới được gọi là hắt hơi. Và quả thực, có nó được. 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 do thứ hai - chỉ một chút dư thừa. Rõ ràng, có một số dự phòng ở đây. 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. Hãy để tôi đi đến trình đơn tập tin của tôi. Tôi sẽ không để tiết kiệm phiên bản này. Tôi sẽ đi vào một trong file premade của tôi ở đây. Và tôi sẽ đi trước và mở ra ho 2. Rất tiếc đó là ho 2. Hãy để tôi đi trước và mở ho 3, đó là thư mục mã nguồn này. Ho 3 và thông báo - oh, tôi nói với những câu chuyện theo thứ tự sai. Hãy để tôi phục hồi từ câu chuyện này. Những câu chuyện tôi có nghĩa là để nói kết thúc với ho 4 - có nó được. 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à xác định, nói từ n lần. Hắt hơi chỉ là, rõ ràng, trong Scratch, achoo. Vì vậy, chúng tôi thể hiện nó như một từ, chỉ bởi vì đó là hạn chế của chương trình. Và ho là [HO], nhưng ho, C-O-U-G-H. Vì vậy, đó chỉ là hai Nói cách khác nhau làm, về cơ bản, điều tương tự. Vì vậy, tôi thực sự có thể làm cho một khối mới như thế này. Tôi không sử dụng tùy chọn trình đơn này trước đây. Nhưng khi bạn nhấn Make Block, bạn có thể chọn một số tùy chọn. 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 đượ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 khối của bạn. 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. Và sau đó tôi đã nói, phải mất một chuỗi đầu vào. Và bây giờ nhận thấy, theo mặc định, nó nói chuỗi 1. 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. Nhưng tôi chỉ cần đi để đặt một số giữ chỗ văn bản đó, giống như trong một 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 bạn bắt đầu gõ. Đó là tất cả những gì. Và bây giờ tôi sẽ thêm một số đầu vào. Và tôi sẽ gọi n này - nhưng đó là khá tùy tiện. 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ự giải thích - Đôi khi, đó là những gì tôi đã thực hiện. Và kết quả cuối cùng là tôi nhận được một khối trông như thế này. Và bây giờ nhận thấy, tôi đang sử dụng một khối lặp lại. Nhưng thay vì cứng mã hóa ba, tôi kéo và thả n trong đó vì vậy tôi có thể tham số hóa các chức năng. 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ở giá trị đó. 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 từ mã hóa cứng, nhưng bất cứ điều gì được thông qua trong một giây. Trong khi đó, làm thế nào để tái thực hiện ho? Tôi thay vì xác định như ho nói ho n lần. 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 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 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 chức năng? 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? Đó là những gì chúng tôi đang làm ở đây. 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 bởi vì nó là minh chứng cho ý tưởng của bắt đầu với nhị phân, sẽ ASCII, 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 lên nhau. Cùng một ý tưởng ở đây. Tôi bắt đầu từ đầu, thực hiện ho, sau đó ho nhận ra là thực sự chỉ nói điều gì đó. Vì vậy, hãy để tôi thay vì thực hiện khái niệm nói điều gì đó. Và trên đó, tôi có thể thực hiện achoo, hay ho? Và chúng ta có thể làm như vậy hơn biến thể vẫn còn. Vì vậy, từ nguyên tắc cơ bản này, chúng ta có thể bắt đầu làm ngày càng chương trình phức tạp. Hãy để tôi mở ra thế này. 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. 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 Chủ đề chỉ thực sự khả năng của hai kịch bản để chạy song song bên cùng một lúc. Nhận thấy bây giờ, có cả một ma chim và một ma mèo, cả hai đều có kịch bản của riêng mình. 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. Khi tôi bấm vào chim, Tôi có được những kịch bản. 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. 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ì có con mèo, cực kỳ chậm, đuổi theo con chim. Nhưng con mèo có lợi thế là có được lập trình theo cách như vậy rằng không có vấn đề mà con chim được, con mèo đi về phía anh. Chúng ta có thể chơi trò chơi nhanh hơn nhiều. 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. 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. Hãy để tôi bấm chơi. [Kêu la LION'S] DAVID Malan: Được rồi, bây giờ chúng tôi có thể thực sự cho con mèo lợi thế. 10 bước tại một thời điểm. [Kêu la LION'S] DAVID Malan: Được rồi, rất nhanh chóng, nó được một lợi thế nhỏ cho con mèo. Nhưng tôi sẽ vẫy tay tại một số chi tiết. Nhưng lý do mà con đường đó là bắt đầu một chút khác nhau mỗi lần là tôi đang làm một chút ngẫu nhiên. 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 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 chút khác nhau. Bây giờ, hãy để tôi giới thiệu một khác xây dựng ở đây. Vì vậy, trong trường hợp này, chúng tôi đã có chức năng. 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, cho phép bạn lưu trữ nhiều giá trị bên trong của một biến. Chúng ta đã thấy chủ đề, và bây giờ có sự kiện. Vì vậy, đây là một sự kiện sử dụng hai chàng trai ở đây. 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ẽ thấy một chương trình trông một chút như thế này. Và bây giờ thấy anh chàng này - để nhận thấy tôi có màu xanh Muppet nhấp - chỉ nào sau đây. Anh ta không có một trong những màu xanh lá cây mảnh ghép cờ. Ông có một khi tôi nhận được sự kiện - vì vậy một số từ tùy ý. Tôi chỉ đánh ra sự kiện đó - anh ta sẽ nói, Polo, cho hai giây. Vì vậy, những người bạn đã quen thuộc với trò chơi này có thể biết nơi này là đi. 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. Mãi mãi, nếu thanh không gian bàn phím đàn áp, ông sẽ nói, Marco, cho hai giây trên màn hình. Nhưng ông cũng sẽ sử dụng fancier chặn được gọi là phát sóng. Anh ta sẽ phát sóng trích dẫn unquote, "sự kiện". Trong khi đó, anh chàng màu xanh, thu hồi, là nghe báo giá unquote, "sự kiện". 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. 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 được thuận lợi để có trang web của bạn làm điều gì đó để đáp lại, cho Ví dụ, một nhấp chuột của bàn phím. Vì vậy, hãy để tôi đi trước và nhấn thanh không gian. Cam trai nói Marco. Màu xanh trai nói Polo. 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. Vì vậy, chúng ta hãy một bước xa hơn. Thời gian này, chúng tôi sẽ đi, có lẽ, chỉ là một vài phút nữa đây. Chúng ta có - đèn bàn, đi trên xuống. Bạn đang phải vào kết thúc. OK, bạn có thể vừa đi lên. Chúng tôi có đèn bàn cho tất cả mọi người. Thôi nào. Tôi không biết nếu chúng ta có thể giữ đùa này vô lý lên tất cả học kỳ, mặc dù. Được rồi, đi trên xuống. Và trong khi chờ đợi, chúng tôi có theo ví dụ để kéo lên, chỉ để đẩ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 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. Tên của bạn là gì? John: John. DAVID Malan: John. Tốt với tôi bạn. Và? SETZ: Setz. DAVID Malan: Setz, tốt với tôi bạn. John, nếu bạn muốn đến lên đầu tiên, đây là một tuổi trò chơi học tên là Frogger. Bạn sử dụng bàn phím này là tốt. Và mục tiêu là để có thể đi qua đường và nước. [Frogger MUSIC và đóng SOUND] DAVID Malan: Tôi xin lỗi, không đèn bàn cho thầy hôm nay. Được rồi, Setz, phải không muốn đi lên trên? Được rồi, chúng ta hãy làm điều đó một lần nữa. SETZ: Tôi sử dụng các mũi tên? DAVID Malan: Chỉ cần các phím mũi tên. Lên, xuống, trái, phải. [Frogger MUSIC và đóng SOUND] DAVID Malan: Chúng tôi sẽ gọi họ giải khuyến khích ngày hôm nay, sau đó, thực hiện rất tốt. Ở đây, cho cả hai bạn, John và Setz. Xin chúc mừng, tất cả các bên phải. 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? Một, có rõ ràng là rất nhiều chuyển động. 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 ả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. Và nếu bạn có một khối mãi mãi, bạn có thể có những xe làm điều này mãi mãi. Chúng tôi có khả năng có một số ngẫu nhiên. Vì vậy, trò chơi này không phải là chính xác như nhau mỗi lần. Các bản ghi, những chiếc xe, có thể bắt đầu thời gian khác nhau để các bản thân trò chơi thú vị hơn với mỗi trò chơi. Và khi đó, chúng tôi đã nhìn thấy khả năng để lắng nghe những thanh không gian. Nhưng rõ ràng, trong Scratch, có thể bạn cũng nghe lên, xuống, trái, phải, và thực sự phím bất kỳ trên bàn phím. Và bạn cũng có thể làm một số việc khác. Hãy để tôi đi trước và đi lại với phiên bản web. Hãy để tôi đi vào bộ sưu tập của chúng tôi ví dụ ở đây. Và dưới Studio của tôi, phim, là, về cơ bản, một thư mục trên scratch.mit.edu. Chúng tôi có các phiên bản web của tất cả các dự án. 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. 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. Và một lần này mở ra, đây là sẽ thực sự sử dụng nhiều hơn phần cứng máy tính của tôi. Đầu xảy ra phải được thực hiện với Flash. Flash có thể nói chuyện với webcam của bạn, nếu bạn có một. 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 mà thông báo bảo mật Flash đang nói, bạn có muốn cho phép sử dụng webcam của tôi? Thông thường, bạn nên có thể nói từ chối. Nhưng trong trường hợp này, chúng tôi sẽ nói cho phép. Sau đó, tôi sẽ nói cho Chrome để cho phép điều này là tốt. Và bây giờ, chỉ trong một thời điểm, bạn nhìn thấy tôi, vâng, tôi. Và nếu tay của tôi đi lên - Tôi đã có để không di chuyển của tôi đầu cùng một lúc. Ngoài ra còn có một sự phản ánh trên màn hình. Thôi nào, chúng ta có đi - 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 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. Vì vậy, chúng ta có một chút vô hạn điều xảy ra ở đó. Được rồi, vì vậy tôi sẽ chơi ở đây. Có chúng tôi đi. 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 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ự. 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 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. Vì vậy, những gì sau đó trên đường chân trời. Bộ vấn đề đầu tiên, như bạn sẽ thấy, hoặc trang web sẽ đi trực tuyến sau tối nay tại cs50.net, là khá nhiều sẽ có kết thúc mở. Và thực hiện một dự án Scratch quan tâm đến bạn, một trò chơi, một 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ố những mảnh ghép. Và nó có thể được tương tác theo cách này. 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. 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. Hãy để tôi đi vào Scratch tại địa phương. 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 của người tiền nhiệm của mình, cụ thể là có ai ở đây. Tốt, tăng khối lượng cho một này. [Chơi nhạc] 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. 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. Bạn có muốn đi trên xuống? Tên của bạn là gì? Di chuyển trên.