스피커 : 나는 [들림] 해요. 그리고 Leverett 하우스에서 수석 해요. 내가 컴퓨터 과학을 공부 나는 CS50위한 TF 해요. 신입생으로, 난하지 않았다 노트북이나 스마트 폰. 내가 프로그래밍 경험이 없었다. CS50은 가장 기억에 남는 과정이었다 그것 때문에 나는 하버드했다 투쟁, 그러나 그것은 정말로 동시에 재미 투쟁. 그리고 놀라운 영구 많이했다 친구, 정말 많이 배웠습니다 해당 기술이 필요합니다. 내가하지 않았 너무 기뻐요 내 배경의 부족 나를 위해 변명 CS50을하지. 나는 [들림] 해요. 나는 Leverett 수석 해요 집, 2014 클래스입니다. 그리고 CS50했다. DAVID 마란 : 그래서이 CS50입니다. 이 주 영의 끝입니다. 우리가 지난 시간을 시작 어디에, 기억 이었다이 램프로했다 우리가 가서 너무 인기 오늘은 좀 더 샀다. 그래서이 될 것 같아 우리 것은 올해 - 책상 램프가 무대에 올라 오면, 적어도 우리가 소진 될 때까지. 그러나 우리는 소개하는이 리콜을 사용 데이터 표현의 기본. 우리는 대표 시작하는 방법이 필요 컴퓨터의 내부 정보를 제공합니다. 그리고 가장 간단한 방법이었다 한 재료, 전기. 그리고 당신이 할 수있는 간단한 일이 전기 전원을 켜고이며 전문가. 전자의 흐름 여부하자. 그리고 떨어져, 그 두 가지 기본 상태를 사용하여 과에, 거짓과 진실, 또는 제로 하나, 우리는 우리가 만들 수있는보기 시작 최대,이 경우에는 빛 전구, 이상의 숫자보다 단지 0과 1. 우리는 일곱으로 높은 계산 예를 들어, 마지막 시간. 그러나 우리가 할 일은 던지고 계속된다 그에서 더 많은 전구 문제, 정말, 우리는 나타낼 수 임의의 숫자가 우리 아마도 할 수 있습니다. 글쎄, 우리가에 빠르게 다음 전환 자원 봉사자의이 바이트 수요일. 8 비트, 우리는 일반적으로 바이트 부릅니다 그래서 여기에 우리가 여덟 자원 봉사를했다 총칭 하였다 수요일 8 비트를 나타내는. 그들의 손이 갔을 때 까지, 그들은 하나 있었다. 그들의 손이있을 때 아래 제로가 있었다. 그리고 우리는이 사람들이 있었다 무대 이유에 대해 생각해? 우리가 함께 할 수있어 무엇 비트의이 순서? 알파벳을 만들 수 있습니다. 우리는 그 위에 구축 할 수 있었다 이전 단원은 실제로 배운 더 흥미로운를 만들기 위해 시작 적어도 더 정보 우리 인간에게 친숙한. 그리고이 반복 될 것입니다 50에 걸쳐 테마,하지만 컴퓨터 더 일반적으로 과학이 생각 의 끝에 레이어, 하루, 당신은 정말 시작하는 경우 컴퓨터 기초, 예, 그것은 0과 1입니다. 그리고 그건 아래에 다만 전기. 그러나 우리는 매우 빨리 사람들을 데리고 시작 부여에 대한 낮은 수준의 세부 정보 과거의 상단에 레이어로 시작했다 다 그래서 궁극적으로 그 학기의 끝 그리고, 정말, 더 일반적으로 컴퓨터 과학자로 그리고 프로그래머는, 정말 어떤 작업을 수행 할 수 있습니다 작품을 활용하여 강력한 것들 우리 자신도 수행하고 한 다른 사람의 어깨에 서 서입니다. 이제 우리는 신속하게 수요일에 전환 다만 필요에서 원하는 정보를 나타냅니다 그것으로 뭔가를 할 수 있습니다. 우리는 알고리즘을 그래서 무엇으로 정의 했습니까? 지침의 시리즈. 그래서 일련의 명령이다, 당신이, 인간의, 또는 단계의 수 컴퓨터가 더 일반적 것 순서에있는 다른 후 하나를 수행합니다 어떤 목표를 달성하기 위해. 그리고 우리는 몇 가지 목표에게 지난 시간을 보냈습니다 중 하나를 계산했다 방에있는 사람. 또 다른 예가 발견했다 전화 번호부에있는 마이크 스미스. 그래서 내가 전화를 찢어 것을 기억할 수 있습니다 이를 위해 끊임없는 책까지 마이크 스미스를 찾는. 그 시각의 목적을했다 우리가 있었던 것을 다시 입증 사실상이 문제를 찢어 반, 반, 반, 매우 빨리와 같은 1,000 페이지에서 진행 단 하나의 페이지로 이동합니다. 에 이것을 놓친 분들 수요일, 우리가 재생할 거라고 생각 당신이 뭘 놓친 일부 영상입니다. 의를 살펴 보자. [동영상 재생] - 거기 우리는 간다. 1500 페이지, 좋은 깨끗한 라인, 합법적 눈물. [END 동영상 재생] DAVID 마란 : 그래서 수요일이었다. 지금 수요일에 우리는 변화하지만, 알고리즘을 표현하고자하는 일부 약간 표준적인 방법이 아니라에 구두를 설명하지만, 서면 또는 그들을 표현하기 위해 노력하고 컴퓨터 화면에 우리가 할 수 있도록 을 개선하기 위해 시작 및 수정 그, 그리고, 결국, 실제로 분석이 얼마나 정확한지 또는 얼마나 빨리 그들이이었다. 그래서 우리는이 개념을 도입 의사의, 어느,에 평신도의 용어는 무엇인가? OK 단어. 의 그것보다 좀 더 깊이 가자. 영어 확실하지만 어떤 끝을 향해? 단어를 만들거나하는 대상에 알고리즘을 나타냅니다. 그래서 알려진 어떤 하나의 언어가 없다 세계에서 의사로. 그것은 영어로하면 단지, 또는 귀하의 사용 언어가 무엇이든 사용 전달하는 피상적 인 표기법의 일종 아이디어를 매우 간결. 그러나 우리는 함께 확실히 그렇게 볼 수 있습니다 영어 의사, 그리고 밝혀 대부분의 프로그래밍 언어 자체 영어 자체의 파생이며, 우리는 몇 가지 표준이 있다는 것을 찾을 수 있습니다 의사를 표현하는 방법과 또한 코드를 프로그래밍. 당신도 단순한를보기 시작만큼 예, 오늘이 실현 같은 패턴은 다음 주에 다시 발생합니다. 그래서 의사는 어떤 종류였다 닮은 언어 프로그래밍 언어입니다. 그리고 첫 번째 예 우리는 시각적으로 보았다 기록은이 하나였다. 그것은 단지 3 단계 프로그램이었다 목표를 어느 것은 수를 계산했다 위한 기숙사 방에있는 사람들의 수요일에 그 비디오. 하지만 몇 가지 흥미로운 측면이 있었다 이 간단한 프로그램. 그리고 이것은 반복되는 테마가 될 것입니다. 그래서 익숙하지 않은 사람들에게 이 하나, 우리는 변수를 도입했다. 아마도이 방에있는 모든 사람은 의 변수에 익숙 대수의 상황. 그러나 여기 프로그래밍 변수 , 하나가 될 수있다 우리가 원하는 무엇이든을했다. 우리는 카운터로 N을 사용했습니다. 그러나 우리는 단어 카운터를 사용하거나, 수 앞으로 살펴 보 겠지만, 대부분의 모든 구문이 당신은 너무 오래이야로 추천 설명하지만, 그것은 단지 정말 저장 용기. 그것은 메모리 청크의 일부 수의 비트, 그리고 컴퓨터에 따라 다릅니다, 어떻게 거기에 많은 비트가 있습니다 그 변수를 구성합니다. 그러나 우리는 거기에 값을 넣을 수 있습니다. 지금까지, 우리는 숫자를 넣었습니다. 그러나 우리는 실제 단어를 넣을 수 있습니다. 우리는 단락을 넣을 수 있습니다. 우리는 이미지를 넣을 수 있습니다 - 아무것도, 정말, 우리는 함께 나타낼 수 0과 1, 우리는에 넣을 수 있습니다 이 높은 수준의 개념 변수의. 그래서 꽤 곧장 앞으로. 그리고 그 줄 하나입니다. 그러나 우리는 매우 빠르게에서의 이동 선 실제로 수행하는 한 그 변수에 무언가. 및 라인 세에, 우리는 N.에게 우리 업데이트 N을 증가 그리고 우리는이를 작성할 수 방법의 수. 하지만 아마도 가장 명백한는 그냥 말할 설정 N 같게하기 무엇 N 플러스 1입니다. 따라서 우리의 증가는 있었다. 한편, 루프가 발생했습니다. 이 사람도 아마 매우 직관적 인. 루프는 그냥 프로그램에서 뭔가 또 다시 그런 일이 몇 가지 사이클의 종류. 그리고 여기이 키 구절은, 각각이다 대부분에 걸쳐 실제로 아주 일반적인 등의 프로그래밍 언어 사람 우리는 과정에서 볼 수 있습니다. 언제든지 당신이 그것을에 대한 단어를 볼 일반적으로 아이디어를 전달하는 루프 순환 뭔가 일어날 정도입니다. 그러나 그것은 하나의 주목할 다른 구문 세부 사항. 세 번째 줄이 사실 실제로 충돌 한 것으로 들여 쓰기 스페이스 바를 몇 번 의도적 인 것입니다. 인간의 규칙은 때문에 즉, 다시 일을하고있을 때 또, 루프, 등, 선 두에 시작 당신이 속한 아무것도 들여 쓰기 그 루프 단지 명확 것을 확인하기 그것은 예를 들어, 세 개의 라인이 아니다 네 번째 줄 또는 5를가 있다면 입니다에 대한 선, 5, 그 루프의 일부입니다. 이 간단한 들여 쓰기 너무 그 기본적인 아이디어를 전달한다. 그래서 우리는이 알고리즘을 적용 이제 몇 가지 예에. 이 역시 간단한 예제 현실 세계합니다. 그러나 그것은 대표 될 것 당신은 당신을 시험에 대해 이동하는 방법 점점 더 복잡한 프로그램을 소유하고 있습니다. 당신은 몇 가지 시나리오, 일부 시도 대표 입력 및 보인다면 원하는 출력을 얻을. 따라서이 예에서는 두 사람이 있었다 기숙사 방에 앉아. 왼쪽에 같은 의사 코드입니다. 그리고 이것은 매우의 스크린 샷 이것의 응용 프로그램의 마지막 단계 이러한 입력에 알고리즘 곳이 두 개의 방에있는 사람과, 있었다 우리가 선 하나를 통해 단계별로, 기억 두, 세, 두 개의 세 및 수행 - 이 알고리즘의 말에, 우리는했다 실제로있는 두 동료 계산 방합니다. 그럼 우리는 다른 예를 했어요. 그리고 우리는 어떻게이있는 경우라고 방에서 0 사람? 이 코드는 여전히 정확합니까? 그리고 참으로했다. 그냥 그렇게 선 두 일어 , 따라서, 선 세 실행하지 않을. 그들은 모두에서 발생하지 않을거야 그들은 단지 해당하지 않는 경우이기 때문에 객실 제로 사람들이있다. 하지만 큰 문제. 제로 라인 하나를 초기화 N, 그래서 비록이 한 줄만 이 프로그램은 실제로 도움이되는 끝, 그것은 여전히​​로 정답을 얻을 수 주황색으로 표시 하단에 제로. 하지만 우리는 것을 결정 바보 알고리즘의 종류. 그것은 꽤 느렸다. 물론, 나는, 2, 4를 할 수 있습니다 여섯, 여덟, 열 때, 방에있는 사람들을 카운팅. 그래서 우리는 알고리즘을 쥐게 이제 선 두 말 할 의사, 방에있는 사람들의 각 쌍을위한, 선 세에로 진행, 증가 각 반복에 2 개씩있다. 그래서 여기 일한 것 방에 사람이 쌍. 당신이 시작하면 그런데 생각 이, 그것은에 오래 걸리지 않습니다 실현이가 잠깐 휴식 것, 그것은 나누기 어떤 간단한 경우에? 세 개의 방에있는 사람이나,가있는 경우 더 일반적으로,있을 때 에있는 사람들의 홀수 하나 포함 방입니다. 우리는 여기서 그 사람을 놓칠 것 때문에 그런 쌍은 없습니다. 그래서 우리는 신속하게 대신하여 해결 추가 도입하는 것을 프로그래밍 구조 의사 코드. 조건에 따라서, 우리는 전화 그것은, 또는 분기. 그리고 그것은, 시각적으로 전달하기위한 것 가지의 아이디어, 도로에 포크 당신도이 작업을 수행 할 수있는 또는, 어쩌면 뭔가. 그리고 실제로, 우리는이 문제를 해결 에서, 정말, 말씀으로, 선 4 추가 맨 끝, 한 사람이 남아있는 경우, 다음 가서 그들에게 특별한 계산합니다. 그래서 당신은, 그래서 특별한 경우에 그들을 정렬 지금 우리가 처리 할 수​​ 있도록, 말하자면 사람들도 번호가 모두 사람들의 홀수. 지금 가지 방법으로 여러 가지가 있습니다 우리는이를 표명 할 수 있습니다. 그리고 솔직히, 내가 더 있었 겠지 그것의 나의 선택에 올 때 까다 롭고을 알 의사를위한 영어. 의 그러나 적어도 정신 아이디어 전달됩니다. 당신은 친구에게이 코드를 전달하는 경우 누가 CS에없는, 또는 찍은 적이있다 CS, 확률은 그들이 알아낼 수 있습니다 방법, 방에 세 사람 제공 기반으로하는 사람을 계산 지침에. 그리고 우리가 달성하고자하는 모든 정말 의사와, 어떻게 든 우리가 거​​ 야 방법 표준화 대표 아이디어 우리가 할 수 있도록 더 복잡한 작업을 수행하기 시작 여전히 것. 그래서, 오늘, 저희를 리드 실제 코드. 우리는이기는하지만, 현재 프로그램 시작 환경 친화적합니다. 매우 빠르게 그리고 우리는 전환 더 난해한 구문 만 한 그 당신은 근본적으로 동일하다 볼 수 있습니다 아이디어와 각성이 표시됩니다 이 다른 언어를 오늘. 그냥 보는 것 조금 다른. 그냥이 코드를 호출하므로보다는, 난 좀 더 정확하게 될 것 를 작성할 때하고, 이제부터는 말 프로그램, 당신은 소스 코드를 작성하고 있습니다. 그것은 같은 의사의 일종이다. 그러나 우리는 느슨한 일종의 아니다 확인할 수 있습니다 그것은 단어를 선택에 관해서 당신이 사용하는. 언어의 경우 프로그래밍, 당신은이 단어, 어구를 사용하는 구문, 다른 사람 대표 결정 특정 언어입니다. 그래서 의사 코드는 당신에게 달려 있습니다. 같은 실제 프로그래밍 언어 C, 우리는 결국 보게 될 것입니다 다른 사람에 의해 표준화. 우리가 쓰기에 대해 어떻게 가야합니까 일부 소스 코드? 그럼 난 갈거야 앞서이 작업을 수행. 나는 앞서 갈 건데 여기에 창을 엽니 다. 이 다음 주에 더 많은. 하지만이라는 장치입니다 CS50 제품. 내에서 소프트웨어의 조각을 실행하는거야 맥, 당신은 같은 일을 할 수 있지만 Windows 컴퓨터에서, 그주고있다 나 다른 실행 환상 모두 오른쪽 운영 체제 여기 내 맥에 윈도우한다. 당신이하지 그래서 그것을 단지 전체 검사 한 실제로 지금은 맥 OS를 참조하십시오. 이 운영 체제 리눅스했다. 그것은 매우 인기가 있습니다. 그것은 매우 빠르다. 그것은 매우 만들었다되는 매우 무료 특히,의, 강력한 상업계. 그리고 끝으로 갈수록 그에 대한 자세한 우리는 꽤 리눅스를 사용하는 학기 웹 프로그래밍 및 호스팅에 대한 실제 웹 사이트 및 프로젝트. 그래서 지금, 바로이 데스크탑 것을 알고 그는 희미하게 보이는 것을 의미있어 Windows와 Mac OS에 익숙한. 그냥 몇 가지 다른 이름을 가지고 것들에 대한 및 아이콘. 그러나 이것은 소위 CS50입니다 기구, 그 가상 머신, 너희들은 다음 주에합니다 시작 에 창 내에서 실행 자신의 Mac 또는 PC. 오늘은, 내가 열어거야 프로그램의 간단한. 그것은 gedit를 불렀다. 그리고 이것은 단지 그래픽 편집기입니다. 그것은 마이크로 소프트와 같은 종류의의 단어,하지만 간단. 그것은 같은 텍스트 종류의 편집 또는 메모장. 그것은 단지와 매우 간단한 프로그램이다 화면에 단어를 쓸 수있는. 내가 저장하면 그냥 그래서 그 일어나는 내가 만든 파일을 때이 프로그램 C.와 같은, 대신 특별한 확장에서 . 문서, 또는. XLS, 또는 어떤의 당신이 잘 알고, 사실은 수 심지어이 간단한을 사용하여 프로그램을 만들 텍스트 편집기. 그래서 나는 그렇게 할 수 있습니다. 내가 가서이 문제를 저장할 수 hello.c의로 첫 번째 파일. 그리고 또,이 사용자 인터페이스는 것 당신 빨리 익숙해. 하지만 지금은, 난 그냥 입력 해요 파일 이름을합니다. 나는 존에 저장거야 하버드 홈 디렉토리. 지금은 표시이 탭이 난 정말 편집 해요 파일 hello.c를했다. 아직 너무 흥미로운 아무것도 그래서. 그리고 이제가는거야 꽤 이상한 얻는다. 난 그냥 확대 할거야 그래서 더 볼 수 있습니다. 그리고 입력을 포함 시작하는거야 stdio.h와, 주요 int, 무효, 오픈 곱슬 중괄호, 하나, 둘, 셋, 넷 공간 프린트의 들여 쓰기 인쇄 F, 포맷 뭔가 견적 맺다, 닫기 "여보세요 세계"백 슬래시, N, 따옴표, 닫힌 괄호, 세미콜론, , 백 스페이스, 백 스페이스, 백 스페이스를 입력합니다 백 스페이스는 중괄호 폐쇄 - 내가 프로그래밍했다. 좋아요 그래서 이것은 매우 간단하다 이 프로그램 정말, 프로그램 누구와 프로그램을 시작합니다. 그리고 모두는 모든 복잡성,하지 에 인쇄되어 화면, 어떻게 됐을까? 안녕하세요 세계. 그러나 그것은 단지 충분하지의 프로그램을 작성한다. 그래서이 코드입니다. 이있는 소스 코드입니다 C라는 언어입니다. 그것은 현재의 저장된 파일 hello.c를했다. 이제 하단에 보면 여기에 화면. 더 이것에 다시에서 주 올 수 있습니다. 그러나 이것은 우리가 전화 할게 무엇인지 터미널 창. 그것은 깜박, 검은 색 흰색 프롬프트. 그것은에 오래된 학교 인터페이스의 일종 일반적으로하지 않는 컴퓨터 마우스 또는 다른 사람을 사용한다 그래픽 요소. 그냥 키보드를 사용합니다. 그리고 나는에 명령을 입력 할 수 있습니다 이 깜박이는 프롬프트. 오늘의 목적을 위해, 난 그냥 다음을 입력하려고 - 안녕하세요하십시오. 그리고 프로그램을 만들어, 그냥입니다 프로그램이 실제이있는 일, 우리는 두 번 클릭합니다. 하지만 오늘은이 인터페이스에서, 우리는거야 이 프롬프트에 이름을 입력 할 것. 안녕하세요 있도록 그대로가는 나 안녕하세요라는 프로그램을. 그리고 그것은보고 이렇게하는거야 파일의 단지로 기본값은 hello.c의를했다. 내가 C 프로그램을 원하는 가정 것 방법이 컴퓨터의 특성상 구성되어 있습니다. 그래서 내가 가서 Enter 키를 누르십시오. 좀 이상한 결과를 볼 수 있지만, 이 모든 너무 될 것입니다 오래 전에 알고. 이것은 더 많은 컴파일러를 실행하는 일이 순간에 그에서 연타했다. 하지만 지금은있어 또 다른 깜박이는 프롬프트. 그리고 지금 가서 점을 입력 할 수 있습니다 우리가 거​​ 재미 이유로, 슬래시 다음 주에 돌아올 - 안녕하세요. 그래서 이러한 노력의 지금까지 단지에 그 프로그램의 간단한 쓰기 나는 Enter 키를 누르 자마자, 그 않습니다. 그래서 내가 처음 프로그램을 작성했습니다. 그래서 의도적으로 재미를 파고 있어요 이 매우 간단한 프로그램에서 몇 가지 이유로. 하나, 그것은 흥분 어렵다 클래스하다면 복용에 대한 이 말 게임이다. 하지만 그 이상, 거기 여기 산만까지 많은. 당신이, 프로그램을 배우고 처음으로 당신의 그 덜 편안하고, 심지어 다시 하루에, 때 첫 번째 당신은 어떤 수 있습니다 -이 뭔가를 보았다 그림 모든 권리, 이것의 인쇄 안녕하세요 세계입니다. 그러나 너무 많은 혼란이있다. 화면에 너무 많은 구문이있다 매우의 방법으로 얻는다 그렇지 않으면 간단한, 간단한 아이디어. 그래서 오늘 우리가 할 수있는 일은 것은 우리가있어입니다 C를 제쳐 놓고 온 것 다시 월요일에 해당합니다. 그리고 우리는 그래픽을 사용하는 것입니다 프로그래밍 언어는 스크래치을했다. 이것은 프로그래밍 언어입니다 I 수요일에 언급, 그 거예요 우리가 물건을 같은 종류의 작업을 수행 할 수 있도록 하지만 오늘은, 장님 눈을 돌려 중괄호로, 괄호, 세미콜론이 모든 바보 방법으로 얻을 산만에서 몇 가지 기본적인, 아주의 첫 날, 재미있는 아이디어. 그래서 끝으로, 내가 갈거야 다시 내 이상 여기에 바탕 화면에 그것과 대안을 소개 를보기 위하여려고하고 프로그램, 작은 선물이 불을. 즉, 우리가 구현하는거야 방법 같은 프로그램 오늘 - 두 퍼즐 연동하고, 그 조각 를 클릭, 세계에 말할 것이다 세계 안녕하세요. 그럼 거기에 실제로 가자. 그래서 내가 가서 열거야 이 웹 사이트는 scratch.mit.edu으로 알려져 있습니다. 그리고 내게로 이끌 것입니다 여기 웹 사이트. 사전에,이에 로그인 한 웹 사이트의 첫 번째 문제가 당신을 통해 안내합니다 다음 단계 중 일부. 내가 가서 클릭거야 여기 내 스크래치 폴더에. 그리고 이것은 나에게 보여 예정이다 내가했습니다 몇 가지 프로젝트 실제로 미리 만들었습니다. 그리고 그것은 밝혀이 그래픽이 프로그래밍 언어는 것입니다뿐만 아니라, 드래그하여 우리에게 프로그램을 수 있도록하고하는 이 퍼즐 조각을 떨어 뜨리고, 당신 도 특별한 소프트웨어가 필요하지 않습니다. 그것은 모든 너무 브라우저 내에서 임베디드 당신이 할 수있는, 이론에 지금은 컴퓨터, 여러분 중 일부 등 물론도 필요없이 할 수 있습니다 CS50 기기와 같은 소프트웨어, 다음 주에 올 것이다하는. 그래서 상단까지 갈거야 여기하고 만들기를 클릭합니다. 그리고 순간에 나는 빈을 얻을거야 내가 시작할 수있는을 통해 화면 이 그래픽의 프로그래밍 환경을 프로그래밍. 이번에는, 그것은 훨씬 더 될 것 훨씬 간단 실제로 그렇게한다. 그래서 그냥 잠시 때, Wi-Fi를 우리가 지금이 화면을 가지고 협력한다. , 빠른 언어 투어 그래서,하지만 난 감히 당신은에 뛰어 확실 할 때 첫 번째 문제 세트, 당신은거야 이 모두 아주 찾기 접근 상당히 직관적. 하지만의는 정신적 그림을 그릴 수 있도록 단지 순간을 위해. 그래서이 프롬프트 말을 저장 아래 변경, 당신은 처음 볼 것입니다. 이 스프라이트입니다. 그것은 문자입니다. 그리고 그는 우리가 무대에 전화 할게 무엇에 살고 에이 큰 흰색 사각형 이는 그가 위로, 아래로, 왼쪽으로 이동할 수 있습니다 오른쪽,와 볼거리, 정말, 행동의 다른 유형. 한편,이 사용자의 중간에 인터페이스는, 우리의 전체 무리가 퍼즐 조각. 그리고 당신은 그들이 같은 것을 말하는 것을 볼 수 있습니다 15도 설정, 10 단계로 이동 특정 방향으로 가리 킵니다. 그러나 범주가있다 여기에서도 블록을 백업합니다. 난 외모로 이동하는 경우에, 당신은 볼 것이다 그 다른 퍼즐 조각이있다 그 분명히이 CIT를 말할 것이다 보여주고, 생각, 인사 자신, 자신을 숨길 수 있습니다. 나는 소리로 내려 간다면, 그것은 밝혀 야옹처럼 소리를 재생하는 방법이있다 드럼을 재생하는 모든 사운드를 중지합니다. 그래서 긴 이야기 짧은 전체가있다 당신을 허용 퍼즐 조각의 무리 이 고양이, 또는 임의의 숫자를 말해 다른 문자, 수행 할 작업. 그러나이 모든 당신을 일어날 수 있도록 프로그래밍을 시작해야합니다. 에이 큰 백색 상자 또는 회색 상자, 오른쪽이는 곳이다 실제로 끌어가는거야 그 퍼즐 조각을 놓습니다. 그건 내 빈 텍스트입니다 창 동일합니다. 그래서 내가 가서 클릭거야 중간에 제어 할 수 있습니다. 또는 오히려, 나를 시작하자 이벤트에서 최대. 이벤트 벤치에서, 당신을 알 수 있습니다 의도적으로입니다 몇 가지 그러한 방법으로 정상에 곡선 그들은 아마에 연동 할하지 않습니다 퍼즐 조각의 상단. 그들은 시작 마크스 때문에 그건 프로그램의,의 시작 스크립트 말하자면. 내가 가서 드래그 그렇다면, 때 녹색 플래그는 여기에 클릭 한 후 I 이 고양이는하고 싶은 말 처음에는 뭔가. 그래서 아래에 갈거야 패널 보인다. 내가 가서 잡아거야 안녕하세요 블록 및 드래그 앤 드롭 말 그래서 가자 그것은 자동으로 거기에 연동. 그리고 내가 할 수있는 알 텍스트를 클릭합니다. 그리고 난 더 할 재정의 할 수 있습니다 특정 안녕하세요 세계, 말을 좋아한다. 그리고 지금 우리는 내가 주장하는 프로그램이 더 많은 것과 동일합니다 제가 구현 비전 프로그램 순간 전 C합니다. 나는 왼쪽에 지금 갈 경우, 큰 정지 신호 거기에 주목 과 큰 녹색 깃발. 저 선명도를 확대 할 수 있습니다. 그리고 이제이 녹색 깃발을 클릭하면, 당신은 아마 추측 할 첫 번째 무엇을 이 프로그램은 지금 할 것입니다. 그래서 거기에 너무, 우리는 프로그래밍 만하고 느려 우리가 실제로 얻을 수는 없을 겁니다 이러한 구문의 일부, 분 세부 사항. 그러나의 뭔가를 해보자 좀 더 흥미 롭군요. 내가 여기에 내 스크래치 폴더로 이동하자. 실제로, 내가 너무 나를 열어 보자 보자 여기를 별도의 프로그램 단지 순간이 창을 최대화, 파일 열기 나는 오늘에 갈거야 소스 디렉토리에 있습니다. 언제나처럼, 당신은 찾을 수 오늘 있습니다 이후, 오늘날의 모든 예제 내부에 액세스 할 수 있습니다 물론 웹 사이트. 그리고 여기 가서 선택하는거야 조금 다른 무언가까지. 여기 하나되는 나는 자원 봉사자가 필요합니다. 누가 오늘 책상 램프를 원하십니까? OK, 어떻게 사람에 대해 조금 - 당신은 끝에인가? 아래에 제공됩니다. 이제 참여 좋아하거나, 그냥 책상 램프로 시작하는 말? 바네사 : [들림]. DAVID 마란 : OK. 우수한 당신의 이름은 무엇입니까? 바네사? 데이비드. 만나서 반가워요. 그래서 올라 와서 바네사가는 내을 제어 할 단지 순간을 위해 키보드입니다. 그리고 내가 단지 시간의을 보려면 여기를 했어 술, 난을 실현 한로 Wi-Fi (은)는, 스크래치, 조금 느린했다 우리가 걸 프로그래밍 환경 사용하여도 다운로드 할 수 있습니다 로컬 컴퓨터에서 실행됩니다. 그래서에, 강의에 앞서 무엇을했다 , 발생 사건은 필자가 다운로드됩니다 우리가 함께 플레이하기에 관한 이야기​​의 모든 파일 그들은 조금 더 실행할 수 있도록 빨리 여기 내 노트북​​에. 지금 내가보고 왜 그렇게 그의 맥 - 특정 인터페이스. 그래서 난 앞으로 갈거야 이 하나를 엽니 다. 지금 앞서 갈 건데 전체 화면 창을. 앞으로 살펴 보 겠지만, 우리는 매우 빠르게 할 수 있습니다 이 학생이 그랬던 것처럼, 하나의 귀하의 전임자는,여보세요 세계에서 이동 훨씬 더 강력한 더에 응용 프로그램입니다. 그래서 여기에 설명이 있습니다. 아, 그리고 우리가 한 가지 있습니다. 난 이후, 그것은 재미있을 것이라고 생각 일반적으로, 우리는 촬영됩니다 카메라 이쪽으로. 나는 그것이 재미, 바네사, 만약 것이라고 생각 우리는 세계를 볼 수 당신의 눈을 통해. 그래서 여기에 우리는 몇 가지 구글 유리합니다. [경악 헉 DAVID 마란 : 우리는주는 것 멀리 책상 램프 오늘. [웃음] 그래서 나는 큐 이것을 보자. 좋아, 그래서이을 누릅니다. OK, 유리, 동영상을 기록합니다. 모든 권리, 바네사? 이제 옆으로 그 아무것도 없어했다 당신이 보는 경우에, 스크래치 함께 할 약간 위쪽 및 오른쪽에, 당신은 볼 것이다 리터럴 유리, 당신은해야 작은 사각형 창을 참조하십시오. 당신은 당신의 친구들을 볼 수 지금 촬영중인? 예. 바네사 : 네. DAVID 마란 : OK. 그래서 괜찮아요. 우리는 나중에이 영상을 공개합니다. 지금은 당신의 관심을 돌려 여기에 화면에. 그리고 무엇 전임자가 수행 한 것은 화면에 몇 가지 지침을 넣어 그냥 페인트 프로그램을 사용하여. 그래서 당신은, 순간에 갈거야 시작하려면 스페이스 바를 누르십시오. 그리고 약간의 퍼즐 조각거야 화면을 위로 이동을 시작합니다. 그리고 당신은 그냥 화살표 키를 치고 싶어 에 따라 실제 DDR에 좋아 일이 일렬로 그 화살표와 함께. 바네사 : OK. DAVID 마란 : 당신은 전에 재생했다. 바네사 : 네. DAVID 마란 : 모든 권리, 바네사, 가서 그것을 멀리 가라. [MUSIC - KAYNE WEST, "더 강한"] [박수] DAVID 마란 : 그래서 지금하자 그의 조치를 취할. 그래서 분명히, 그 끝 게임이다. 종반 안녕하세요 세계가 아닙니다. 하지만 당신은 반드시 할 필요가 없습니다 이렇게 대화 형 확인해보세요. 당신은 또한 애니메이션을 수행 할 수 있습니다. 당신의 이렇게 예를 들어, 또 다른 하나 후계자는 여기에이 프로그램을 만든 이상의 이야기를 알려줍니다 그것은 게임을 구현 않습니다. 그럼 내가 가서 여기 열어 보자 우리 같은 소스 디렉토리에있는 프로그램 오늘부터. 이 한 통화하고, 시작하자 쿠키 사랑 이야기와 함께. 그리고,이 역시 학업 만들지 만,하지 당신이 하나를 보면서,에 생각 스스로 이러한 간단한 중 어느 우리가 이야기 한 프로그래밍 개념 지금까지 약 - 변수, 루프, 조건, 귀하의 전임자는 아마 사용 했 의 일부를 구현하는 시각화. 여기를 참조하십시오. 그래서 나는 당신에게 쿠키 사랑 이야기를 제공합니다. [MUSIC - GREEN DAY, "HOLIDAY"] [CRASH] [MUSIC - 거북이, "해피 투게더"] DAVID 마란 : 좋아, 그래서 거기 우리는 쿠키 사랑 이야기를했다. 그러나 심지어 거기 - [박수] DAVID 마란 : 모든 권리, 심지어 거기, 그 마음에서 졌을 때 생각 화면의 맨 하단 약간의 사실이 있었다 임의성가 간다. 그리고 실제로, 우리는 볼 수 있습니다 심지어에서 같은 환경에서의 간단한 스크래치, C에서, 당신은 생성 할 수 있습니다 임의의 숫자, 또는 환상 게임이되도록 임의의 숫자, 는 것보다 좀 더 흥미 당신은 절대적으로 있던 경우에 수 하드는 모든 코딩. 당신이 볼 수있는 운동,가 응답의 어떤 종류가있다. 곧 진저​​ 브레드 남자를 감동으로 진저 브레드 여자 그녀 멀리 이동하는 것 같다. 그리고, 실제로, 당신은에서 구현할 수 있습니다 대부분의 프로그래밍 언어 개념 이벤트, 그것에 경우 한 손으로 건 드리면 일부를 게재 할 수있는 반면, 소스 코드를 실제로 실행합니다. 당신은를 수신 할 수 있습니다 화면에서 확인해보세요. 그래서, 그 후에,의를 둘러 봅시다 우리가 사용할 수있는 빌딩 블록의 일부 이러한 목표의 일부를 달성하기 위해. 그래서 여기의 우리가 이제부터는거야 문을 호출합니다. 문에 보라색 일어나는 처음,이 같은 작은 선물, 하지만 임의의. 문은 퍼즐 조각 나있다 더 일반적으로, 명령, 그 컴퓨터가 수행하는 지시 뭔가 문. 그래서 여기 간단한 예제이다. 세계의 인사. 또 다른 하나는 1 초 대기 될 수 있습니다. 지원하므로이 퍼즐 조각, 스크래치, 우리는 알려주지의 문자는 일부 일시 중지 (초)입니다. 이것도 그냥 문입니다. 여기에 다음, 우리는 또 다른 더이 흥미로운, 놀이 소리 야옹하고, 작은 화살표가 의미 스크래치, 이 드롭 다운 메뉴입니다. 그래서 당신은 소리를 가져올 수 있습니다. 당신은 소리를 녹음하고 다른 작업을 수행 할 수 있습니다 스크래치 재미 있어요. 끝에도하고,하지만, 오늘의 단지 문입니다. 하지만 지금의이 더 소개하겠습니다 로 알려진 흥미로운 작품, 부울 식입니다. 의 이름을 따서 명명 자본 B, 동료 BOOL 이름. 그리고 부울 식 단지입니다 퍼즐 조각 또는 더 일반적으로, 있는 정보의 조각 true 또는 false - 하나 또는 0, 예 또는 아니오. 그래서 그냥 그 중 하나의 두 쪽. 에 따라서 하나의 부울 식 스크래치 세상이 파란색과 같습니다 조각을 퍼즐. 그리고, 마우스를 질문을 것 아래로, 그리고 하나가 될의 수 물론, true 또는 false입니다. 그래서 스크래치에서이 퍼즐 조각, 글쎄, 당신은 발견 할 수있을 것이다 경우 마우스가되고, 사실이면 퍼즐 인간의 상호 작용에 의해 아래로 개최 프로그램과 함께. 이 것은, 좀 더 추상적이다 그러나 그 두 개의 흰색 상자 단지 숫자에 대한이다. 그래서 당신은 같은 일을 할 수있는 것은 이것이다 다른 것보다 적은 수? 그리고 만약 그렇다면, 스크래치 작동합니다 방법은 하나 또는 다른. 이 것은 좀 더 그래픽입니다. 스프라이트 경우에 대한, 고양이 경우의 예, 사실을 만지고 마우스 포인터. 작은 화살표 머리는 유혹되어있는 경우에는 고양이를,이 퍼즐 조각이 true로 평가합니다. 그것은 당신이 경우, 어떤 경우에, true가됩니다 우리는 하겠지만,이 부울 식을 사용 지점에서 잠시 참조 할 수 있습니다 하나,이 작업을 수행하거나, 해당 작업을 수행 할 수 있습니다 우리는 조건을 가지고 많은처럼 그 선택, 거기에 하나 더 지난 사람 방에? 그렇다면, 하나를 추가 할 수 있습니다. 그렇지 않으면, 더 이상 걱정하지 마십시오. 그래서 부울 식도 할 수 있습니다 모두 함께 및 ED하거나 또는 ED. 그래서 당신은 부울 식을 결합 할 수 있습니다 이이 말을하는 것은 마찬가지해야합니다 사실 될 수있는 모든 것을. 그리고 여기에 더 많은 실제 예입니다. 당신이 과정을 수행하는 CS50 코스를 사용한 적이 있다면 쇼핑이 확인란 거기, 당신 다음 그 상자를 위치 확인하면 과정에, 그, 그래, 말할 것이다 단지 저에게 코스를 표시하는 Q 값은 4.5 이상입니다. 당신이 아니, 선택을 취소하지 않으면, 걱정. 또는 이와 유사하게, 오른쪽에 있지 않습니다 제가 택한 코스,와 충돌 즉, true 또는 false입니다. 그냥 부울 식입니다. 당신이 사용했던 모든 시간 때문에 체크 박스와 웹 사이트, 당신은 단지입니다 부울에 해당하는 전환 발현 끄십시오. 그래서 형태로 이러한 사용합니까? 물론, 스크래치, 우리는 잠시 볼 수 있습니다 그 조건이 있다는 것을 다음과 같습니다. 그리고 어떤 종류의 합리적인 왜냐하면 많은 의사처럼, 우리는 들여 쓰기 U-모양의 퍼즐 조각의 종류는 의미 그 U의 어떤 내부는 실행되지 않거나, 따라 갈 어디에서. 그래서 부울 식, 그 경우 내부의 어떤 실행 얻을 것이다. 한편, 경우 / else 블록이있다. 당신은이 간다 분기 싶은 경우 방법이나 즉, 스크래치 것을 우리에게 제공합니다. 이 논리에 의해, 지금, 비록 그 퍼즐 조각은 분명히 너무 작습니다 안에 그것의 다른 뭔가를 쐐기하려면, 스크래치 퍼즐 조각, 그들은있어 막 성장하는 것. 당신은 드래그 뭔가에 놓을 때 그냥 뭐든 맞게 성장할 것 당신이 할 위해 노력하고 있습니다. 그래서 우리는 이러한 것들 중 두 가지를 수행 할 수 도로 세 가지 방법 포크 등등을 당신도이 작업을 수행하는, 또는 그 또는 단지 중첩 그들에 의해이 다른 것은 그런 식으로합니다. 물론, 당신이 할 경우 너무 많은, 그것은 추한 시작합니다. 그러나 그 시점에서, 당신은 실제로있어 아마도 잘 프로그래밍 없습니다. 그리고 반복 될 것이다 테마도 스타일의. 얼마나 잘 실제로 코드를 포맷? 또는 얼마나 잘 당신은 코드를 설계해야합니까? 미래의 그것에 대한하지만 더. 그리고 지금 우리는 루프가 있습니다. 스크래치에 좋은 영원히 루프가있다 할 - 이는 문자 그대로 의미 다시 내부의 어떤, 다시, 다시. 당신은보다 구체적이고 말할 수있다 다음의 것은 10 배를 않습니다. 당신은 또한 변수를 사용할 수 있습니다. 당신은에 어떤 이름을 가지고 올 수 있습니다 작은 드롭 다운 말을 나에게 줄 변수 n은 전화 및 설정 그것은 어떤 값과 같습니다. 그리고 당신은 기능을 할 수 있습니다. 잠시 후에 사람들에하지만 더. 내 다시 가자 인터페이스를 스크래치. 나 앞서이 시간을 가자. 그리고, 어디 가서 열어 보자 에서의 말을 예를 들어 보자 - 즉, 좀 더 흥미 롭습니다. 사실, 내가 가서시켜, 날 그냥 내 자신을 만들어 보자. 나는이 하나를 열 필요가 없습니다. 나, 새로운 파일로 가자. 난 이벤트에 갈거야. 나는 때 녹색 깃발로 갈거야 클릭, 나는 사운드로 이동하는거야. 그리고이 드래그 앤 드롭거야 퍼즐 조각은 소리 야옹을 재생할 수 있습니다. 그것은 함께 래치. 그리고 지금은 녹색 깃발을 클릭하면 - [야옹 SOUND] DAVID 마란 : 사랑스러운. 좋아, 그럼 이제 좀 뭔가를하자 이상의 논리 단지 보여주기 위해 그 우리는 지금, 할 수 있습니다. 나는 래치거야 그 사람에서이. 내가 제어 할 수 갈거야. 그리고 조건을 잡아거야. 그래서 뭔가 그 경우. 그래서 그것은 거기 보이는 방법입니다. 그래서 부울 식을 필요로한다. 그리고, 내가 가서 말을하자 저 운영자에게 가자. 조금 뭔가를 할거야 그냥 재미로 mathy. 하면 여기에 가서 말할거야 뭔가, 뭔가 미만 가서 뭔가. 그래서 지금, 당신은 임의의 블록 무엇을 알고있다. 나는이 위로 이동하는 경우 그렇다면, 어떻게 알 수 거기에 스냅됩니다 여기 것. 그래서 지금, 통지, 내가 할 시작 했어 이미 논리적으로 뭔가 흥미 롭군요. 임의의 숫자 1 ~ 경우 10 여섯 말을하자보다는보다 적게이다. 나는 여섯, 그 본질적를 선택하면 수단은 50 %로 다음을 수행 확률. 그것은 동전을 틀지 같아요. 지금은 조건부 뭔가를 할 수 있습니다. 그리고 난거야 뭔가 어떻게하면 사운드를 재생합니다. 그래서 지금, 때 화면에 클릭 플래그, 그것은 동전 던지기처럼. [야옹 SOUND] DAVID 마란 : 그것은 머리했다 아니면 이것 저것. 그것을 다시하자. [야옹 SOUND] DAVID 마란은 : 다시 머리. [야옹 SOUND] DAVID 마란은 : 다시 머리. 휴, 확인을 클릭합니다. 꼬리 시간입니다. 시간 때문에 50 % 우리는이 작업을 수행 할 경우 무한히 긴, 우리는 50 % MEOWS을 얻을 것이다 와 50 %의 침묵. 그래서 거기 그냥 기본적인 빌딩 우리가 그렇게 할 수있는 블록. 그러나이 종류의 내가 가지고있는 지루한 그 버튼을 클릭 유지합니다. 그럼 그냥 드래그 앤 던져 보자 그 거리의. 당신은 중간에 끌고 경우, 그들은 단지 자신을 삭제합니다. 나를 제어까지 가자. 나를 영원히 가자. 이 시간, 내가 할거야 minorly 짜증나는 무엇인가. [웃음] DAVID 마란은 : 그리고 나 가자 앞서 및 제어한다. 그냥 1 초를 기다립니다 너무 격자 아니다. [야옹 SOUND] DAVID 마란 : 그건 자연이 아니다. 확인을 클릭합니다. [야옹 SOUND] DAVID 마란 : 그리고, 좋은 무엇을 통지 스크래치에 대한 당신의 사람들을위한 사람 이전의 프로그래밍 경험이있다, 시작하고 중지 할 필요가 없습니다. 당신은 컴파일 할 필요가 없습니다. 당신은 그것을 변경하고 프로그램 동적으로 적응합니다. 그래서이을 받고있다 작은 재미. 그러나의를 한 단계 더 걸릴 수 있습니다. 내가 가서하자 해당 프로그램의 제거. [야옹 SOUND] DAVID 마란 : 그건 우리가 거 스크래치 버그를 호출합니다. 그는 그 소리를 계속하지 않아야합니다. 그래서 우리는 우리가 그만하라고합니다. 좋아, 그래서 지금 난 로 갈 - 나는 MIT 알려드립니다. 우리는 영원히 여기에 갈 것이다. 그리고 지금, 내가 뭔가를하고 싶어 또 다시. 나는 컨트롤에 갈거야. 그리고 어디 보자, 내가 끌거야 내이 조건이있는 경우. 이제 논리를 알 수 있습니다. 녹색 깃발을 클릭하면 수행 만 영원히 뭔가,하지만 그렇게 뭔가이 다른 것은이 true 인 경우. 나는로 이동하자 거 야 감지, 말한다. 내가 가서 선택하는거야 감동과 거기에 놓습니다. 즉, 부울 식입니다. 그리고 지금,이 드롭에 통지 다운 메뉴가 있습니다 일부 미리 정의 된 값. 그래서 당신이 만지고, 말할 수 화면의 가장자리? 또는 당신은 마우스 포인터를 만지고 화면의 화살표? 그래서 나는 그렇게 할거야. 그리고 만약 그렇다면, 나는 갈거야 앞서와 사운드 야옹 재생합니다. 그래서 지금은 종류의이 게임의 시작 - 사랑스러운 게임. [야옹 SOUND] DAVID 마란 : OK, 사​​랑 스럽다, 버기 게임. 나를 기다려 보자, 보자 이 일초. 이제 클릭하여 다시 재생 녹색 깃발. [야옹 SOUND] DAVID 마란 : 그래서 지금이야 고양이를 귀여워처럼. [야옹 SOUND] DAVID 마란 : 지금 좋아,이 내가 미리 했는가 하나. 늦게, 그것은 어떤 종류의 도착 바보 같은 짓을하기 쉽다. 그래서 나는 여기 가자. 하자 고양이 애완 동물이었다,라고. 이제 열어 보자는 고양이 애완 동물을하지 마십시오. 이제, 우리는이 하나를 재생하는 경우, 당신이 있다면 당신은 추측 할 수 화면을보고 - [야옹 SOUND] DAVID 마란 : 지금, 나는 고양이를 애완 동물 경우 [사자의 포효] DAVID 마란 : 이렇게 실제로 이 경우 고양이를 애완 동물. 그래서 지금 우리는 단지의 예를 두 방향거야 분기합니다. 지금 저를 진행시켜 여기에 또 다른 하나를 엽니 다. 이것 또한 우리의 소스들 하루 코드 파일. 그래서 내 소스로 다시 가자 디렉토리로 이동의 선택하자 여기를 참조하십시오이 사람 무슨 일이 다릅니다. 와우, 좋아, 그래서 지금은 점점 좀 더 복잡한. 그리고 우리는이 사람이 무엇을보기 전에, 프로그램에서 유추하자 오른쪽에서. 그리고 지금 처음 명확하게 우리가 할 수 있습니다 여러 여러 스크립트를 가지고 한 스프라이트와 관련된 프로그램, 하나의 문자, 그리고 분명히, 함께 그들은 둘 다 록 스텝에서 실행하는 것입니다. 이러한 프로그램은 모두 시작하기 때문에 때 녹색 깃발 클릭만으로, 이것이다 와, 더 많은 고급 주제에 힌트 여러분 중 일부는 익숙 할 수도있는, 스레드로 알려진, 또는 멀티 스레딩. 밝혀 긴 이야기 짧은 컴퓨터 오늘은 본질적으로 복수 할 수 한 번 확인해보세요. 또는 그들이 그렇게 한 번에 하나의 일을 할 수 당신은 통지도하지 않는 것이 빠른 것 실제로 한 짓 당시의 것. 하지만 지금은, 가정하자 모두가 이 프로그램에서 실행하려고하는 같은 시간. 통보, 그들 모두가 영원히 조각 퍼즐. 그래서 그들은 모두 계속 실행하는거야 나는 빨간색 중지 기호를 명중 할 때까지. 그래서 그들은 할 건데? 왼쪽에, 나는 분명히 해요 음소거라는 변수를 선언. 그래서 그것을 같은 호출하지 않았다 N.처럼 지루한 내가이 그것을 음소거라는 의미를 전달하는 시간. I는 0이 동일하게 설정. 그와 같은 거짓, 또는 생각하자 의 그 같은 거짓을 생각하자. 지금, 영원히 다음을 수행하십시오. 키보드의 스페이스 바를 누를 경우, 다음 음소거가 동일한 경우는 제로, 다음 동일 하나 음소거 변경합니다. 그렇지 않으면, 제로 음소거 설정합니다. 그래서 논리적으로, 그 전체 비록 의 퍼즐 조각의 무리 나는 스페이스 바 쳤을 때, 그냥, 말 나는 변수에 무엇을해야합니까 음소거라고? 하나에서 0으로 변경을 또는 0 한. 그게 다야. 그래서 전등 스위치를 돌려처럼 또는 해제와 함께, 기억에 내가하는 짓을했는지 변수. 한편, 오른쪽에있는 쉽게 설명하자면,의 목적은 무엇인가 오른쪽에있는 스크립트? 학생 : 바다 사자 소리를 재생합니다. DAVID 마란 : 바다 사자 소리를 재생하려면, 그는에 의해, 음소거하지 않은 경우 그 변수의 특성. 그래서 우리는, 말하자면, 상태를 공유하고 이 두 가지를 통해 정보 공유 스크립트 때문에, 여기에 주목, 우리는 영원히 다음을 수행. 음소거가 제로의 경우는 음소거 그래서 경우 ​​- 음소거가 false 일 경우, 재생 이 바다 사자 소리. 그리고 자신에게 생각, 안녕, 안녕, 안녕을위한 이초, 그 순간을 기다린 다시 확인. 우리는 여기 왼쪽으로 가도 만약 그렇다면, 이 사람이 어디에, 그리고 충돌 녹색 깃발, [SEA LION 사운드] DAVID 마란 : 무엇 시점에서 이건 정말 짜증나는거야? 이것은 단지 영원히 갈 것이기 때문에. 그래서 가끔 무한 루프, 말하자면 의도적으로입니다. 그러나이 경우, 가능한 빨리 I 스페이스 바를 누르, 그는이 중지됩니다. 이제 프로그램은 종료되지 않았습니다. 그것은 여전히​​ 이러한 루프 실행의. 하지만 다시 스페이스 바를 얻을 경우 - [SEA LION 사운드] DAVID 마란 : 그는 선택할 것 까지 그가 멈춘 곳. 그래서 우리가 수행하는 하나의 방법이있다 또 다시 뭔가를하지만, 그 시간 만 조건. 음, 우리는 일이 정맥에있는 동안 일들이 또 다시 나를 보자 여기에 같은 또 다른 예로 이동합니다. 이 것은 우리가 양을 계산 전화 할께. 그리고이 사람이 무엇을 알 수 있습니다. 실제로 많은 같은 비트의 의사 우리에 함께 연주 그는 어떤 카운터를 설정 약자 일 수요일 그 생각은로 다시 N입니다 제로, 그는 영원히 다음을 수행합니다. 그가 말하길 하나의 카운터 값 두 번째, 다음 두 번째 대기하고, 하나 카운터를 변경합니다. 바로이 맥락에서, 그 증가를 의미한다. 그래서 그는 하나를 추가합니다. 그래서이 문자 그대로 - 우리가 생각하는 아주 게 아니에요 현재의 양을 계산. 그것은 계산을하는 양의 영원히 최대 0에서. 그래서 우리는 유사한 작업을 수행 할 수 이 논리적. 하지만 지금은 청소하려고하자 이러한 것들 중 일부는 백업합니다. 저 간단한으로 지금 앞서 가자 우리 고양이가 그냥가는 예 기침을 시작합니다. 좋아, 그래서 여기에 우리가 기침 0가 - 컴퓨터 과학자가 시작 0에서 계산. 그래서이 고양이는 단지 것입니다 세 번 기침을한다. 그리고 여기에 내가 그 구현 방법입니다. 녹색 깃발을 클릭, 기침, 잠깐 기침, 잠깐, 기침, 기다립니다. 난 그냥 드래그하여 이런 짓을 그리고 퍼즐 조각을 떨어 뜨리고. 또는 당신은 스크래치와 수리를 시작하면, 당신은 당신이 실제로 할 수있는 볼 수 있습니다 당신이 할 수 있도록 조각을 복제 드래그하지 않고 더 빨리 것들 및 광고 nauseum을 삭제. 그러나 우리는 여기에서 가장 좋은 경로 아니에요. 내가 그를 어떻게해야합니까 때문에, 네 번째 기침? 글쎄, 난 여기에 내려 가서 일종의 수 있습니다. 그런 다음 복제 및 수 거기에이 붙여 넣습니다. 어떻게 그 다섯 번째 시간을 기침을해야합니까? 잘 복사해서 다시 붙여 넣습니다. 또는 다시 드롭을 끕니다. 매우 신속하게,이 프로그램이 시작됩니다 정말, 정말 중복 얻으려면, 정말 긴하지만, 정말 재미. 하지만이 위로를 청소하는 방법이있다. 확실한 방법은 무엇입니까 이것을 청소하기? 좋아, 그럼 우리가 실제로 정말 갈 수있다 당신이 공간을 명중 밖으로, 바는, 그 기침이 있습니다. 하지만 난 그냥 뭔가를하려는 경우 반복적으로, 우리가 않는 기억 일부 컨트롤을 생성합니다. 날이 밖으로 이동하자 방법은 통제의 밑에 이동합니다. 나 그냥 반복하자 세 번을 말한다. 그리고 지금 나 일부를 훔쳐 보자 이러한 퍼즐 조각. 내가 여기에서이 스냅 할 수 있습니다. 내가 모두이 멀리 던져 보자. 그리고 지금은 더이 프로그램을 설계했습니다. 왜? 나는 횟수를 변경하려면 이 고양이 기침은 모든 난에있다 하나의 변수 또는 하나의 값을 변경하면됩니다 오히려 세에서 4 개 또는 다섯이나 여섯. 아니면 조건부 뭔가를 할 수 심지어 공간 내가 원한다면 바입니다. 그래서 이것은 일반적인 원칙이다. 일단 당신이 코드를 복사 및 붙여 넣기 시작 그것은 스크래치 나에의 여부 C, 당신이 뭔가를하고 있어요 잘못된 가능성이 높습니다. 아니면 적어도, 일단 당신이 몇 가지를 초과했습니다 복사 및 합리적인 수 페이스트, 당신은 아마거야 뭔가 잘못하고. 하지만 당신이 뭘 알아? 나는 이런 식으로 정말하지 않습니다. 이 깨끗한 디자인이 아니다. I라는 퍼즐 조각이 있었으면 기침 그럼 난하지 않기 때문에 이에게 자신을 구현해야 하여 옛날 방식, 말을 기다리 데 - 그들이 단지 인 경우 기침 퍼즐 조각. 음, 사실은 그렇게 할 수 있습니다. 좀 더 블록 아래 가자 클릭 블록을하고, 지금이을 여기에 창. 나는이 일 기침을 호출하는거야. 내가 가서 확인을 클릭거야. 지금 공지, 나는 새로운 시작을 상단에 휘어져 조각. 그리고이 함께 할거야, 난 다만 이러한 블록을 훔치는 것. 여기 넣어거야. 그리고 지금,이 세 조각에, 난 내가 전화를거야 어떤 구현 함수 또는 프로 시저 또는 일부 당신은 방법으로 알고 있습니다. 단어 사이에 약간의 차이가. 하지만 지금의 그냥 .. 이 함수를 호출합니다. 이것은 단지 새로운 퍼즐 조각입니다. 지금은 다음과 같이 구현됩니다. 그러나 스크래치가 우리에게 주신 것을 알 수 그 전체의 물리적 표현 여기에 차단합니다. 그래서 지금, 난 그냥 여기에이 드래그 할 수 있습니다 말을 세 번 반복하고, 내가 연주 할 때 무엇을 지금 일어날 이 스크립트는 하나의 프로그램입니다 한 번에 실행되고 있습니다. 한 경우가있다 녹색 깃발 클릭. 그러나 기침이라고하는 보라색 블록은 효과적으로마다, 스크래치를 말하는 시간 당신은 실제로 그 퍼즐 조각을 참조하십시오 다음 단계를 수행하는 I 수동으로 구현하는 일. 그래서 깔끔한 종류이다. 하지만 지금은 그렇게하지, 내가 결정한다고 가정 다만 기침이 고양이를 원한다. 나는 그가 수 있도록 할 뿐만 아니라 재채기. 글쎄, 우리가에 대해 어떻게 갈 수 재채기를 구현? 그럼 난 꽤 많은 수 같은 일을 할. 또 다른 블록을 만들 수 있습니다. 나는이 재채기를 호출 할 수 있습니다, 확인을 클릭합니다. 그런 다음, 여기에 사실 수 날이 중복 보자했습니다 - 당신은 기분이 위치를하고있다 당신은 아마 뭔가 일을하지 않는 가장 좋은 방법. 내가 뭔가처럼 말할 수있다 achoo 한 초. 1 초 기다립니다. 지금은 재채기라는 새로운 블록이 있습니다. 그리고 실제로, 거기이다. 하지만이 역시 느낌을 시작합니다 - 아마 첫 번째 클래스의 주지만, 방금 - 두 번째로 약간의 중복. 분명히, 일부 중복이 여기에있다. 그래서 그 대신, 내가 제안하자, 그 우리 이 정의가 다음과 같이 수정하십시오. 내 파일 메뉴에 올라가 보자. 나는이 버전을 저장하지 않을거야. 나는 중 하나에 갈거야 여기 내 이미 만들어진 파일. 내가 먼저 갈거야 기침 2 엽니 다. 으악 그 기침이 있었다. 내가 가서 기침 3을 열어 보자 이는이 소스 디렉토리입니다. 3 기침과 알 - 오, 나는 말 잘못된 순서로 이야기. 내가이 이야기를 복구 할 수 있습니다. 내가 말할하기위한 이야기 기침 4 끝 - 거기입니다. 내가 대신 정의, 그래서 경우 라는 큰 퍼즐 조각 단어를 n 번 말을 정의합니다. 재채기, 그냥 분명히 있습니다 스크래치, achoo. 그래서 우리는 단어로 표현 그의해서 프로그램의 제한. 그리고 기침, [기침]하지만, 기침 C-O-U-G-H. 그래서 그건 단지 두 개의 다른 단어는 본질적으로 수행 같은 것. 그래서 실제로 만들 수 있습니다 이 같은 새로운 블록. 내가 전에이 메뉴 옵션을 사용하지 않았다. 하지만 당신은 블록 만들기를 클릭하면, 당신은 몇 가지 옵션을 선택할 수 있습니다. 그리고 당신은이 블록 실제로 말할 수있다 그렇지 않으면, 일부 입력을 걸립니다 인수 또는 매개 변수, 그래서 알려진 당신의 동작을 수정할 수 있습니다 귀하의 블록. 그래서 나는 조금 전에 한 한 나는이 블록은 말했다. 그리고 나는 그것이 걸립니다했다 문자열 입력. 그리고 지금, 기본적으로 알 그것은 문자열 1을 말한다. 문자열은 단어, 또는이다 어구, 우리의 목적. 하지만 난 그냥 넣어거야 단지에서처럼이 자리 표시 자 텍스트, 웹 사이트에, 당신은 사용자 이름을 볼 때, 또는 때 암호를 입력 한 다음 사라집니다 당신이 입력 시작합니다. 즉 모든입니다. 지금은 갈거야 숫자를 쓰세요. 그리고이 없음을 호출 할거야 - 하지만 꽤 임의의. 그리고 그냥 라벨, 그냥 만들려면 이 블록 좀 더 자기 설명 - 시간, 내가 방금 무슨 짓을했는지. 그리고 최종 결과는 내가 얻을 것입니다 다음과 같습니다 블록. 그리고 지금 내가 사용하고, 알 반복 블록. 오히려 하드 코딩 3 개, 난 정말 거기에 N을 드래그 앤 드롭 기능을 모수화 수 있습니다. 나는이 기능이 뭔가를 할 수 있습니다 에 따라 시간의 다른 수 그 값. 그리고 이것은 내가 무슨 짓입니다, 통지 말 여기, 내가 단어를 드래그하면, 내가하지 말할 수 하드 코딩 단어지만, 어떤 잠시만 전달됩니다. 한편, 내가 어떻게 다시 구현합니까 기침? 내가 대신으로 기침을 정의 말 기침 n 번. 그래서 짧은,이를 통해 갈거야 빨리, 그러나 기본적인 아이디어는 곧 당신은 당신의 프로그램에서보고 시작으로 , 잠깐만 것을, 내가 했어 전에 꽤 이런 식으로 뭔가, 나는 몇 가지 일반적인을 인수 분해 할 수 기능? 나는 내가 뭘 분해 할 수 몇 가지 기본적인 아이디어에? 즉, 우리가 무슨 일을하는지입니다. 그리고 시각적으로, 이러한 것들을 쌓아했습니다 서로의 상단에 그것은의 생각을 입증 때문 , ASCII로가는 바이너리로 시작 종류의 그래픽 프로그램을 만들기 에 레이어 점점 더 복잡 아이디어 서로의 상단. 여기에 같은 생각. 내가 구현, 처음부터 시작 기침, 그 실현 기침은 정말 뭔가 말. 그래서 내가 대신 구현할 수 뭔가를 말하는 개념. 그리고 그 꼭대기에, 나는 구현할 수 있습니다 achoo, 기침? 그리고 우리는 같은 할 수 아직 변종. 그래서이 기본 원칙에서, 우리가 할 시작할 수 있습니다 점점 더 복잡한 프로그램. 날이 하나를 열 수 있습니다. 우리는 실제로 여러 스프라이트를 할 수 있습니다 한 번에 화면에 상호 작용. 나는 내 소스 디렉토리로 이동하는 경우 호출 한 호출 스레드를 잡아 그 스레드는 정말 기능입니다 옆을 실행하는 두 개의 스크립트 동시에 측면입니다. 지금 주목, 새 스프라이트를 모두 가지고 이 둘의 고양이 스프라이트, 자신의 스크립트. 통지 그래서, 언제 클릭 고양이, 나는이 스크립트를 얻을. 나는 새를 클릭했을 때, 나는이 스크립트를 얻을. 그래서이 사람들의 각각에는 자신의 프로그램. 지금은 녹색 깃발을 클릭하면 확인할 수 어떻게이 프로그램이하는 일은이다 믿을 수 없을만큼, 고양이가 천천히, 새를 쫓아. 그러나 고양이는 데 장점이 있습니다 같은 방법으로 프로그래밍되어 상관없이 그 위치를 새 , 고양이는 그 방향으로갑니다. 우리는 훨씬 더 빨리 그 게임을 재생할 수 있습니다. 나는 고양이에있어 경우에, 난 것을 알 수 사용하자 한 단계를 이동 말한다. 하자 그 5 개의 단계를 이동해야 시간 때문에, 한 번에 5 점입니다. 나 재생을 클릭하자. [사자의 포효] DAVID 마란 : 좋아, 지금 우리가 할 수있는 정말 고양이에게 이점을 제공합니다. 10 시간에 가깝습니다. [사자의 포효] DAVID 마란 : 좋아, 그래서 매우 빠르게, 조금 이점을 얻을 수 고양이. 하지만 난에서 내 손을 흔드는 것 몇 가지 세부 사항. 하지만 경로가되는 이유 조금 다른 각 시작 시간 나는 임의성의 비트를하고 있어요 것입니다. 사실에 고양이를 가리키는 해요 다른 방향은 어디를 기반으로 그 때문에 시작할 때마다 게임이나 애니메이션입니다 조금 다른. 지금, 내가 하나를 소개하겠습니다 다른 하나는 여기에 구성. 따라서이 경우, 우리는 기능을 가지고 있었다. 또한 퍼즐 조각이있을거야 배열 또는리스트로 알려진 그건 당신이 여러 저장할 수 있습니다 변수의 내부 값입니다. 우리는 지금 스레드를보고, 이벤트가있다. 그래서 여기에 사용하여 이벤트입니다 여기에 두 사람. 내가 열어 있다면 파일을 이벤트라고 오늘의 예제에서, 우리는 것입니다 보이는 프로그램을 참조하십시오 이런 작은. 이제이 녀석을 발견 - 그래서 나는 파란색을 알 도련님은 클릭 - 그는 단지 다음을 수행합니다. 그는 그 중 하나가 없습니다 녹색 플래그 퍼즐 조각. 내가 이벤트를받을 때 그는이 있습니다 - 임의의 단어 때문에. 난 그냥 거기에 이벤트를 입력 - 그는, 말 폴로거야 2 초. 그래서 익숙한 분들 이 게임은 알 수로 이 곳을 것입니다. 지금 오렌지 도련님을 클릭하면 그의 프로그램은이 작업을 수행합니다. 영원히 경우 키보드 스페이스 바 억제, 그는 마르코 말할 것입니다, 화면에 2 초. 그러나 그는 또한 애호가를 사용할 것 방송으로 알려진 차단합니다. 그는 견적을 방송하는거야 맺다, "이벤트입니다." 한편, 파란 사람, 리콜이며, 견적 맺다, 수신 대기 "이벤트입니다." 그래서 어떻게 든 지금, 우리는 할 수 있습니다 두 개의 스프라이트 상호 작용. 그리고 우리는 웹 프로그래밍에 도착하면, 나중에 기간에, 마찬가지로이됩니다 귀하의 웹 사이트를 가지고하는 것이 유리 위해에 대한 응답으로 작업을 수행 예, 키보드를 클릭합니다. 그럼 내가 가서 보자하고 스페이스 바를 누르십시오. 오렌지 사람은 마르코를 말한다. 파란색 사람은 폴로를 말한다. 내가 할 경우 다시 오렌지 남자는 말한다 마르코, 블루 남자가 폴로를 말한다. 그럼이 한 단계 더 걸릴 수 있습니다. 이 시간, 우리는 아마 갈거야 여기에 더 많은 단지 몇 분 거리에 있습니다. 우리가해야합니까 - 책상 램프가 아래에 제공됩니다. 당신은 오른쪽 끝 부분에 있습니다. OK, 당신은 둘 다 올 수 있습니다. 우리는 모두를위한 책상 램프가 있습니다. 어서. 우리가 유지할 수 있을지 모르겠어요 이 말도 안되는 개그까지 모든 학기, 그래도. 자, 아래에 제공됩니다. 그리고 그 사이에, 우리는이 단지로 뽑아 예를 다음 예, 이제 일을 가속하는 우리 서로 표현이 를 사용하여 당신의 전신 동일한 기본 빌딩 블록입니다. 당신의 이름은 무엇입니까? 존 : 존. DAVID 마란 : 존. 나 당신을 좋은. 그리고? SETZ : Setz. DAVID 마란 : Setz, 당신은 나에게 좋은. 존, 당신이오고 싶으면 먼저,이 오래된 학교 게임 Frogger와 이름. 이뿐만 아니라 키보드 명령을 사용합니다. 그리고 목표를 통해 얻을 수 있습니다 거리와 물. [Frogger와 음악과 소리가 재생] DAVID 마란 없음 : 미안 해요, 더 당신을위한 책상 램프 오늘. 좋아, Setz, 당신 것 올라 와서 하시겠습니까? 좋아, 그것을 다시하자. SETZ : 나는 화살표를 사용하십니까? DAVID 마란 : 그냥 화살표 키를 사용합니다. 위, 아래, 오른쪽, 왼쪽. [Frogger와 음악과 소리가 재생] DAVID 마란 : 우리는 그들을 호출합니다 위안의 상금 오늘, 다음, 아주 잘 했어. 여기에, 존과 Setz 둘 다합니다. 축하, 좋아. 그래서 다시,이 게임은, 재생로 무슨 일인지 생각해? 하나는, 운동의 많은 분명히있다. 그러나 우리는 고양이와 방법을 살펴 보았다 당신이 할 수있는 방법을 새 예를 들어, 그냥 몇 가지를 이동하여 움직임의 환상 또 다시 픽셀 수. 그리고 당신은 영원히 블록이 있다면 당신이있을 수 자동차는 영원히 이렇게. 우리가 할 수있는 능력을 가지고 약간의 임의성이있다. 그래서이 게임은 할 필요가 없습니다 동일한마다. 이러한 로그 그 자동차는 시작 할 수 있습니다 약간 다른 배 있도록 게임 자체는 재미있다 각 게임의 플레이. 그 사이에, 우리는 능력을 봤어요 스페이스 바를 듣고 있습니다. 하지만 분명히, 스크래치, 당신은 또한 수 오른쪽, 위, 아래, 왼쪽을 수신하고, 키보드 정말 어떤 키를 누릅니다. 그리고 당신은 또한 몇 가지 다른 일을 할 수 있습니다. 내가 가서 다시 가자 웹 버전. 날은 우리의 컬렉션에 가자 의 여기 예제를 제공합니다. 내 스튜디오 아래, 비디오, 어떤 폴더에 기본적이다 scratch.mit.edu. 우리의 웹 버전이 이 프로젝트의. 내가 얻을 수 있는지 보자 내 컴퓨터가 여기에 협력한다. 이것은 우리의 친구 중 하나에 의해 작성 MIT에서 나비를 이동했다. 이 열립니다 번이는 실제로 더 사용할 것 내 컴퓨터의 하드웨어. 스크래치 구현하는 일 플래시와 함께. 플래시, 웹캠 대화를 나눌 수 당신이 하나를 가지고있는 경우. 나는이 가서 전체 화면 그렇다면 여기에, 녹색 깃발 통지를 클릭 이 플래시의 보안 메시지 말하고, 당신이 원하는 않습니다 내 웹캠을 사용할 수 있도록? 일반적으로, 당신은해야 아마 거부 말한다. 그러나이 경우, 우리는 할 말 것이다. 그럼 내가 크롬을 말할거야 이뿐만 아니라 수 있도록합니다. 그리고 지금, 그냥 순간에, 저, 네, 저를 참조하십시오. 내 손으로 올라가면 -에게 나는 움직이지있어 내 동시에 머리. 반영도 있습니다 화면에. 거기에 우리가, 가자 - 당신은 화면에 이동할 수 있기 때문에 퍼즐 조각은있다 - 오, 그것이 무엇인지 알고, 그건 당신도 있기 때문에 내 뒤에 프로젝터 화면을 참조하십시오. 그래서 우리는 거의 무한이 일이 일어나고. 좋아, 그래서 여기까지 재생할 수 있습니다. 거기 우리는 간다. 그래서 퍼즐 조각은있다 당신은 아래의 움직임을 볼 때, 말한다 스프라이트 중 하나는, 당신은 갈 수 있습니다 위, 아래, 왼쪽, 오른쪽 또는 좋아한다. 그래서 우리는 가상 현실의 조금을 가지고 모든 내에서뿐만 아니라, 여기에 진행 내 브라우저의 굴레 단지 여기 내 웹캠을 사용. 그래서 지평선에 그 무엇. 당신이 보게 될 첫 번째 문제 세트, 또는 웹 사이트에 나중에 온라인으로 이동합니다 cs50.net에서 오늘은 사랑스러운 많은 오픈 종료 될 것. 그리고 스크래치 프로젝트를 구현 의 당신에게 관심사, 게임, 상호 작용, 예술인가, 그리고 숫자를 사용하여 자신을 도전 이러한 퍼즐 조각. 그리고 그것은 대화식 할 수 있습니다 이런 식으로합니다. 아니면 더 신중하게 뭔가를 할 수 있습니다 이야기를했다. 그리고 실제로, 그것은 우리가 해제 될 겁니다 어디에 마지막으로 예와 오늘. 내가 로컬 스크래치로 가자. 내가 가서이 열고 놀자 하나 작성 마지막으로 한 프로그램 귀하의 전임자, 즉 여기에합니다. 좋은이 하나의 볼륨을 올립니다. [음악 연주] 내레이터 : 다음 CS50, 데이비드 무대 자원을 초대합니다. DAVID 마란 :이 데모를 위해, 우리는 하나의 자원 봉사자를 필요로하는 것입니다. 당신은 아래에 와서 하시겠습니까? 당신의 이름은 무엇입니까? 에 이동.