[Powered by Google Translate] [ROCK 음악] [MUSIC - 거북이 "해피 투게더"] 데이빗 MALAN : 오늘, 우리는 우리의 탐험을 시작 컴퓨터 과학 및 소개 기초, 이제 프로그래밍의 예술, 그 어느의 하나의 예라고 할 수 있습니다. 그러나 문제 해결의 같은 맥락에서, 알아 CS50의 전통 퍼즐의 날이 내일입니다. 아직이 이벤트 RSVPed하지 한 경우에 갈 수 cs50.net/rsvp. 두 아니면 3이나 4 개의 팀이 작업을 계속할 수 있습니다. 당신은 당신이 본 같은 문제에 도전합니다 거기에 처음에 들어. 모든 새로운 문제는 당신이 작년 partook 경우 년, 그리고 어떤 멋진 상품을 탈 수있는 다음 기회를 갖게됩니다. 그 중, 위 (Wii) 및 일부 상품권과 같은, CS50 학생들과 친구들과의 모든 시간이 수다방 그리고 피자와 페이스 북. 당신이 원한다면 내일에 따라서 더. 이 다음에 우리와 함께하시는 분들을 위해 CS50입니다 처음. 그리고이 코스는 특히 얻을 결정 알고 최종 끝으로이 과정을 통해 당신, 그 시점을의 이들의 이해뿐만 아니라해야합니다 컴퓨터 과학의 기초,하지만해야합니다 그런 다음에 다시 걸릴 수 있다는 아주 실용적 기술 세트 자신의 부서, 그것이 공학 과학 일지 응용 수학, 물리학, 자연 과학, 또는 같은. 사실, 컴퓨터 과학이 그렇게 흥분이야 일이에 너무 적용됩니다 것입니다 필드의 모든 종류. 그리고 오늘날까지도하지만, 우리는 표면을 긁합니다 C로 알려진 매우 전통적인 프로그래밍 언어, 우리끼리 대신에, 스크래치라는 걸에서 뭔가 보여 쿠키 사랑 이야기는 중 하나에 의해 구현 된 지난 몇 년 동안 전임자, 게임을 만들려면 이야기를 말해, 인터랙티브 아트를 만드는 방법, 그리고 실제로를 정리하고 시작 그 기본 구조의 일부 주위에 마음을 프로그래밍을 기초 있지만, 볼과 같은 맥락에서, 그건 덜 무서운, 그 말은 당신이 볼 수보다 훨씬 적은 마법입니다 오랜 전에. 그리고 우리에게이 가입하시는 분들을 위해도 실현 학기, 우리 수요일의 강의를 종료하는 문구, 당신에 상대적으로 끝날 곳 그렇게 중요하지 않습니다 학기 말에이 클래스의 친구들,하지만 어디에, 주 11이 매우 일 바로 자신에 대한 상대를 종료합니다. 따라서 소동이 또한 지적하는 가치가 불우한 편안 사이에있는 곳이입니다 또한이 과정의 설계에 의해, 사용하지 않은 단점에 마주 그 더 편안한 이 클래스에 들어오고 있습니다. 당신이 오길 주 동안 볼 수 있습니다, 우리는 다른이 서로 뒤 배경 트랙, 사람들을 위해 섹션 적은 편안한 더 편안한, 그 곳에서 사이 인치 당신은 이번 주말과 다음 주, 두 가지 버전이 표시됩니다으로 표준 및 해커 버전 때문에 모두에서 대부분의 문제 세트 당신은 모든 길을 스스로 선택할 수있는이 함께 가장 편안합니다. 오늘 그래서, 우리는이 프로그램에 뛰어 언어는 스크래치를했다. 이 그래픽 프로그래밍 언어, 그리고 아직이 있습니다 우리가주지 높은 수준의 언어들 중 일부 동일한 기능 그 중에서도, 나중에 학기의 탐험 C와 자바 스크립트와 PHP. 그러나 우리가 산만의 일부를 방지 할 수 있도록거야 초기 문법에, 세미콜론, 괄호 같은 것을, 및 다른 마법 세부 사항은, 처음 보면, 단지 수 없습니다 모든 지적 관심의 및에 들어가 경향이 몇 가지 근본적인 이해의 방법입니다. 앞서 지금 지원 구조의 측면에서이 문제를 실현 도구 코스의에 연결됩니다 CS50 토론 웹 사이트 오늘 나중에, 온라인 토론 포럼에서입니다 당신은 서로의 질문을 할 수 거고하는 직원, 우리는 다음 주에 볼 수 있습니다로도 도구입니다, 우리는에 매우 integratedly 사용할 것을 근무 시간뿐만 아니라. 사실, 근무 시간은 첫 번째 솔직히 월요일에 시작하고, 근무 시간 주 매우 낮은 핵심입니다. 난 당신이 스크래치 모든 액세스 찾을 수 있습니다 생각하지 않아요. 정말 우리가 보게 될, 오히려 자기 설명, 그리고 어떤 우리가 오늘을 위해 사용할하면의 일부를 추출하는 것입니다 다음, 전체에 유지됩니다 기본 아이디어 학기 나머지. 그러나 오후 11시을 통해 오후 8시에, 월요일부터 시작하면 될 것입니다 뇌 방학 동안 Annenberg의 영업 시간. 두 Sectioning 것도 언젠가는이, 오늘 저녁 시작됩니다 주말 cs50.net/section로 이동하여 귀하는 질문의 수를 묻​​는 메시지가. 그중 어떻게하면 어떻습니까 오늘부터 편안한 수준? 어떤 버킷에있는 사람에 대해 아무런 하드, 빠른 규칙이 없습니다. 당신이 아마 알고 그냥 것들 일지라도 이하 편안한하거나 그 등이 있습니다. 그리고 지금은 연습. 이번 주 문제 세트 사양, 표준 모두 그리고 해커 버전은 모두 지금부터 cs50.net에서 온라인입니다. 그리고 당신은 볼이이 버전의 첫 번째 일반용 매주은 무언가 동반 우리 코드 연습 연락 세션 중 하나에 의해 주도 코스의 가르침 동지를 제공, 당신에게 길을 안내 할 그 때의 팁, 그리고 특정 경로를 당신을 내려 이러한 문제 세트를 시작합니다. 아빠는 항상하고자하는 경우 따라서 이러한 문제의 각으로 설정 자신부터 시작니까, 당신이로 시작 연습. 그리고 사실, 제가 Zamyla 찬이를 소개 할 수 각각의 모든을 선도 할 것입니다 올해의 교수 동료 이러한 연습 중 하나입니다. Zamyla? [박수 갈채] ZAMYLA 짱 : 아, 안녕하세요, 여러분. 내 이름은 Zamyla입니다. 나는 Winthrop 하우스에서 주니어 공학을 공부입니다. 하지만 노력하고 많은 컴퓨터 과학 코스로 적합 나는 정말이 일을 주도 할 흥분 이유를 할 수 있습니다, 어떤은 올해의 연습. 연습은 나를 위해, 내 CS50의 필수적인 부분이었다 경험. 연습하는 동안, 모든 P-세트에 대해, 우리는 갈 거에요 문제가 함께 설정 문제를 살펴 보게, 가지 관리 물린로 올려 나눕니다. 제 생각에, 당신에게 팁, 테크닉을주지 을 통하여 시작. 나는 연습에서 모두 볼 수 있도록 최선을 다하겠습니다. 당신은 다음 사람에 할 수없는 경우 온라인에서 곡을하시기 바랍니다. 데이빗 MALAN : 좋아요. , Zamyla 감사합니다. 그럼 금요일에, 실제로 연습이 있다는 걸 오후 있지만, 이것은 의도적으로 설계된 의도적으로되도록 당신은 오히려 금요일에 수업에 참석하지 않으 경우에도 오후의 동영상은 더 빨리 이상까지 될 것입니다 주말. 따라서 cs50.net이 Zamyla의 모든 것 걸 깨닫게 연습. 오늘의 날짜와 시간, 3:00 오후,이 그리고 그건 Harberd 홀, 104. 그리고 교육 친구들 중 일부는 또한 준비했습니다 부재중에 당신을 위해 말은 당신에게 약간의를 제공하기 위해 관점 어떤 자신의 경험에오고에로 CS50의 외출은 같았습니다. 그래서 우리는 잠시 동안 불이, 당신에게 희미한 줄 수 있다면 CS50의 직원 중 일부. 잭슨 STEINKAMP는 : 난에 신입생으로 지난해 CS50했다 가을, 그리고 절대적으로 내 마음을 날려 버렸어. 전에 모든 프로그래밍 수업을 촬영 한 번도 해 본 적이 없었습니다 및 컴퓨터 과학으로 오지 않았어 전혀 경험을 할 수 있습니다. 그리고 단지, 전 클래스에 대한 버즈를 듣고 가져하기로 결정했습니다. 줄리아 MITELMAN : 정말 매력적인, 정말 재미 있었는데. 이 일에 아직도 - 난 그냥 최근에 내가 다윗이 우리에게 준 플로피 디스크가 본 강의 첫 날에. 내 벽에 걸려 있었다. 이게 아마 조금 못난이지만, 내 일에 걸려 이 얼마나 멋진 언급 된 바와 같이 클래스 중 벽. 트래비스 다운 : 그것은 당황 하거든요. 잭슨 STEINKAMP : 컴퓨터 과학은 무언가이다 당신이 당신이 한하지 않더라도 시도해야 전통 과학. 그것은 그 자신의 경험, 그리고 CS50은 당신이 있는지 확인합니다 TFS 자사의 진정한 군대로를 통해 잘 지원합니다. ALI NAHM : 저는 신입생으로 받아들 등 많이했다 새 친구. 나는 또한 전체 농도와에게 소개 했어요 공학의 전체 학교, 그리고 그래서 내가 매우 그것을하는 것이 좋습니다 우리의 CS50 가족 여러분을 환영합니다. YANIV YACOBY : CS50은 얼마나 도구를 사용하는 방법을 가르쳐 그 광범위하게 액세스 할 수 있습니다. 넌 그냥 노트북이 필요합니다, 당신은 웹 브라우저가 필요하고, 일부 코드를 작성하는 법을 배우게 할 필요가 있으며, 당신이 정말로 구축 할 수 있습니다 깔끔한 것들. 카렌 XIAO : 그것은 뭔가를 할 수 있도록 너무 멋있다 사람들이 그걸 사용해서 사람들이 볼이 있고, 그게 정말 그것에 대해 사랑. TIM MCLAUGHLIN : - 지역 사회의 의미, 내 생각 엔,이에 지금까지 찍은 다른 코스보다 코스입니다. 당신은 다른 데려 갈 수 없어 - 또 다른 요구 사항을 작성하지. 당신은 강의에 가서 절을 안하고 있습니다. 그러나 당신은에 관한 모든 것에 톤을 다하고 있습니다 프로그래밍 및 기술에 대한 모든 것이지만, 그렇지 정말 클래스처럼 대부분의 시간을 느낍니다. 트래비스의 다운 : 그리고 첫 날, 그들은 케이크를 나누어하고, 나는 즉시 판매되었다. 야곱이 PRITT : 무료 사탕, 피자. ZAMYLA 짱 : -에 관계없이 관심 수준의, 내 생각을 CS50, 당신은 재미있을거야, 당신은 지적 할 거라고 자극. MARK GROZEN - SMITH : 항상 반에서 파티하고는 ... 당사자는 매일 P-세트에 노력하고있어. 잭슨 STEINKAMP : 당신, 문제 설정을 완료 할 때마다 당신이 프로젝트를 완료 한 기분입니다. 멜리사 NIU : 그것은 학년이었고, 나는 쇼핑을 완료했다. 나는 내 4 클래스를 준비했다, 나는 Annenberg에 있었어요. 그리고 친구에 밤, 그리고 범인이하는 말에, 이봐, 내 쇼핑 있어요 이 클래스는 CS50라고, 당신은 저와 같이해야합니다. 그것을 그 가을을 복용 결국, 그 수업을 마친 후에, I 제가 CS에 마이너로 갈거야 어쩌면 생각. 하지만 이곳은 3 년 후, 여전히 컴퓨터를 공부하고 있습니다 실제로 과학 및 주요로하고, 나는 모든 사랑 그 순간. 롭 보덴 : 저는 아무 생각이 없습니다. ALI NAHM : 봅시다. 멜리사 NIU : 막무가내. 스피커 1 : 내가 아주 진부한있을 것 같은 느낌. 난 그냥 멋 같은 것 같아요. YANIV YACOBY : 접근성. 야곱이 PRITT : 무료 사탕, 피자. 트래비스 다운은 : 클래스를 바꿀 수는 없어 케익을 나눠 주면서. TIM MCLAUGHLIN : 활동적인. VIPUL SHEKHAWAT : 필수. 롭 보덴 : 저 답을 생각해 보자. 뭔가를 찾은 것 같아요. 오, 이런. 네, 제 이름은 롭 보덴, 이것은 CS50입니다. [박수 갈채] 데이빗 MALAN : 좋아요, 그럼 사진을 페인트 칠을 시작하자 우리가 가서,가 도입시킬 수있는 방향 의사로 알려진 이곳이 개념. 그래서 의사는 프로그래밍하지 않습니다 자체에게로 언어입니다. 그것은 이라기보다는 기술적 인 상관 없어,하지만 중 일종 이죠 매우 정확하게 자신을 표현하는 일반적인 방법 공정 알고리즘, 공정 절차,하지만없이 당신이 표현하는 어떤 언어에 대해 걱정할 필요 자신 인치 모양은 영어와 프로그래밍 언어의 일부 모델 당신이 잘 알고 있어야합니다 어떻게하는, 그래서 우리는 시작할 수 우리가 진행하면서 이런 걸 쓰고 싶어요. 그리고 사실, 조셉,로 무대에 당신을 빌릴 수 여기에 서기? 나는 사전에 앞서 사라와 넣어 잊어 버렸습니다 일부 양말에서 오늘,이 우리의 더 사이에 있습니다 말도 안되는 예. 자, 여기 당신을 필요합니다. 나는 양말 부분을 다하겠습니다. 그래서 여기에 우리가 약간의 스크래치 패드를 갖추고 있습니다. 이 말 그대로 그냥 맥에서 텍스트 편집기입니다. 우리는 실제로 runnable 프로그램을 작성하려고하지만, 안 우리가 의사에게 정보를 기반으로 스케치를 시작 할거야 여기 나에게 제공하는 변호인의 일부. 그래서 여기 집에서 양말 나의 더미입니다. 내가 아침에 일어 났을 때에는 양말이 없습니다, 우리 지금 , 프로그램을 작성하는 종류의 알고리즘을 필요로하는과 내 발에이 양말을 가져옵니다. 그리고 그 길을 따라, 그렇게하면 우리는 여행을 통해, 또는 발생, 자네는 자네가가는있는 아이디어의 일부가 시작 돼 있어요 프로그래밍시에 대한 더 많은 진지하게 생각 않도록 여러분의 프로그램은 상당히 의도 한대로 동작하지 않습니다. 그래서 여기 앉아. 나는 양말 제 더미있어. 합리적인 인간이 제일 먼저 뭘하게 될까 목표는 양말 한 켤레를 입고 것입니다시기는 언제입니까? 누군가가 나에게 한 단계 만 한 단계를 제공합니다. 응? 대상 : 숙여. 데이빗 MALAN : 자, 구부려. 두 단계. 두 단계. 대상 : 당신의 양말을 선택합니다. 데이빗 MALAN : 당신의 양말을 선택합니다. 그래, 그럼 약간 여기 모호함,이 첫 번째 중 하나입니다 우리가 의도적으로에해야한다는 블록을 비틀 여기 발생합니다. 약간 애매 모호하다 있으므로 양말을 선택합니다. 좋아,이 하나를 데려 갈거야,하지만 컴퓨터는 단지에서 실현 비트, 인간 본능의 종류 만로 가야하지 않습니다 가장 가까운 하나를 선택합니다. 우리는 표현, 긴 전에 시작해야 할거야 더 정확하게 자신. 좋아요, 그럼 2 단계는 양말을 가져입니다. 우리가 걸릴 수 있습니다. 세 단계. 뒤쪽에. 대상 : 일치 쌍을 찾아보십시오. 데이빗 MALAN : 한 쌍을 찾아보십시오. 좋아, 그럼이 좋습니다. 이 양말을 선택했습니다. 따라서 목표는 이제 일치하는 양말을 발견하고,하지만 그게 무슨 뜻이지? 수요일 많은 같은 거 합리적인 인간 때 난 그냥 , 그냥, 전화 번호부에 마이크 스미스를 찾을 방법을 알고 자신의 본능을했다. 하지만 여기, 그것은 분명히 여기이 양말 만, 컴퓨터의 그래서 본능적 될거야 없습니다. 컴퓨터는 우리와 같은 비트의 컬렉션을 것입니다 수요일에 논의​​, 이러한은 메모리에 어떻게 든 개최했습니다. 그러나 중요한 점은 컴퓨터 만있는 능력을 가지고 있다는 사실이다 한 번에 하나의 사물을보고, 사실이라도 우리 인간 - 내가 내려 보았다과 분할 기분이 있더라도 양말이 어디 있는지 둘째 나중에는, 내 머리와 눈을 알고 아마 빠른 이러한 양말의 탈지 않은 후 래치 문제의 하나 있습니다. 우리는 이제 컴퓨터 등 모든 더 천천히,면 어떻게이 일치 쌍을 찾을 수 있습니까? 음, 우리는 반복해야합니다. 우리는에 양말이 엉망여 아마 루프로이 나는 각 양말 위해 뭔가 같은 말을 상기 층, 그것을 선택 업, 그리고 다른 하나는 같은 모양과 크기의 다음 IF 점, 점, 점, 우리는 이야기를 계속 진행됩니다. 따라서 각 양말에 대한 것이므로,이 하나를 선택할 수 있습니다. 이이 하나 동일합니다 확인하십시오. 그것은, 그래서 측면을 버려야 없어. 그런 다음 다시 반복합니다. 동일 하나인가요? 아니, 그래서는 좀 나중으로 미뤄 않아. 이 사람인가요? 아니오. 이 사람? 아니, 등등. 그리고 마지막으로, 바라건대, 나 여기 양말가 발생합니다. 이 같은 모양, 크기 야한다면, 받아. 그리고 지금, 여기 우리의 다음 단계는 것입니까? 응? 대상 : 왼쪽에서 오른쪽으로 확인합니다. 데이빗 MALAN : 네, 그래서 오른쪽과 왼쪽 식별 작품 다행히도, 그런. 약간 대칭, 아니면 그들에게 그 방법을 착용했습니다. 좋아, 내가 그럴 권리가 확인 적. 우리가 진행하기 전에 지금, 저를 지적하자 어떤 요셉의 숙달 프로그래머의 일종으로 여기서 뭐하고. 그러니 다시이 일을 전혀 방법은 하나 있지만 넘어 없습니다 만 라인 번호, 요셉은 이미이 작업을 수행하기 시작했다 들여 쓰기의 일종. 사실,이 프로그램에 매우 일반적인 규칙입니다 상기 뭔가 스타일을 반복, 반복 할 때와 같은 우리는 각각의 영어 문구 "로 암시하는 우리가 보게 될, "의사의 국제 대회 양말과, 일반 프로그래밍 언어, 그냥 들여 쓰기를하는 것입니다. 스페이스 바를 몇 번을 기록, Tab 키 또는 같은를 누르 아래에 있도록 중첩는 "각 양말에 대한"의 덩어리입니다 해당 루프의 결과로 할 필요가 그거야. 그래서 그 모든 의미 적으로 전달 야입니다. 지금 한편, "는 같은 모양과 크기면" 것이이 "가져가"사실은 더욱 단지 의미 indented 수 있습니다 즉, 해당 조건을 경우 어떻게해야 유일한 해당 분기, 도로에 해당 포크는 사실 사실에 있는지. 그래서 지금 여기, 우리가 제 4 단계에있어, 오른쪽과 왼쪽 식별합니다. 바로 확인했습니다. 나 5 단계 제공합니다. 그리고 기술적으로, 우리는 정말 전화를 할 수 각 문제에 대한 - 당신은 아마 모든 선 경우를 수해야합니다 우리는이 작업을 수행하는거야. JOSEPH : [INAUDIBLE] 데이빗 MALAN : [INAUDIBLE]? 그래, 좋아, 좋아, 우리는 너하고 싶은대로 해. 좋아요, 그럼 5 단계 어떻게 우리가 제대로 양말을해야하나요? 우리가 어떻게 여기, 다음을 수행합니까? 그래? 대상 : 오른쪽 다리를 들어 올려. 데이빗 MALAN : 네, 오른쪽 다리를 들어 올려. 6 단계? 빨리. 그래. 대상 : 양말의 개방 끝을 찾아보세요. 데이빗 MALAN : 네, 양말의 열린 끝을 찾습니다. 너무 좋아요. 그래서 여기, 솔직히, 매우 일반적인 본능은 것 오른쪽 양말에 넣어,하지만 너무 매우 모호합니다. 컴퓨터 나 인간은 의미가 정확히 알고하지 않는 그렇게 여기에 그를 실행하기 위해 않을거야, 난 이해가 안가 주식의 구멍을 발견했다. 일곱 단계? 대상 : 발가락을 터치합니다. 데이빗 MALAN : 터치 발가락. 좋아, 이제 우리는 요 - 오른쪽 모두, 여기 자유를 데려 갈거야. 감사합니다. 여덟 단계? 양말을 착용. 좋아, 지금 우리가 가까이 걸릴 분류 할 수있을만큼 생각 집에서 이것. 좋아, 그럼이 올라간다. 사실, 그건 무슨 뜻인지와 함께 자유를합니다. 양말를 쓰세요. 바로 모든, 지금 아홉 단계? 대상 : 발을 내려 놔. 데이빗 MALAN : 감사합니다. 단계 9, 발을 내려 놓고, 이제, 우리는 반복 할 수 있습니다. So 아마도, 우리는 이제 10 단계로 이동하여 식별 할 말을 할 수 양말을 떠난,하지만 그건 아마도 이미 끝났어. 그리고 그때, 나는이 단계를 반복으로 정렬 할 수 있습니다. 그러나 이런 일들이 질문을 빌고 있습니다. 전에, 마지막으로 우리는 우리가 무언가를 반복하고 싶어 에 대한, 반복적으로, 또 한번, 또 한번 해냈어요 각 루프 말하자면합니다. 그것은 모두를 처리하기 위해 루프를 사용하는 것은시겠습니까? 왼쪽과 오른쪽 양말? 이 작업이 거의 지금처럼 기분 때문에 하나가 하나 시작한다는 사실을 제외하고 동일 여기 시작? 우리 루프를 수행하거나 우리가 쓰기 단계를 보관하지 10 호와 11 호 및 12? 대상 : 루프. 데이빗 MALAN : 그래, 그럼 루프. 사실 난 그냥 계속 말했을 수도 있습니다. 왜이 사건이야? 음,이 실제로 비 분명의 첫 번째입니다 디자인 결정, 그리고 사실, 통계 중 하나와 우리는, 우리와 당신을 위해, 평가가 시작됩니다 프로그램의 품질은 그것이 설계 단지 방법입니다. 당신은 필요한 작업의 최소 금액을 해봤 어 작업의 관점에서 중, 가장 빨리 할 일을 시간 또는 컴퓨터의 실행 시간의 관점에서? 얼마나 많은 작업을 수행는 실행하는 데 걸리는? So 확실하게,이 루프 때문에 수있는 좋은 기회입니다 나는 복사 및 붙여 넣기, 조셉만큼 효과적으로 시작 자마자 순간에 일을 시작 가겠 당신의 낭비는거야 시간, 당신은 이중 표현이 아니 잖아요. 그러나 동시에, 이건 정말 두 특별 케이스, 왼쪽 및 오른쪽. 그리고 이전 반면, 10 또는 20 이상 양말에있을 수 더미, 확실히 50 라인을 가지고하지 의미가 코드는 다음 다음이 양말을 확인 말씀 그럼 다음. 여기, 좀 덜 분명한 사실이야, 난 제안 would 우리는 어느 쪽이든 갈 수. 그것은 단지 루프하지만 우리는 하나, 그 루프를 가질 수 두 번, 아니면 단순히 복사하고 조금 붙여 넣기 할 수 여기에 임무를 확실히 수행 할 순서를 유지해야합니다. 그러나이 프로그램은 말하자면, 버그가 있습니다. 정말에 일부 실수, 오류 또는 코너 케이스가 있습니다 우리가 예상하지 않은, 말한다. 이상이 시간을 잘못 됐어요 없지만, 뭐가 잘못 갈 수 이 프로그램을 실행하는 동안? 청중 : 당신은 어떤 양말이 없습니다. 데이빗 MALAN : 전혀 거기에는 양말이 없었다 그래서. 그럼 그 코너 케이스를 고려하게. 우리가 한 단계를 다시 스크롤 할 수 있다면, 정말 하나였다 단계 아래로 구부리, 사실이 확인 그렇게. 2 단계 당신의 양말을 가져,하지만 그 일치 양말을 찾아 오른쪽 식별합니다. , 우리는 가지 가정을 아주 많이했고, 이쪽은 솔직히, 왜 프로그램이 충돌. 너, 프로그래머가 특정 가정, 같은 한 경우 반드시 양말 또는 반드시이 무슨 일이있을거야 컴퓨터에 남아있는 메모리로, 반드시 버릴거야 하드 드라이브에 남아 디스크 공간이 있어야합니다 - 글쎄, 당신은 이러한 가정을하고, 그게 아니라면 사실, 현실, 누가 가끔 컴퓨터의 알고 어떻게 할 건데? 그리고 때때로, 당신은 회전 해변 공을 때 정확하게 있기 때문 냉동 Windows 또는 같은 일부 프로그래머는 이러한 소위 코너 케이스를 예상하지 않았다. 다른이 프로그램에 잘못 갈 수 있나요? 응? 대상 : 당신은 오른쪽 다리와 왼쪽 다리가 없습니다. 데이빗 MALAN : 좋아요, 오른쪽 다리와 모두를하지 않을 수 있습니다 왼쪽 다리 등이 프로그램은 보편적하지 않을 수 있습니다 적용. 기타? 청중 : 당신은 고아 양말을 주워했을 수 있습니다. 데이빗 MALAN : 고아 양말을 발견했을 수도 있기 때문에, 나는했기 때문 만도 형제가없는 일치하지 않는 양말 이성을 잃었을, 그것은 어져, 아직 세척에, 또는 좋아. 있도록, 너무, 정말 처리되지 않았습니다. 응? 대상 : 이미 양말에있을 수 있습니다. 데이빗 MALAN : 이미 양말에있을 수 있습니다. 사실은 확인하지 않았습니다. 당신은에 양말이없는 경우, 어떻게 진행 선 하나, 둘. 그리고 그게 발생할 수 있습니다. 당신은 정말,에 양말과 함께 잠이와 같은 그것도, 매우 합리적인 코너 케이스. 그리고 아마 다른 사람? 대상 : 양말 안에가 부족합니다. 데이빗 MALAN : 그럼 양말 안에 밖에, 그래서 우리는 더 오류가 없었 즉, 검사. 우리가 예상 한대로 세계의 상태 인 경우 우리는 확인하지 않았습니다. 우리는 실제로 우리가 찾고있는 것을 찾을 수 있다면 우리는 확인하지 않았습니다. 그리고이 말도 안되는 예를 들어 일종의하더라도 양말 참여, 하루의 끝에서,이 정확히입니다 당신은 프로그램을 작성할 때이 있어야 사고 (思考)의 종류, 심지어 PHP에서뿐만 아니라 자바 스크립트에서 C,에서와 같은 스크래치에 그렇지 않으면 때문에 당신의 프로그램이 전시됩니다 그 회전 해변 공의 동등하거나 얻을 수 부정확 한 결과입니다. 우리 서기 요셉에 여기 많은 감사합니다. [박수 갈채] 데이빗 MALAN : 좋아, 그럼에 무슨 사실, 컴퓨터 프로그램? 음,에 잠깐 눈을 보자 대표 여기. 그래서이 C. C는라는 언어로 작성된 프로그램입니다 상당히 요즘하지만, 많은 새로운 언어가 내장되어 그 맨 위로. 사실, PHP, 우리가 해드립니다 웹 중심 언어 중 하나를 학기의 끝으로 사용 자체라는 것을 가지고 통역, C 작성한 프로그램,하지만에 대한 자세한 지금부터 몇 주 인치 그러나이 프로그램이은을 작성하는 의미가 바로 그것입니다 매우 단순에도 불구하고 프로그램입니다. 우리는 여기서 몇 가지 매우 이상한 구문을 가지고,하지만 당신은 할 수 아마 당신이 전에 프로그래밍 적이 경우에도, 추측, 뭐 이 프로그램은 않습니다. 사실, 나는 printf 무엇인지 모르겠지만, 확실히 인쇄 뭔가를 인쇄의 아이디어를 상상 해보세요. 그리고 예,이 프로그램은 궁극적으로 인쇄 것입니다 단어 "안녕, 세계." 지금, 당신은 Mac이나 PC 또는 리눅스 컴퓨터 승률을 가지고 있는지 당신은 자유롭게 일부를 다운로드 이상있는 경우입니다 사용 가능한 소프트웨어, 당신은에서 프로그램을 작성하고 수 지금 꽤 많은 시간 동안 자신의 노트북. 맥 OS에서 예를 들어,라는이 프로그램은이 당신에 보통입니다 맥과 함께 제공 터미널 유틸리티 폴더는 일반적으로 검은 색을 엽니 다 흰색 또는이되는 흰색과 검은 색 창 당신이 명령을 입력 할 수있는 프롬프트. 그래서 실제로 어떤 컴퓨터의 연상 그래픽 사용자 앞에 있어야하는 데 사용 인터페이스, GUI를가 함께했다. 이제 Windows에서, 당신은 양식에 비슷한 메커니즘을 가지고 명령 프롬프트의. 그러나 내가 여기서 뭘하는거야, 그럼, 최대 영업합니다 텍스트 편집기 다시하기 때문에 같은 프로그램 우리는에 사용 된 의사 잠시 전에, 내가 먼저 가서 및 거예요 처음 프로그램을 작성합니다. stdio.h, 그게 무슨 뜻인지 몰라도, int는 주를 포함 무효, 그게 무슨 뜻인지, 그리고 여기 중간에, printf ( "안녕하세요, 세계."). 그리고 가까운 견적, 괄호, 세미콜론을 닫습니다. 지금은 앞서 불과 눌러 명령-S 갈거야. 난 갈거야 가서 hello.c로 저장하기 때문에 국제 대회 C 프로그래밍의 세계는 파일 점 C를 이름입니다. 내 말은, 그저 존 하버드의 홈 디렉토리에 넣을 거예요 여기에 저장을 클릭하고 지금은이에 갈거야 다시 검은 색과 흰색 프롬프트입니다 터미널 창, 어디 명령을 실행할 수 있습니다. 안하여 이름을 입력하여 프로그램을 실행할 수 일반적인 의미에서 두 번 클릭 아이콘이 표시됩니다. 그러나 문제는 C에 관한 것은 그 C 첫째 같은 언어 이 양식에 제공, 뭔가 소스 코드를했다. 영어처럼 조금 보이지만이 일 요셉의 의사보다 영어처럼 확실히 덜 순간 전. 조금 더 마법입니다. 그것은 어떤 패턴이나 규칙을 따르도록 것 같습니다. 나는 중괄호, 세미콜론, 시세,이 있다는 사실 각도 교정기, 컴퓨터 같은 느낌이 함께 와서 언어의 종류. 내가이 터미널 창에, 이제 시작한다면, 나는을 실행할 수 있습니다 그 소스 코드를 변환하는거야 명령은 무슨 일이 객체 코드를했다. 영어 - 같은 구문 제로로 전환하는 건 쉬운 일이 아니죠 과 사랑하는 사람들이 같은 제로의 종류와 사람들 우리 수요일에 대해 얘기. 자, 꽝이라는 명령을 실행거야. 주이에 대한 자세한 올하지만 프로그램과 함께 나는 모든것에 hello.c 변환 할 수있는 제로와 것​​들. 지금,이 명령을 실행했습니다. 그때 꽝를 실행하고 한이 파일을 직접 실행했다 제가 좀 전에 만든 hello.c, 그리고라고 아무 일도 것 같습니다 없습니다. 내 홈 디렉토리 주위에 찌르고한다면 실제로, 내가 볼 것 이 바보라는 이름의 프로그램 a.out 지금은 있는지 확인하십시오. 에 쓸 때 단지 프로그램의 기본 이름입니다 C. 우리는 결국이 무시할 수 있지만, a.out은 프로그램의 이름은 그냥 제로와 사람들로 변환. 그리고 지금은 그게 다의 제로와 사람, 나의 맥,이 경우에, 또는 귀하의 Windows PC는 그 비트, 사람들을 이해할 수 제로와 사람들. 그리고 제가 입력을 쳤을 때 나는 "여보세요, 세계!"참조 하지만, 조금은 버그가 있습니다. 꽤 말 안 했어 "여보세요, 세계 : 공기 : - jharvard." 에어는 내 컴퓨터의 이름입니다. Jharvard는 계정의 이름, 그러니까 제가 무슨 짓 명확하게 프로그램에서 생략? 줄 바꿈의 일부 종류. 나는 입력의 동등한 또는 캐리지 리턴를 치지 않았어요 이 방법은 다시 그런걸 컴퓨터가 할 수있는 사실 선언과도 같은 것입니다 만 당신이해야 할 말하는 일을 해요. 그리고 컴퓨터를 말해주지 않았다는 게 사실 이동 다음 행으로 커서 - 음, 확실히 그렇게 만 않을거야 presumptuously 나를 위해. 내 프로그램으로 돌아가서, 내가 말한다면 \ N - 따라서 \ N, 우리가 곧 보게 될의 방법입니다 새 줄 문자, 물건 같은 이상한 일을 대표하는 그렇지 않으면 결과가 될 것입니다 Enter 키를 눌러. 하지만 지금은 그냥 Enter 키를 눌러 있다는 것 알고 세상은 결정의 코드가 이상한 볼 만 확인하므로, 알 한 줄에 유지하는 상황이 더 예뻐 유지하는지,합시다 단지 \ n은 새로운 라인을 나타냅니다 말한다. 내 파일을 저장할 보자, 터미널 창으로 돌아 이동 다시 실행 a.out이 입력합니다. 아직 버그가 있지​​만, 왜? 대상 : [안 들리게] 데이빗 MALAN : 예, 그래서 제가 다시 컴파일해야합니다. 그래서 프로그램을 컴파일하는 것은 단지 소스에서 변환을 의미합니다 제로과 사랑하는 사람들에 대한 개체 코드, 소스 코드에 코드입니다. 지금,이 텍스트 편집기에서 저장을 누르 있다는 단순한 사실은 없다 처음 필요하기 때문에 이러한 제로과 사랑하는 사람들에 베어링 어이 꽝 말해, 코드의 해당 줄을 변경 한 소스 코드입니다. 당신은 a.out을 다시 생성해야합니다. 아무 일도 것 같습니다 없지만, 컴퓨터에 명령 줄에서, 그래서 아무 일도 없을 때, 말씀 그게 보통 모든 것이 잘되고 있다는 것을 의미합니다. 무슨 일이 일어날 않는 경우는 의미 당신은 일반적으로 엉망이에요. 그럼 이제 a.out을하​​고, 실제로 지금,이 해 "여보세요, 세계. " 그리고 지금, 무슨 일이 제로와 사람들 은요? 사실 그 어디 있나? 저기, 난 진짜 주변에 물건의 단지 종류의 수 없습니다 효율적으로. 나 텍스트 편집기를 열어 보자. 여기 a.out입니다. 내가 가서이를 열어 보자,이 무리가 무엇인지 내 이 프로그램은 것 같습니다. 그래서, 오픈 hello.c 아니라, a.out했습니다. 그러나 내 프로그램 게 뭔지 실제로하지 않습니다. 분명이 알파벳 문자 어떤 종류의 것입니다. 나는 제로과 사랑하는 사람들이 더를 볼 수 없습니다,이는 a.out은 프로그램이기 때문이다. 제로와 사람 - 이름에서 알 수 있듯이하지만 텍스트 편집기, 그게 Windows에서 메모장, 그냥 텍스트 편집기입니다처럼 있으므로 그건 로 그 제로와 사람의 모든 혼란 그들은더라도, 뭐? ASCII 문자. 그럼 수요일에 기억, 우리가 생각 해낸 의 문자에 숫자 또는 비트의 임의의 매핑, 알파벳과 구두점 기호와 같은. 그것이 텍스트 편집기 야, 텍스트 편집기, misinterpreting 수 있습니다 할 수 있겠 제로와 사람들의 이러한 패턴 같은 인쇄 단어, "안녕하세요, 세계." 그것은을 표시 있어요 ASCII로, 그리고 조금 지저분 보이는 이유입니다. 지금, 여기에 정확성의 일부 힌트가 있습니다. 제가 강조하는 경우주의,,여보세요 "실제로의 힌트가 있습니다 세상이, "그럼 어디 그 프로그램에 문장 제가 쓴 곡. 그러나가 가서 지금은 다른 프로그램을 보자. 이 우리가 자주 사용됩니다가 아니라 또한 함께 제공 Mac과는 CS50 기기의 내부됩니다. 내가 가서 XXD라는 프로그램을 열어 보자. 예전에, 대부분의 프로그램은 매우 cryptically 선정되었습니다 그래서 추세가 계속됩니다. 그러나-B는 바이너리로이 프로그램을 뱉어 의미합니다. 를 실행하지 마십시오. 제로 및보다는 나에게 표시하고,이 C입니다 우리가 쓴 프로그램입니다. 자, 여기 인간으로, 솔직히 아무 생각이없는 것을 제로와 사람들의 이러한 다양한 패턴이 나타냅니다. 위로 하루에, 내 펀치 카드 또는 같은과 겠어 실제로 어떤 이러한 다양한 패턴을 볼 수 있습니다 01111000, 실제로 나타냅니다. 또는 더 나쁜, 내가 펀칭 또는 만들기를 수행해야 제로과 사랑하는 사람들이 이러한 패턴. 하지만 지금은 그 CPU, 인텔 내부, 그래서 신앙에 걸릴 요즘 우리 모든 컴퓨터의 내부, 이야기, 알고 이러한 제로와 사람을 해석하는 방법. 그리고 일부 제로와 것​​들은 인쇄를 의미합니다. 일부 제로와 동전은 소리를 재생 의미합니다. 일부 0 및 동전은 키보드에서 사용자의 입력을 의미합니다. 있는데, 다른 패턴의 모든 종류가 있어요,하지만 다행히도 인간으로 만 generally에 프로그래밍에 대해 걱정할 필요가 이 상당히 높은 수준. 그리고, 다른 CS 수업에 더 깊게 내려 탐구하고 볼 수 있습니다 그 제로와 것​​과 같은 일에, 또는 아직 아직 다른 것들. 그래서 지금의이 변환 보자. 의는 뭔가 거리에 C에서 매우 빨리 이동하고 이동하자 거기에, 좀 더 재미있는, 좀 더 편안 우리는 애니메이션과 소리와 그런 식을 다시 가져올 수 분명이 우리를 탈출 한 상당히 원시적 인 인터페이스를 제공합니다. 따라서 C에서이 같은 프로그램은이 일에 지금 표시 할 수 있습니다 프로그래밍 언어는 스크래치는 다음과했다. 이 작성된이 안녕하세요 세계 프로그램의 동일합니다 스크래치이라는 퍼즐 조각 스타일 언어입니다. 그럼 내가 가서이 매우 프로그램을 열 수 있습니다. 그게 다시 스크래치라고. 그것은 자유롭게 사용할 수 있으며,이 같은 일이 우리 에서 오늘 시작했다. 그래서 여기에 스크래치이며, 그것은 몇 가지로 구분 있어요 다른 조각. 맨 오른쪽 상단에, 우리는 소위 단계를 가지고 있고, 실제로, 그 어디 쿠키 단지 조금 전에 수행했습니다. 그리고 그 무대에 가지 스프라이트, 캐릭터, 또는라고합니다 개체, 또는 단체. 정말 당신이 생각 상관하지만,하지 않습니다 프로그램, 이동 가지이며,이 경우에,이 우리 학생이 쓴 프로그램은 진저 브레드 몇가 쿠키, 원형 쿠키 몇의 전체 무리 마음, 안경의 모든것. 그 또는 그녀가 그 각각의 프로그램 할 수 있습니다이 때문에 별도로 개별 문자. 이제 어떻게하면 이러한 문자를 프로그래밍한다는 것은 무슨 뜻입니까? 음, 내가 가서이 왼쪽 쿠키를 클릭하게 여기 상단 왼쪽으로 스크롤합니다. 내 화면의 왼쪽 상단에 현재의 것입니다 스크립트 영역 소위. 이것은 처음에는 빈 슬레이트의 일종이다 내가 할 수있는로 솔직히, 어떻게 퍼즐 조각을 드래그 앤 드롭 그들은 말을 정확히. 퍼즐 조각의 스택의 맨 상단에있는 단어입니다 당신은 전에 몰랐다는거야 녹색 깃발이 클릭했을 때, 그리고 경우, 그 쿠키 노래를 시작하는 방법은, 문자 그대로, 클릭 한 녹색 깃발. 그럼 왼쪽 상단에서 해당 퍼즐 조각이 의미 할 때 인간의 클릭 녹색 깃발은 어떻게 진행 다음 사항. 지금, 그들은 쿠키는 어떻게 진행 거죠? 정말 아직이를 해석하는 방법을 알고 있지만하지 않습니다 쿠키는 분명 제로의 홈을 설정 한 후 기다렸다 3 초, 그럼 이제 다음 하나의 그룹을 변경 그 잠깐 기다려, 다음이 변경은 하나 홈을 다시. 그리고이 사실 버그 약간의 모양,해야하지 그건 않는 또 한번, 또 한번의 홈을 변경해야 다른 곳에서 변경하지만, 이러한 일련의 단계입니다 무엇하고 특정 쿠키의 동작을 지시. 그럼 실제로 다시 스크롤하고 무언가를하지 말자 아직 꽤 복잡. 내가 가서 파일, 새로 만들기를 가자, 깨끗한 슬레이트를. 이제, 난 정말 빈 스크립트 영역, 빈 무대를 가질 우리의 기본 스프라이트의 스크래치가있는, 그리고 왼쪽 상단에 내 화면에 내가 그들의의 모든 팔레트있어 사용 가능한 퍼즐 조각. 그리고 우리는이 일의 거의 많은 통과하지 않습니다 오늘날 때문에, 다시, 대부분의 자기 설명하지만, 우리는 것 분류와 유사성을 지적하려고 이러한 미래의 언어로 우리는 잠수 할 수있는. 그리고 왼쪽 상단 여기를 그린 플래그가 클릭했을 때 처음입니다 그러니까 네 말은 조금 축소, 여기에이를 끌어 보자. 나는 녹색 깃발을 클릭하는 경우, 아무것도 정말 일이 없기 때문에 내가 어떤 논리를 첨부하지 않은 모든 문장은 이렇게에, 말씀 그 녹색 깃발, 그래서 내게까지 가자 여기에 카테고리입니다. 나는 제어 카테고리에 현재입니다. 내가 대신 외모 카테고리에 가서 가야겠다 사물의 전체 무리는 말 말 것이 여기있다 색상, 스위치 제복을 변경 생각해보십시오. 그럼 당신은 의상과 바보 짓을 할 수 소리와 같은. 내가 가서 말하고 말 보죠 드래그로 지금 발견 이 퍼즐 조각을 드롭, 그것은 래치하려고 할거야 해당 모양. 그래서 가서 마우스를 이동시킬 때, 그들은 잠금 함께, 그리고 지금은 여기에 가서 녹색 깃발을 클릭하면하면 그 속에 무엇 때문에 고양이는 실제로 인사 않습니다 이 하얀 상자. 우리는 곧이 하얀 상자라는 것을 것을 볼 수 있습니다 인수 또는 매개 변수입니다. 그것은이 경우의 동작을 변경하는 방법 조각을 퍼즐하지만 내가 말 정확히 무슨 말을하려는 경우 전, 인사, 세계, 당장 여기로 돌아갈 수 재생을 클릭하고, "안녕, 세계"의 말을합니다. 그래서 우리는 문자 그대로 지금 프로그래밍되어 있습니다. 이 프로그램의 모든 강력한 아니지만, 적어도 그것은에서 보이는 것보다 좀 더 강력한 뭔가가 이와 같은 첫 눈. 그리고 우리는 매우 신속하게 모든 더 많은 표현 얻을 수 있습니다 스크래치에서 다른 언어처럼 모든이 있기 때문에 문장의 종류, 그냥 말이나 인쇄 무언가를하지만, 우리가 함께 본대로, 대기 같은 일을 할 수 쿠키, 초 중 일부 번호입니다. 당신은 스크래치의 환경에서 사운드를 재생할 수 있습니다 만 당신은 일반 컴퓨터 프로그램 재생 소리의 수처럼. 당신은 부울 표현식을 호출 것을 확인하실 수 있습니다. 그래서 지금, 우리의 툴킷 일부 용어에 추가 시작하자 실제로 요셉과 제가했던 예에 관한 그 여기에 양말을 갖추고 있습니다. 그래서 진술은 사실에 대한 진술입니다. 이 작업을 수행합니다. 일을하는 요정에 대한 지침, 또는 저 인간. 부울 표현식은 값을 가지고 무언가이다 소위 진리 중 제로 또는의 가치, 허위 또는 사실, 설정 또는, 더 나 아가 없습니다. 정말이 생각 상관 있지만, 그건하지 않습니다 진 상태입니다. 네이트 수요일의 동영상에서 설명한대로, 두 다른 것들. 따라서 스크래치에 부울 표현식은 볼 일 여기에 파란색 물체와 같은,이 경우에, 질문 마크는이 질문을하는거야 것을 의미한다. 고양이, 또는 스프라이트가 마우스 포인터를 만져 있습니까? 그래서이 무슨 스크래치 블록의 한 예입니다 우리는 예 또는 아니오 확인도 할 수 있도록하여,을 터치 마우스입니다 화면에 스프라이트? 당신은 실제로 일을하려는 경우 그리고이 유용 할 수 있습니다 마우스로. 부울 표현식 외에도, 우리는 일이 마우스가 다운처럼 있으므로 그런 종류의를 감지 할 수 있습니다 뿐만 아니라 의문을 제기했다. 우리는 당신이 실제로 원하는 경우 수학을하고,이 수 중 순수보다 이것에 대한 사실에 대한 흥미를 유도 해 더 많은 사용 우리가 보게 될 산술. 의사 임의성 및 프로그램을 생각하는 것으로 또는 일부 임의 값에 따라 다르게 행동, 그리고 우리는 같은 부울 표현 같은 것을하고. 당신은 실제로 두 값을 확인하고 싶은 경우, 우리는에서 볼 수 있습니다 이 경우 우리가 실제로 테스트 할 수있는 지우고 사실이 사실입니다. 예를 들어, 양말의 경우, 나는에 한 수 맨 끝 왼쪽 양말이 켜져있는 경우 질문과 오른쪽 주먹으로 치기 에 종료됩니다. 당신은 모든 일에 완료되므로 그 것 거기에 기회를 제공합니다. 그러니 어서 가서이 함께의 일부를 조각 봅시다 더 많은 예제를 몇로 이동 이것보다 설득력. 그럼 내가 여기 가서 예제의 일부를 열어 그는 항상뿐만 아니라 코스의 웹 사이트에이 될 것이며 hello2을 엽니 다. 그래서 여기 hello2에서 우리는 몇을하고 프로그램이 일,하지만는 효과적으로 우리가 수도로 그것을 짓도 안하고있어. 그래서 여기가 두 번째에 대해 "여보세요, 세계"라는 한 후 대기 잠시. 그리고 다시 그런 짓을하고 다시 수행합니다. 나는 녹색 깃발을 클릭하면, 스크래치 "안녕, 세계 말합니다. 안녕하세요, 세계. 안녕하세요, 세계. "그리고, 이건 이제 분명 후보입니다 개선. 한계 개선은 무엇, 바라건대, 우리가 할 수 있어요 스크래치는 개념을 지원하는 경우 이제 만드나요? 루프의 일부 종류. 반복의 일부 종류, 이제, 좋은 것, 그래서 나에게 알려 실제로 그렇게 해보십시오. 내가 실제로 가서이 이동하세요. 당신이 추가 할 수 있기 때문에 그렇게 통지는 쉽게 블록을 분리 할 수 첨부. 나, 제어 아래 가서 여기까지 스크롤, 그리고 정말로하자 이 퍼즐 조각이있다, 반복과 영원 영원히 바랍니다. 따라서 반복 구조를 표현하는 여러 가지 방법이 있어요 스크래치 인치 아마도 여기에 원하는 영원히 I 있기 때문이 아닙니다 이 세 번 그런 일이 없었 으면 좋겠어, 아마도 반복합니다. 따라서 드래그하고 드롭, 여기에 반복 나를 끌어하게하고, 지금은 대신 "안녕, 세계"를 세 차례에 걸쳐 말하는, 내가 여기서이 퍼즐 조각을 드래그 보자. 그리고 적합하지 않는 것으로하더라도 프로그램은 스마트입니다 가 작성 성장 실현 할 수있을만큼, 그래서입니다 모양 그 문제가 아닌 절대 크기입니다. 내가 세 반복을 변경하고 지금 보내 봅시다 앞서뿐만 아니라 거기에 하나 잠깐 드래그합니다. 그것은뿐만 아니라 스냅인을거야, 그래서 지금은 드래그거야 여기로와 이상이 사람들은 그들을 때문에 던져 I 더 이상 필요하지 않습니다. 나 축소 지금 녹색 깃발을 클릭하자, 우리는이 내가 전에, 더 나은 예측과 같은 프로그램이 있지만, 당신이 상상할 수 있기 때문에 설계 방법을 나쁜이 프로그램 꼭해야만한다면, 확실히 심미적, 얻을 것 복사 및 붙여 넣기, 복사 및 붙여 넣기를 시작하거나 드래그 또 한번, 또 한번 같은 이놈의 물건을 놓게 요. 이제 단순히로 인쇄, 화면에 물건을 말하는 흥분 화면은 정말 모든 있으니, 열 못하게 여기 세번째 분산. 당신이 보게 될 그리고 지금,이 신속하게 성가신 가져올 게요 - [야옹] 데이빗 MALAN : -뿐만 아니라 귀여운데입니다. [야옹] 데이빗 MALAN는 : 좋아, 그럼 더 나은, 우리는 확실히 사용할 수 반복에이를 chunking의 동일한 전환 구조,하지만 여전히 그게 더 재미있게 만들어 보자. , 제가​​ 가서 여기 사분의 일 변동을 열어 보자 어디 한 걸음 더 나아가 일을. 따라서이에 따라, 바보이 처음하는 것은 아니지만, 눈에 무슨 일이 프로그램은 뭘하려는 거죠? 그것은 한 번 냥에 간다. 이유는 무엇입니까? 음, 하나는, 내가 아는 한, 두보다 항상 작습니다. 임의성 대한 개념은 여기 없습니다. 나는 그대로 하드 코딩 된 1, 2 봤지만 이건입니다 예를 들어 지금의 실제로 부울 식을 사용합니다. 대부분 요셉이 자신의 의사에 그랬던 것처럼 좋아, 들여 쓰기 IF 여기 우리가 가지고 일치 양말은 다음을 찾을 수 표현 하나 그리고는 이내 두되어있는 경우 - 그리고 사실 우리는, 들여 쓰기가 좀 있습니다 보라색은 약간 오른쪽으로 들여 쓰기되는 - 그런 다음 소리 냥을 재생거야. 자,이 경우에, 그건이 항상 적은 두이기 때문에, 조건의 폐기물의 종류입니다. 그러나 우리는 다른 일을에 연결하기 위해, 우리는 보게 될 수 있습니다 이 하나, 둘, 지금 자리 표시 자. 그럼 이제 이러한 몇 가지의 예를 들어 다섯 진행하게 한가하고이 프로그램이하려는 일을 좀 봐. 이제, 영어 문장이 어떻게 수행 이 프로그램은 행동? 잠재 고객 : 반 시간을 Meows. 데이빗 MALAN : 시간의 야옹의 절반이 때문에이 방식입니다 아주 간단한 아이디어를 전달. 여기 몇 가지 불평등을 사용하고 발생하더라도 어떤 숫자로,이 단지 programmatical입니다 동전 헤드를 오면 말하는 방법, 정확한 방법으로, 가지 앞서와 냥. 또는 반대로하면 동전 냥은 꼬리를하지 않는 올라옵니다. 이 경우에는, 우리가 그걸 어떻게 표현합니까? 우리는 1 ~ 10까지 임의의 숫자를 선택하고 할께 경우 번호가 6 이하이고, 가서 냥. 그리고 여기에 어떻게 들어 왔어? 그럼 다시, 그냥 끌어 놓기 등을 발견 가지 장소에 래치. 이제이 임의성이 성공한다면 보자. 내가 가서 녹색 깃발을 클릭 봅시다. [야옹] 데이빗 MALAN : 좋습니다. [야옹] 데이빗 MALAN : 좋습니다. 좋아요, 그럼 우리가 효과적으로 헤드, 헤드, 꼬리도. 꼬리. [야옹] 데이빗 MALAN : 앞면. [야옹] 데이빗 MALAN : 좋아요. 단지 통계적으로 당신이 나쁜를받을 때 항상 어색한 실행하고, 전부 머리, 그리고 프로그램이 실제로하지 않습니다 당신이 좋을대로 작동합니다. 하지만 이번에는, 그건 효과가 있으며, 우리가 그랬다면 우리는 갖고있는 것 같다 시간이 무한한 번호, 50 % 확률. 지금 다시 그 재미, 단지 고양이를 만들수 없어 냥, 그래서 우리가이 좀 더 발전 할 수 있는지 보자고 여기 버전 육인치 이제, 우리는 정말 귀찮을 버전이 - [몇 초마다를 MEOWS] 등이이 알려진 곳입니다, 일반, - : 데이비드 MALAN 무한 루프. 이 경우 그럼 무한 루프가 잘못 느낀다. 확실히 무한 아직 나쁜 소리를 시작하려고하고있어 루프는 항상 나쁘지 않아. 당신이 물었다 컴퓨터 프로그램에 환경을 생각 할 수 실제로 무한 루프까요? 응? 대상 : 당신은 조건을 확인하려는 경우. 데이빗 MALAN : 네, 당신은 조건을 계속 확인하고 싶을 때? 예를 들면? 대상 : [안 들리게] 데이빗 MALAN : 좋아, 좋아, 당신은 몇 가지 프로그램을 가지고 있다면, 어떤 당신이하기 위해 지속적으로 원하는 가정 자동화 문제의 종류 모니터는 어떤 경우가 있습니다. 불이 있습니까? 어쩌면 당신은 타이머를 가지고 있고, 때문에 불이 있습니다 당신이이 꺼져 가고 싶은, 당신이 뭔가를해야 할 수도 있습니다 또 한번, 또 한번. 그리고 사실은, 너희가 타이머의 한 사람 말하기 컴퓨터 나 디지털 시계의 시계는, 그입니다 무한 루프. 가 지속적으로이기 때문에이 시간을 업데이트하고 있습니다 확인하고 확인하고 확인하면 시간이 변경되었습니다 그래서 경우, 오, 맙소사. 시계가 드디어 바뀌 었어. 그것은 당신에게 해당 값을 표시해야합니다. 시간이 무한 루프의 대부분은 실수되도록 반면, 또는 가난한 디자인 결정 적어도 가끔 사람들은 어떻게 가치가 있습니다. 음, hello7을 추가로 여기서 승진 까. 이제 프로그램은 좀 더 인터랙티브하게됩니다. 나를 다시 여기에 확대하자, 그리고, 좋은 건지입니다 스크래치에 대해. 그리고 우리는 분명, 스크래치, 오늘과에 수 할 수 있도록 최선을 다하겠습니다 다음 주 문제 설정합니다. 그러나 월요일에, 우리는 그런 일이, 여기있는이 프로그램에서 C.에 뛰어 영원히 다음. 마우스 포인터를 만져 경우 - 이제, 누구에요 여기 라뇨? 아래에 내려 선택된 그 자 및 통지 바로 고양이, 요정 하나 때문에이 스크립트가이 프로그램은 특별히 그에게 적용됩니다. 그 고양이가 마우스 포인터에 닿으면, 그때는거야 이을 재생하고 2 초 간 대기하고 할 다음 광고 에드를 반복합니다. 그러니 어서 가서 플레이 버튼을 눌러 보자. 아무 변화가 없습니다,하지만 난 애완 동물하려면 고양이 지금은 간단하게 할 수 있습니다. [야옹] 데이빗 MALAN : 멋지. [야옹] 데이빗 MALAN : 네, 덜 귀찮게하지만, 또한 지루 도착 그러니 이동하고 우리가 삽입 할 수없는 경우 봅시다 좀 더 논리. 그 예를 들어 일곱 살때. 다음 예 8의, 우리는가는거야 싫다면 조건을 소개합니다. 당신이 가서 할 수있는, 도로의 문자 포크를 좋아 하죠 왼쪽 또는 바로 갈 수 프로그래밍의 조건 우리는 C를 볼 수 있습니다 언어 스크래치와 같은, 또는, 당신이 수행 할 수 있습니다 이 다른 누군가 구축을 통해 한 방향 또는 다른에서 이동합니다. 꽤 그대로, 마우스 포인터를 터치하면이 일부 사운드를 재생합니다, 그것을 다른이 다른 게임을거야 소리, 냥. 당신은이 소리의 이름에서 추측 할 수 있다면, 당신은 할 수 아마도이 프로그램이 만들어 보도록하는 의미하는지는 뻔하지 의 생각. 이 고양이는 즐겁게 야옹하고 있습니다. [야옹] 데이빗 MALAN : 행복한,하지만하지 않습니다 매우 만지는 것을 좋아합니다. [, 누군가] 데이빗 MALAN이 : 그럼 이제 우리는 당신 소리하는 고양이가 있습니다. 자, 자, 고양이와 마지막 예를 들어, 및 의 오픈 버전이 여기에 아홉 보자. 이제, 우리는 그럴 수 그 다음 가장 성가신 소리가 발견, 우리가 무슨 해마 나 여기 바다 사자가 있으므로 다음을 수행하십시오. [SEAL 껍질] 데이빗 MALAN : 당신이 알아낼 때까지 좋아, 그럼이 계속하는 방법 이 프로그램은 작동합니다. 그래서 이번엔이 동물은 두 스크립트를 가지고 있으며, 뭐야 여기에 흥미로운이 스크립트를 실행하려고하는 것입니다 병렬 인치 한 녹색 깃발이있는 사람들이 시작 모두 클릭 그럼 때문에, 이런 식으로 가고, 그리고 두 프로그램은 게재를 시작 그들은 영원히 반복하고 한 번에 경우에도 마찬가지입니다. 그래서 상단 스크립트에서, 좀 논리가 있습니다. 그 분은 어떤 기능을 제공합니까? [SEAL 껍질] 대상 : [안 들리게] 데이빗 MALAN : 그건 어떤 경우에는? [SEAL 껍질] 대상 : 제로에 음소거 경우에는 재생을 유지거야 소리. [SEAL 껍질] 데이빗 MALAN : 그래, 좋아. 그래서,이 주황색 일이 0이 뭐든지간에, 음소거 IF 그 다음에 바다 사자 사운드를 재생하고 생각 "오, 안녕하세요, "2 초 동안. 자, 음소거가 무엇인지 모르지만, 영을 불러내 어 허위 또는 해제의 생각입니다. 음소거이 false면, 그래서 그렇지 않으면 음소거, 사운드를 재생 유지. 좋아요, 우리가이 상황을 어떻게 중지합니까? 음, 아래에서 두 번째 스크립트를 살펴 보자. 두 번째 스크립트는 제로에 음소거 설정 말합니다. 또한 오렌지에 통보, 스크래치 그 색 건 무슨 뜻하므로 같은 그늘 블록 그건 종류의 경우 의 논리적 관련. 음소거까지 톱이 주황색였다처럼 있으므로 음소거 여기 오렌지 블록에서 언급. 그러나 이것은, 그래서 그냥 좋아하는 변수 할당이 당신이 가진 프로그래밍에 대수, 당신은, x와 y 및 z가 변수,하지만 일반적으로 야 - 순간 그림 방법에 대한하자의 일시 정지 이 개 짖는 소리를 중지합니다. 어떻게이 작업을 수행합니까? [SEAL 껍질] 데이빗 MALAN : 좋습니다. 이 중단되었습니다. 좋아요. 이 변수 X, Y 및 Z를 그냥 대수에서와 같이하지만,에 프로그래밍, X, Y 및 Z와 같은 변수를 갖는 것은 일반적으로 이 모든 표현에 가지 않기 때문에 찌푸렸다. 그들은 어떠한 의미 론적 의미가 없다, 그래서 대부분의의 프로그래밍 언어는 변수가 전체 수 본격적인 이름이나 단어 나 문구는 말을, 음소거 좋아 어떤 사람들은 않습니다. 그래서이 두 번째 스크립트는 영원히 듣고 있으며, 말 키, 키보드 키 공간 인 경우 물음표, 누르면. 너무 부울 표현식과 조건이있어 중 사실 또는 허위 질문에 대답하려고, 그런 다음 스페이스 키를 누르면 그 안에 가지고 음소거이 0 인 경우, 제로에 음소거 설정 싫다면, 하나 음소거 설정합니다. 제가 얼마나 그래서 다른 도로에 포크 및 통지 두 조건 IF 중첩, 검사의 방법 이죠 그렇다면, 나도이 가고 싶은 때문에 스페이스 바는 누르고 방법 또는 방법입니다. 그리고 어떻게가 음소거의 값을 반전합니까? 나는 0 확인해야? 그렇다면, 한번 만들어 다른이 제로 따라서 전환 할 수 있도록 그 두 상태. 그래, 우리는 이러한 기본 중 일부가 구조. 우리가 너무, 부울 식을 가지고 있고, 실현이는 모든이 익숙하지. 사실, 여기 하버드 과정의 CS50에 대한 간단한 스크린 샷입니다 쇼핑 도구 및 확인란을 가지고 거기에 모든 웹 사이트 그리고 드롭 다운 메뉴, 정말이 시간은, 사용 된 부울 표현. 여기이 경우, 당신은 옆에있는 확인란을 클릭하면 보다 크거나 4.5 동등, 또는 같은 옆 과정 교직원, 당신은 부울 식을 지정하고 있습니다. 나 한테 그런 표현에 해당하는 과정을 보여줍니다. 또는 오른쪽으로, 난 코스와 충돌하지 않습니다 확인되는 경우, 예, 당신이 확인하고 싶은 복용 그 조건은 다른 당신은 그걸 무시하고 싶습니다. 그래서 부울 표현식은 주변의 모든 종류가 있지만 때 우리는 경우, 조건 IF 여부, 조건에 넣어 ELSEs, 또는 우리는 깊은 시뮬레이션 할 수 있습니다 레벨 다른 누군가 싫다면 IF - 그 친구는 3 원 상태의 일종 이죠. 이 방법과이 방법 또는 길을 갈 수 있습니다. 우리는 서로 다른 방향으로 이동 둥지 일들을 할 수 있습니다. 따라서 스크래치 영원히 같이,이 루프가 있습니다. 그것은 반복 10 살이 기능 몇 가지가 있습니다 시간 유한 수. 우리는이 경우에 따라서 변수를 설정하는 지금 수 있습니다 나는 예를 들어,라는 변수 양말을 선언했습니다. 나는 0으로 초기화 한 결과, 그 또 다른 방향입니다 우리가 요셉과 함께 여기 수 밖에 없었다으로서, 어쩌면 내가 내가가 얼마나 많은 양말을 추적하고 종료 그 변수의 값이 2 프로그램입니다. 그거 일반화의 종류의 다른 방법이있을 것 문제와 또 한번, 또 한번 짓을. 그럼, 가서 지금은 몇 새로운 것들을 소개하겠습니다. 이전 프로그래밍 경험을 가진 분들이 않도록 언어의 많은 배열 또는 벡터 또는 가지고 있다는 것을 알고 목록, 그리고 실제로, 스크래치도 같이 있습니다. 그래서 우리는 여기에서 다음 단계로 일을 할 수없는 경우 보자. 내가이 퍼즐 조각을 함께 능력, 지금이있는 경우 변수에 단어 나 숫자 같은 정보를 추가,,, 난 할 수있어 물건을 축적하기 시작한다. 그런데, 게임 같은 것을 사실은 매우 적절한 것입니다 하나가 돌아 다니는 것 같은데 롤 플레잉 게임 일부 환상의 세계는 일을 따기, 물건을 수집 포인트를 적립하거나, 좋아. 당신은 목록의 일부 가지를 추적하려는 수 실제로, 여기서 그런 과거의 학생 중 하나가 함께했던 일이야 무슨 일이 Fruitcraft RPG했다. 그럼 내가 가서 여기에이 일을 열 수 있으며,의 Fruitcraft, 우리는 상단에이 세상을 수 있습니다. 그럼 내가 가서 녹색 깃발을 클릭 보자. 왼쪽 상단에있는 공지 사항이 목록의 어떤 종류의 것입니다. 그 우리가 배열을 전화 나할지으로 스크래치에 구현있어 목록, 이제 우리는이 작은 애니메이션을 갖추고 있습니다. 우리는이 쿠키 사랑 이야기와 이전 시작 했어요, 그래서 마찬가지로 그리고 우리는 이제 우리가 할 수 있습니다, 고양이와 바다 사자 진출 더 많은 인터랙티브 일. 그리고이 작은 파란 사람은 그 사람 주위에 이동을 시작할 수 있습니다 여기 작은 집. 그가 여기로 출구를 가지고있는 것 그래서 보이는, 내가 사용하므로 화살표 키 위, 아래, 오른쪽을 떠났다. 그리고 지금은 외부 해요, 그래서 여기가 있어요 보자. 최대한 빨리 손으로 실제로 오렌지 것 같은데, 그리고 오렌지, 그것은 내 인벤토리에 plopped됩니다. 나는 체리에 여기에 가면, 지금은 게 다른 내 인벤토리 인치 그리고 이쪽은, 이제, 모든 좋고 귀여운이지만, 방법에 대한 생각 구현됩니다. 음, 우리는 목록의 개념을 가지고, 그 무리가 있어요 방금 추가 당신이 추가하고 싶은 말은하는 퍼즐 조각 오렌지, 체리를 추가합니다. 지금,이 작은 파란 놈은 뭐하는 거지? 글쎄, 그는 요정입니다. 아마도, 오렌지와 체리 - 그들은 자신은 별도의 스프라이트했다. 그리고 부울 표현에 조건을 사용하여 학생은 아마도 푸른 남자가 있다면 표현 할 수있었습니다 터치 체리는 자신에게 단어 체리를 추가 재고하고 또한 벚꽃 요정을 숨길 수 있습니다. 그래서 후드 아래, 아마 아직도 벚꽃이 있습니다 이 요정. 우리는 효율적으로 투명하게 할 얘기 했잖아요. 내가 바로 여기 계속 걸어라면, 우리는 또한이 작업을 수행 할 수 있습니다 제가 가서 기호를 읽을 수 근위 것. 푸른 사람이 기호를 터치하면 그럼,이 사람은 블록을 가질 수 고양이가 단어에서 우리에게 말씀처럼, 안녕하세요, 이전, "알겠습니다 어떤 과일? 과일 곳으로 가져 가십시오. "좋아, 이제, 분명히 내 지시가 있습니다. 나는 과일 곳으로 여기에 가서 자신을 줄 수 있습니다 문. 자, 여기 있어요. 나는 카운터에있는 사람까지 이동할 수 있습니다. 그는 내가 그와 가까운 걸 감지하기 때문에 할 필요는 없습니다 아주 동일하게 터치, 그리고 게임을 받았습니다. 그래서 우리는 Fruitcraft RPG 있습니다. 그래서 우리는 이것보다 훨씬 더 고급 일을 할 수있다. 우리는 소리를 추가 할 수 있습니다. 우리는 의사 임의성을 추가 할 수 있습니다. 우리는 복잡성을 추가 할 수 있습니다. 이 자신을 어떻게보다는 내가 여기서 앞서 가자, 그리고, 나에게 더 정교 제출 중 하나를 보여주지 우리는 블레이크라는 이름의 특정 사람으로부터 작년있어. 우리는에 게재 편안한 한 사람 자원 봉사를 할 수 있습니다 카메라와 게임을에인가? 방법에 대한 아니야? 어서 올라 와요. 좋아요, 그러니까 당신은 그저 무의식적으로 가지고있는 게임 재생 자원 봉사 활동 - [박수 갈채] 데이빗 MALAN는 : -라고 과거의 일입니다 "Frogger." 당신의 이름은 무엇입니까? RENDA : Renda. 데이빗 MALAN : Redna? RENDA : 그것은 B와 브렌다 같아요. 데이빗 MALAN : 좋아요, Renda. 데이빗. 만나서 반가워요. 그래서 여기 "Frogger"과 경우 우리는 볼륨을 그냥 올릴 수 있습니다 조금, 당신은이 작은 아르 바닥에 녹색 개구리. 당신은 오른쪽, 위, 아래, 왼쪽 사용할 수 있으며, 귀하의 목표는하는 것입니다 , 길을 건너 강을 건너, 그리고 백합 패드를 터치 상단에있는. 오. 하나 더 t - 모든 권리를 다시 실행? 의 히트 정류장 보자. 아무도 것을 본 사람이 아무도 없어요. [박수 갈채] [박수 갈채] 데이빗 MALAN : 그래. 아주 잘 했어요. 훌륭해, 감사합니다. 있도록 Frogger가 발생했습니다. 당신이 한 일을 알고 자하는 다른 한 더 많은 자원 봉사로 스스로를 받아 게임은 다른 학생에 의해 제출되었습니다. 당신은 올라 갈래? 이름이 무엇입니까? RICHARD : 리차드. 데이빗 MALAN : 리차드. 좋아, 여보, 어서 올라 와요. [박수 갈채] 데이빗 MALAN : 당신은 소리 있거든 곧 익숙한, 그래서 여기에 지침입니다. 그래서 순간에, 일부 퍼즐 조각은 스크롤 거예요 왼쪽을 보게 중 화면에서 또는 오른쪽 위 또는 아래로. 당신은 이런 식으로 화살표 키를 누르 할거야 그와 함께 줄 지어있는 퍼즐 조각에 해당하는 맨 위의 자리 표시 자. 따라서 왼손으로까지 당신은 왼쪽 화살표를보고, 그 라인 때 화살표, 왼쪽 화살표를 누르십시오. 당신은 시작할 수 있습니다. [MUSIC - "강한"KAYNE 서부 유럽 표준시] 데이빗 MALAN : 리처드위한 박수의 모든 권리, 큰 둥근. [박수 갈채] 데이빗 MALAN : 아주 잘 했어요. 감사합니다. [박수 갈채] 데이빗 MALAN : 겉보기에 따라서 재미 있고, 종류의 이 같은 뭔가를 구현하는 것 같은 위협 이 같은 보이는 세련된 알고 있습니다 학생 아웃 설정하고 그냥 한 번이 기록하지 않았다. 오히려, 당신은 보이는 복잡한으로 문제를 분석 할 수 많은 작은 조각에이,이 역시 그대로 테마가 될 것. 당신은 대부분의 모든에서 프로그램을 서면으로 할 수있는 최악의 일 언어는, 앉아 정말 흥분,를 작성하는 것입니다 지독한 것은하고 그냥가 작동되기를 바랍니다 시간은 당신 쓰기 완료됩니다. 오히려, 프로그래밍 과정은 일반적으로해야 아주 천천히, 매우 반복적으로서, 당신 만 스스로, 한입 크기의 조각을위한 아주 작은 단계를 설정 당신은 당신이 정신을 가지고 있도록 물어 뜯다,하고 싶어 수표, 당신이 만날 수있는 작은 이정표. 그리고 당신은 더 만들 수있는 상단에 구축 여전히 복잡한 일. 따라서 예를 들어, 우리는 어떻게 갈 수 이 같은 게임을 구현? 음, 솔직히, 난 확실히 딱 시작 것 한 번에 하나의 키를 지원. 그냥 왼쪽 화살표에 대한 지원을 구현하자. 어떻게 든 포토샵에서 생성했던 학생은 자, 또는의 작은 그래픽 편집기를 사용하여 자신을 잡아라 상단에있는 것과 같은 모양 화살표 키, 거기서 남은 회색 자리 표시 자. 그런 다음 학생은 X, Y가에 조정 무엇을 할 수 있는지 알아내는했습니다 위치 창에 넣어하는 방법, 넣어. 0, 0이 여기이므로 수 방법을 찾아 내야 할 픽셀 또는 점, 그 화살표를 오프셋합니다 화면 상단. 그리고 한 번 장소에 즉,이 프로그램은 실제로하지 않습니다 아직 아무 짓도 있으므로 다음 두 번째 스프라이트 필요에 대한 예를 들어 녹색 남긴 눈치 화살표, 그리고 다음에 대한 몇 가지 스크립트를 작성할해야합니다. 그리고 당신이 일에서 나왔어요, 아마도, 알 다른 속도와 색상이 다른에 있었다 학생이 약간의를 사용하기 때문에 위치, 그리고 그게 의사 임의성. 그리고 의사 임의성에 의해, 난 그냥 번호를 선택 의미 뭔가 일 사이에 할 수 있기 때문에 숫자 인 경우 같은지도 일에 시작 하나 사이 다섯, 음, 사실은 녹색하게 보자. 가 6 및 10 사이의 경우가 퍼즐 조각을하게 붉은 색 대신. 당신은 어떤 종류의를 생성하는 방법이 너무 오래로 임의성, 당신은 해당에 따라 결정을 내릴 수 임의성. 있기 때문에 그리고 무작위로 말하는 의사를 유지 지저분한 비밀. 컴퓨터는 임의의 숫자 마련 할 수 없습니다. 그들은 단지 그들이시키는대로 할 수 있기 때문에 그들은 인간이 만든 장치를하고 있습니다. 그들은 우리 인간과 같은 번호를 추측 할 수 없습니다 우리가 할 수있는 기분. 컴퓨터를 만들어 보도록하는 수학 무슨 짓을하려는 수학 숫자의 마술, 때로는를 사용하여 무엇을하는 것 자체에 대한 입력으로 시간을 현재 날짜 숫자는 그 다른 시간에,하지만 더 돌아갑니다. 지금은 우리가 가상 임의성을 생성 할 수 있다는 사실을 알고. 그럼 내가 한 번 시작하는 왼쪽 화살표에 대한 수 있습니다 다음, 다른 시간에 서로 다른 속도로 게재 난 다시 가서 이러한 조건 IF의 일부를 추가 할 수 있습니다. 이 스프라이트는 다른 하나와 왼쪽 화살표를 터치하는 경우 키를 누르면되었습니다 - 이 경우가 정말 세 가지 조건. 난을 사용하고이 경우, 아마도 차단할 수 있습니다 - 그럼 제가 가서 점수를 증가하고 싶습니다. 그리고 상단에, 우리는 점수가, 우리는 굉장이 , 쿨 좋은, 그리고 어이. 다섯 변수는 분명이 있지이 학생 이러한 다양한 통계를 추적하는 데 사용됩니다. 그래서 짧은에, 최종 결과는 놀랍습니다. 그것은 재미,이 게임을 재미, 그것은 참여했는데,이 없습니다 학생이 시작된 곳. 그 또는 그녀가 단계의 훨씬 작은 세트에서 시작했다. 그래서 우리가 할 수있는 그 어떤 다른 빌딩 블록은 무엇입니까 이 프로그램에 직조? 음, 대부분의 언어에서 다른 개념이 스레드로 알려진, 그들 사이 좋아요. 그래서 컴퓨터는 실제로 정말 여러 일을 할 수 없습니다 시간, 적어도 보통. 오히려, 컴퓨터는 일반적으로도 하나의 CPU가 있으며, 컴퓨터는 빠른 슈퍼하며 할 수 있지만, 그러므로, 한 번에 여러 일을하는의 환상을 만드는 - 인스턴트을 받고, 메일을 확인 메시지, 문서를 인쇄 - 정말, 컴퓨터는 인쇄에서 IMing에 점프합니다 다시 다시 다시, 이메일 갔다 그렇게 빨리 거기에 우리 느린 약삭 인간은 실제로 있다는 걸 몰라 한 번에 그 프로그램을 좀 실행할 수 있습니다. 이제 흰색이 약간은, 때문에 지금은이 일 거짓말 많은 우리의 컴퓨터는 멀티 코어라는 것을 있으므로, 같은 가지는 하나 CPU하지만, 멀티 코어를 가질 여러 CPU를 갖는다. 그리고 때때로, 컴퓨터는 정말 여러 일을 할 수 한 번에 있지만, 일반적으로 프로그램에서, 프로그램 스레드이라고하는 것들에 의존하고 있습니다. 따라서 스레드 수 미니어처 프로그램처럼 종류입니다 또 다른 작은 프로그램을 함께 존재하고 실행할 수 있습니다 병렬로, 또는 적어도 환상 그 아래 실행할 수 있습니다 그들은 동시에 실행하고 있습니다. 따라서 스크래치는 스레드이라고하는 일을 지원합니다. 당신은 우리가 같이 한 번에 실행 여러 스크립트를 할 수 있습니다 바다 사자 한,이 우리에게 실제로 할 수 있습니다 그때이 스프라이트 간의 상호 작용을 갖추고 있습니다. 내가 여기서 가서의이 스레드의 말을 듣지 최대 하세, 그리고 다음과 같이이 재생합니다. 우리는 우리가 볼 각 대상 두 개의 스프라이트를 가질 하나의 스크립트가 있습니다. 그리고 당신은의 일부 정보가있는 것 같습니다 통지 이 하나에 고양이 사람이 가까이오고 있기 때문에 - [, 누군가] 데이빗 MALAN : - 가까이 작은 새 있습니다. 따라서 새 운영 어떻게 생각 하나? 음, 먼저 새를 살펴 보자. 새 스크립트는 녹색 깃발을 클릭했을 때, X로 이동했다 115 부정적인 같습니다와 y는 150 같습니다. 그래서 난 내가 원하는 임의의 위치를​​ 알아 낸 새가 시작하고 난 기본적으로 거기에 plopped. 고양이를 터치하지 않은 경우 다음 포에버,이는 다른입니다 반복 구조하지만, 같은 생각의 종류가 다시이 작업을 수행하고 또 한번, 또 한번. 너무 오랫동안 당신이 고양이를 건 드리면 안돼으로 세 단계를 이동하고 당신이 가장자리 바운스에 경우는 일종의 어디 당구 의미에서 반사. 그래서 그런 새가 가지 주위에 이동하는 방법 가에서 거부하기 때문에 겉보기에 무작위로하지만 단지 이 경우 벽. 이제 고양이는 한편, 부정 행위의 종류입니다. 고양이는 녹색 깃발을 클릭했을 때, 그래,에서 시작 어떤 위치, 임의의 위치 - 적어도 픽업에 따라 일부 거기에 임의의 녹색 블록 - 새를 터치하면 다음 영구, 사자 사운드를 재생할 다음 스크립트를 중지합니다. 그래서 종료, 또는 그 이전에 종료했을 때, 이해가 그에서 프로그램을 죽일 것이다 스크래치의 작품 이 논리적으로 수행 종류이기 때문에 지적한다. 그러나 그렇지 않으면, 여기 무슨 일이 일어날 지 확인합니다. 새와 이동 한 단계 향해 가리 킵니다. 따라서 새 방향이 점은 장점 고양이의 종류입니다 이 점에서의 이동 조류에 돌입, 현재 수 이제이 프로그램이 모든 더 재미있는합니다. 대신 당, CPU 사이클 당 한 번에 하나의 단계를 이동 , 말하자면, 그 종의 통행료 인상이 날 진행합시다 이동의이 고양이로 한 번에 최대 5 단계를 가정 해 보겠습니다. 클릭하면 실행하고, 지금은 진짜 빨리를 찾습니다. 우리는 10 단계이 더 두 경우 가지갑니다 그를 좋아. 이제 우리는 새를 줄 수 아마도, 장점의 비트. 의는 새에 가서 세 단계를 이동하는 대신 말을하자, 우선은 그 30 단계를 이동합니다. 그러나 그는 아직도 마지막에 잡 혔어. 그래서 여기, 우리는 두 스레드가 있습니다. 이 두 스크립트와 두 개의 스크래치에 감옥에 있어요 스프라이트하지만, 다른 언어의 아이디어는 당신이 할 수 있다는 것입니다 본질적으로,이 같은 너무 많은 프로그램을 작성하고 있습니다 그들을 병렬로, imaginarily 진정한 실행, 또는. 자,이 개념은 알려진 프로그래밍의도가 이벤트,이게 우리가 C에 표시되지 않습니다 거고, C.로 알려진 언어는 우리는 학기 끝 부분을 볼 수 있습니다 웹 프로그래밍에서, 언제 자바 스크립트와 소개 동적이며 상호 작용하는 건물 웹 페이지의 개념 사용자와. 따라서이 경우에는, 우리는 두 매우 간단한 예를 각각이 각각 누구의 스프라이트, 남자와 여자, 스레드,하지만 한편으로이 두이 방법으로 간 의사 소통 의 이벤트 무언가를했다. 그럼 내가 여기 가서 아이의 스크립트를 확대 해, 어떤은 다음과 같습니다. 녹색 깃발이 클릭하면 영원히 다음을 수행하십시오. 키 스페이스, 또는 스페이스 바가 누르면, 말 에 순전히 미적이지 2 초 동안 마르코, 화면 작은 풍선,하지만 방송. 그래서 방송입니다 다른 스크래치 조각입니다 프로그래밍의 기능 클래스의 대표 다른 프로그램, 다른 스레드를 허용하는 에 간 통신, 어떻게 든 보내 메시지, 다른 하나입니다. 수업 시간에 종이를 전달하면 낮은 기술의 일종이다 같습니다. 그럼 이벤트를 방송합니다. 이 메시지를 보내, 그리고 단어 이벤트 수 완전히 임의의 수 있습니다. 스크래치는 때때로 이러한 드롭 다운 메뉴가 있으므로 그냥 와서 이벤트와 같은 임의의 단어 왜냐하면 지금, 아이는 무슨 상관 제가 키가 눌러 때이 이벤트를 브로드 캐스트합니다. 내가 여자의 스크립트에 들어 보면, 그녀의 스크립트는 그녀가해야 할 필요한 모든 때 행동하지 않기 때문에 간단한 슈퍼 녹색 깃발을 클릭합니다. 그녀 견적, 인용을 끝 맺다을받을 때 그녀는 행동으로 설계되었습니다 "이벤트"그 시점에서, 그녀는에 따라서 듣고 또 한번, 또 한번 소위 이벤트입니다. 그녀가 이벤트를받는 즉시, 그녀는 소리 거예요 2 초 동안 폴로. 그리고 당신은 아마도이 정확히에서 추측 할 수 다음 결과가 될 것입니다. 제가 녹색 깃발을 클릭 봅시다. 내가 무슨 짓을해야하기 때문에 아무 일도 발생하지 않습니다? 대상 : 스페이스 바. 데이빗 MALAN : 스페이스 바. 아이는 마르코를 말합니다, 여자는 폴로를 말합니다. 그러나 하드 SE에 따라 코딩 않아. 그래서 그래서 우리는 이제, 스크립트 사이에 간 통신입니다 더 복잡한 프로그램을 어디서 할 수있는 능력을 가지고 이 두 사람은 어떻게 든 간 의사 소통 있습니다. 그래서 방향으로 우리는이 걸릴 수 있습니다? 음, 문제 세트에 0은, 그 목적은 다음과 같습니다 스크래치에서 즐거운 시간을 보내세요. 해커 버전의 경우, 대신 더와 함께 재미있을거야 BYOB라고 스크래치의 정교한 버전은 빌드 나만의 블록,하지만 아이디어는 동일합니다. 당신은 할 수 있습니다 - 그래, 그게 고의적했다. 그것은 버클리에서 온. BYOB이의 해커 Edition 버전이지만, 두 모두 인구 통계, 표준 버전 및 해커 판, 앞으로 일주일 손에 목표는에서 다이빙을 정말 깊은 프로그래밍 손이 더러워 질 및 확인 흥미로운 뭔가가 뭔가 인터랙티브 확인하기 예술 무슨 일이, 실제로 뭔가 재미있는 일을 주 말까지, 당신이 프로젝트를해야합니다 있도록 입증, 첫 번째 CS50 pset에 대해,하지만 당신은이 것뿐만 아니라 당신이 Annenberg에 과시 할 수있는 작은 선물 MIT의 웹 사이트에 업로드하여 친구 또는 가족. 나는 수요일에 말한대로 그리고, 우리는 클래스의 90 %를 기대 일반적으로, 표준 버전을합니다. 당신의 사람들을 위해이 콘센트도하는 거라고 생각 사​​람 그렇지 않으면 자신에게 기본에 싫증을 조금 찾을 수 있습니다 와 정말 이미 비전의 다이빙과 공예품하려면 이 더 친절한에 사전 배경으로이 환경. 그럼 내가 다른 예를 좀 해보자 우리의 과거 중 하나 학생들은 여기했고, 노래를 통해 뭔가를 조금 말해. 마찬가지로,이 연극으로, 당신이 이동하는 방법에 대해 생각 정확하게이 동일한을 사용하여이 프로그램을 실행 빌딩 블록, 의사 임의성 약간, 그리고 익숙한 곡의 비트. 우리는 볼륨에게 조금을 길렀다면? [MUSIC - 날씨 여자들을 "IT가 남자를 비가"] 데이빗 MALAN : CS50하기에 그건. 우리는 월요일에 표시됩니다. [박수 갈채]