अध्यक्ष: मैं [सुनाई] हूँ. और मैं Leverett हाउस में एक वरिष्ठ हूँ. मैं कंप्यूटर विज्ञान का अध्ययन, और मैं CS50 के लिए एक TF हूँ. एक नए रूप में, मैं भी नहीं था एक लैपटॉप या एक smartphone. मैं नहीं प्रोग्रामिंग अनुभव था. CS50 सबसे यादगार कोर्स था कि यह था क्योंकि मैं हार्वर्ड में ले लिया एक संघर्ष है, लेकिन यह एक सच था एक ही समय में मज़ा संघर्ष. और मैं अद्भुत, स्थायी का एक बहुत बनाया मित्रों, और मैं वास्तव में एक बहुत कुछ सीखा लागू कौशल. मुझे लगता है मैं ऐसा नहीं था कि बस बहुत खुश हूँ मेरे पृष्ठभूमि की कमी मेरे लिए एक बहाना CS50 नहीं ले. मैं [सुनाई] हूँ. मैं Leverett में एक वरिष्ठ हूँ हाउस, 2014 की क्लास. और मैं CS50 लिया. डेविड मालन: तो यह CS50 है. इस सप्ताह शून्य का अंत है. हम पिछली बार शुरू हुआ, जहां और याद, थे जो इन लैंप, साथ था हम चला गया और इतना लोकप्रिय है कि आज कुछ अधिक खरीदा. इसलिए मैं इस हो जाएगा हमारी बात इस साल - आप मंच पर आ अगर डेस्क, दीपक हम रन आउट कम से कम जब तक. लेकिन हम शुरू करने की, इन याद इस्तेमाल किया डेटा का प्रतिनिधित्व की मूल बातें. हम प्रतिनिधित्व करने शुरू करने के लिए तरह की जरूरत एक कंप्यूटर के अंदर जानकारी. और ऐसा करने के लिए सबसे आसान तरीका था एक घटक के साथ, बिजली. और आप के साथ कर सकते सरल बात बिजली बंद यह मोड़ पर है और यह है. इलेक्ट्रॉनों प्रवाह या नहीं करते हैं. और उन दो बुनियादी राज्यों, बंद का उपयोग और पर, या गलत और सही है, या कोई और एक, हम हम निर्माण कर सकता है कि देखने के लिए शुरू ऊपर से, इस मामले में, प्रकाश के साथ बल्ब, अधिक संख्या की तुलना सिर्फ शून्य और एक. हम सात के रूप में उच्च गिना उदाहरण के लिए, पिछली बार. लेकिन हम सभी के लिए है फेंक रख है उस पर अधिक से अधिक प्रकाश बल्ब समस्या और, वास्तव में, हम का प्रतिनिधित्व कर सकते हैं किसी भी नंबर है कि हम संभवतः चाहते हो सकता है. ठीक है, हम पर तो जल्दी से transitioned बुधवार स्वयंसेवकों के इस बाइट के लिए. 8 बिट, हम आम तौर पर एक बाइट क्या कहते है तो यहाँ हम आठ स्वयंसेवकों था सामूहिक रूप से थे जो बुधवार को आठ बिट्स का प्रतिनिधित्व. और उनके हाथ से चला गया जब ऊपर, वे एक से एक थे. और उनके हाथों थे जब नीचे, एक शून्य वहाँ थे. और हम इन लोगों की थी यही कारण मंच पर आ गए? हम साथ क्या कर रहे हैं क्या बिट्स के इस अनुक्रम? एक वर्णमाला बनाने के लिए. हम उस के शीर्ष पर निर्माण कर रहे थे पिछले सबक वास्तव में सीखा है और और अधिक दिलचस्प बनाने के लिए शुरू कम से कम अधिक है कि जानकारी हमें मनुष्य के लिए परिचित. और यह एक आवर्ती होने जा रहा है 50 है, लेकिन यह भी कंप्यूटर भर में विषय अधिक आम तौर पर विज्ञान के इस विचार , लेयरिंग जहां, के अंत में दिन, तुम वास्तव में शुरू कर दिया एक कंप्यूटर के साथ मूल बातें, हाँ, यह शून्य और लोगों है. और यह है कि नीचे बस बिजली. लेकिन हम बहुत जल्दी से उन लेने के लिए शुरू प्रदान के लिए निम्न स्तर के विवरण और काम अतीत के शीर्ष पर परत करने के लिए शुरू किया हम अंततः, द्वारा इतना है कि सेमेस्टर के अंत और, वास्तव में, अधिक आम तौर पर कंप्यूटर वैज्ञानिकों के रूप में और प्रोग्रामर, वास्तव में कुछ कर सकते हैं काम के लाभ से शक्तिशाली बातें हम खुद भी किया और है कि दूसरों के कंधों पर खड़े. अब हम जल्दी से बुधवार को transitioned अभी तक ज़रूरत से चाहने के लिए जानकारी का प्रतिनिधित्व इसके साथ कुछ करना. तो क्या हम एक एल्गोरिथ्म के रूप में परिभाषित किया? निर्देशों की एक श्रृंखला. तो यह, निर्देशों की एक श्रृंखला है एक चरणों की संख्या है कि आप एक मानव, या एक कंप्यूटर, अधिक आम तौर पर, होगा आदेश में एक के बाद एक निष्पादित कुछ लक्ष्य को प्राप्त करने के लिए. और हम पिछली बार कुछ लक्ष्य थे, जिनमें से एक गिनती करने के लिए था कमरे में लोग. और एक और ऐसे उदाहरण मिल गया था एक फोन की किताब में माइक स्मिथ. तो तुम मुझे एक फोन फाड़े कि याद कर सकते हैं इस अंत की ओर छमाही में किताब माइक स्मिथ ढूँढने. उस दृश्य के प्रयोजन के लिए किया गया था हम थे कि, फिर से, का प्रदर्शन सचमुच में इस समस्या को फाड़ आधा आधा में, आधे में, और बहुत जल्दी 1000 की तरह पन्नों से जा रहा सिर्फ एक ही पृष्ठ पर. पर यह याद किया जो लोग बुधवार, मैं हम वापस खेलने लगा क्या तुम्हें याद के कुछ दृश्य. चलो एक नज़र रखना. [वीडियो प्लेबैक] -हम वहाँ जाते हैं. 1500 पन्नों अच्छी, साफ लाइन, वैध आंसू. [अंत वीडियो प्लेबैक] डेविड मालन: इतना है कि बुधवार था. हम अब बुधवार को, हालांकि, संक्रमण एल्गोरिदम का प्रतिनिधित्व करने के लिए इच्छुक करने के लिए कुछ हद तक मानक रास्ते में नहीं है, बस मौखिक रूप से उन्हें का वर्णन है, लेकिन लेखन में या पर उन्हें व्यक्त करने के लिए कोशिश कर रहा एक कंप्यूटर स्क्रीन हम कर सकते थे कि इतने पर सुधार, और संशोधित करने के लिए शुरू उन्हें, और, अंततः, वास्तव में विश्लेषण बस कैसे सही या कितनी तेजी से वे थे. इसलिए हम इस धारणा पेश pseudocode की, जो, में आम आदमी की दृष्टि में, क्या है? ठीक है, शब्द. की तुलना में एक छोटे से गहरी चलते हैं. अंग्रेजी, सुनिश्चित कर रहे हैं, लेकिन क्या अंत की ओर? शब्द बनाने के लिए जो के साथ या एल्गोरिदम का प्रतिनिधित्व करने के लिए. इसलिए जाना जाता है कि कोई भी भाषा नहीं है दुनिया में pseudocode के रूप में. यह सिर्फ इतना है कि अंग्रेजी में तुम,, या अपनी बोली जाने वाली भाषा है, जो कुछ भी उपयोग संप्रेषित करने के लिए सरसरी अंकन का एक प्रकार बहुत संक्षेप में एक विचार. लेकिन हम निश्चित रूप से एक साथ, कि देख लेंगे अंग्रेजी pseudocode, और यह पता चला है सबसे प्रोग्रामिंग भाषाओं खुद को अंग्रेजी ही के व्युत्पन्न हैं, हम कुछ मानक है कि वहाँ मिल जाएगा pseudocode का प्रतिनिधित्व करने के तरीके और भी कोड प्रोग्रामिंग. आप भी सरल देखना शुरू तो जैसा उदाहरण आज, इन एहसास एक ही पैटर्न अगले सप्ताह पुनरावृत्ति होना होगा. तो pseudocode किसी तरह का था भाषा जैसी की एक प्रोग्रामिंग भाषा. और पहला उदाहरण हम नेत्रहीन देखा नीचे लिखा यह एक था. यह केवल एक तीन कदम कार्यक्रम था, जिनमें से लक्ष्य संख्या गिनने के लिए था के लिए एक छात्रावास के कमरे में लोगों की बुधवार को उस वीडियो. लेकिन कुछ दिलचस्प पहलू थे इस सरल कार्यक्रम का. और इस आवर्ती विषयों होगा. साथ अपरिचित हैं कि उन लोगों के लिए तो यह एक, हम एक चर की शुरुआत की. और इस कमरे में शायद हर किसी को है में एक चर के साथ परिचित बीजगणित के संदर्भ. लेकिन यहाँ प्रोग्रामिंग, चर में , एक, हो सकता है कर रहे हैं हम चाहते हैं कि कुछ भी कहा जाता है. हम एक काउंटर के रूप में n का उपयोग किया गया है. लेकिन हम काउंटर शब्द का प्रयोग, या सकता है, जैसा कि आप देखेंगे, सबसे अधिक किसी भी वाक्यांश कि आप इतने लंबे समय के रूप में यह पसंद आ सकते हैं वर्णनात्मक, लेकिन यह सिर्फ एक सच है भंडारण कंटेनर. यह स्मृति का एक हिस्सा है, की कुछ संख्या बिट्स, और यह कंप्यूटर से भिन्न होता है, कैसे कई टुकड़े कि वहाँ रहे हैं कि चर रचना करते हैं. लेकिन हम इसे में मान रख सकते हैं. इस प्रकार अब तक, हम केवल संख्या में डाल दिया है. लेकिन हम वास्तविक शब्द डाल सकता है. हम पैराग्राफ डाल सकता है. हम छवियों रख सकते हैं - कुछ भी, वास्तव में, हम साथ प्रतिनिधित्व कर सकते हैं शून्य और लोगों, हम में डाल सकते हैं इस उच्च स्तर की धारणा एक चर की. तो बहुत सीधे आगे वहाँ. और कहा कि लाइन एक है. लेकिन हम बहुत जल्दी से स्थानांतरित वास्तव में क्या करने के लिए लाइन एक उस चर के साथ कुछ. और लाइन तीन में, हम एन हम अद्यतन एन incremented और हम यह लिख सकता है किसी भी तरीके की संख्या. लेकिन शायद सबसे स्पष्ट है सिर्फ कहने के लिए, के बराबर एन सेट एन प्लस 1 है जो भी हो. इसलिए कि हमारे वेतन वृद्धि था. इस बीच, एक पाश वहाँ था. और यह एक बहुत, शायद है बहुत सहज. एक पाश एक कार्यक्रम में सिर्फ कुछ है कि, फिर से और फिर कुछ होता है चक्र की तरह. और यहाँ यह कुंजी वाक्यांश, प्रत्येक के लिए है, सबसे भर में वास्तव में बहुत ही सामान्य सहित प्रोग्रामिंग भाषाओं, लोगों को हम पाठ्यक्रम में देखेंगे. किसी भी समय आप के लिए शब्द देखना यह आम तौर पर विचार बता देते हैं कि एक पाश, चक्रीय कुछ, होने वाला है. लेकिन यह ध्यान देने योग्य बात एक लायक है अन्य वाक्यात्मक विस्तार. तीसरी लाइन तथ्य है कि वहाँ वास्तव में हिट होने से इंडेंट अंतरिक्ष बार बार कुछ विचार है. मानव सम्मेलन है कि इस तरह है क्योंकि, आप फिर से कुछ कर रहे हैं और जब फिर, एक पाश में, लाइन दो पर शुरू कर के रूप में, आप ही हैं कि कुछ भी इंडेंट कि पाश के लिए अभी स्पष्ट है कि बनाने के लिए यह, उदाहरण के लिए, लाइन तीन और नहीं है लाइन चार या पाँच, अगर वहाँ थे कर रहे हैं कि के लिए लाइनों या पाँच, उस के भाग के छोरों. इसलिए इस सरल खरोज मूल विचार है कि बता देते हैं. इसलिए हम इस एल्गोरिथ्म लागू, अब, कुछ उदाहरण के लिए. और यह भी, सरल उदाहरण असली दुनिया में. लेकिन यह के प्रतिनिधि होने जा रहा है आप परीक्षण के बारे में कैसे जाना होगा अपने तेजी से जटिल कार्यक्रमों के मालिक हैं. तुम कुछ परिदृश्यों, कुछ कोशिश प्रतिनिधियों आदानों, और आप अगर देखना वांछित outputs मिलता है. तो इस उदाहरण दो लोग थे छात्रावास के कमरे में बैठे. बाईं तरफ एक ही है कि छद्म कोड है. और यह बहुत की एक स्क्रीन शॉट है इस के आवेदन का अंतिम चरण जहां वहाँ उन आदानों, के लिए एल्गोरिथ्म दो कमरे में लोगों और थे, हम लाइनों के माध्यम से एक कदम के रूप में याद करते हैं, और दो, और तीन, और दो और तीन और किया - कि एल्गोरिथ्म के अंत तक, हम था वास्तव में कर रहे हैं, जो दो साथियों गिना कमरे में. तो फिर हम एक और उदाहरण की कोशिश की. और हम वहाँ क्या कर रहे हैं अगर कहा कमरे में शून्य लोग? इस कोड को अभी भी सही है? और वास्तव में यह किया गया था. यह सिर्फ इतना है कि लाइन दो होता है और, इस प्रकार, लाइन तीन या निष्पादित करने के लिए नहीं जा रहा. वे बिल्कुल भी नहीं जा रहे हैं वे सिर्फ अगर लागू नहीं कर रहे हैं क्योंकि कमरे में शून्य लोगों को नहीं है. लेकिन कोई बड़ी बात नहीं. रेखा एक तो, शून्य करने के लिए एन initialized भले ही इस बात का केवल एक ही पंक्ति कार्यक्रम वास्तव में, उपयोगी जा रहा है यह अभी भी रूप में, सही जवाब पैदावार नारंगी ने संकेत दिया तल पर शून्य. लेकिन तब हम उस निर्णय लिया गया था एक बेवकूफ एल्गोरिथ्म की तरह. यह बहुत धीमी थी. निश्चित रूप से, मैं, दो, चार कर सकते हैं छह, आठ, दस, जब एक कमरे में गिनती के लोगों को. इसलिए हम एल्गोरिथ्म tweaked pseudocode, अब लाइन दो में कहने के लिए, प्रत्येक कमरे में लोगों की जोड़ी के लिए करने के लिए आगे बढ़ना, लाइन तीन में, वेतन वृद्धि प्रत्येक यात्रा पर दो से में. तो उस के लिए यहां काम किया होता कमरे में व्यक्तियों की इस जोड़ी. लेकिन फिर, अगर आप शुरू के बारे में सोच यह है, और यह करने के लिए समय नहीं है एहसास, यह है एक मिनट रुको तोड़ने के लिए जा रहा है, यह टूट जाता है क्या साधारण मामले में? तीन कमरे में लोगों को या नहीं है, अधिक आम तौर पर, एक जब वहाँ में लोगों की संख्या करीब एक सहित कमरे,. हम यहां उस व्यक्ति को याद होगा क्योंकि ऐसी कोई जोड़ी हैं. तो हम जल्दी बजाय द्वारा संबोधित शुरू करने के लिए क्या अतिरिक्त प्रोग्रामिंग छद्म कोड के लिए. तो एक शर्त है, हम बुलाया यह, या एक शाखा. और यह, नेत्रहीन, संप्रेषित करने के लिए होती है शाखा, सड़क में एक कांटा के विचार आप ऐसा कर सकते हैं या तो जहां या, शायद, कुछ और. और वास्तव में, हम से इस मुद्दे के समाधान पर, सच कह रही द्वारा, 4 लाइन जोड़ने बहुत अंत, एक व्यक्ति रहता है, तो आगे चलते हैं और उन्हें विशेष गिनती. तो अगर आप की तरह विशेष मामले में उन्हें, तो अब हम संभाल कर सकते हैं तो बात है, लोगों की एक भी नंबर दोनों और लोगों की एक विषम संख्या. अब किसी भी तरीके की संख्या में हैं हम इस व्यक्त कर सकता था. और सच में, मैं और भी अधिक हो सकती थी यह मेरी पसंद के लिए आया था, जब एनआईटी में picky Pseudocode के लिए अंग्रेजी. लेकिन की भावना कम से कम विचार से अवगत करा दिया है. आप एक दोस्त के लिए इस कोड को सौंप दिया हैं जो सीएस में नहीं है, या कभी नहीं लिया गया है सीएस, बाधाओं, वे समझ सकता हैं कमरे में तीन लोगों को देखते हुए, कैसे करने के लिए के आधार पर उन लोगों की गिनती इन निर्देशों पर. और यह सब वास्तव में हम क्या हासिल करना चाहते है pseudocode के साथ, किसी भी तरह हम के बारे में कैसे जा रहे हैं मानकीकरण विचारों का प्रतिनिधित्व कर सकते हैं हम इतना है कि अधिक जटिल करने के लिए शुरू बात अभी भी. तो यह है कि, आज, तो हमें सुराग वास्तविक कोड के लिए. हम, हालांकि आज इस कार्यक्रम के लिए शुरू एक दोस्ताना माहौल में. और फिर हम करने के लिए बहुत जल्दी संक्रमण एक अधिक रहस्यमय वाक्यविन्यास, लेकिन एक है कि आप मौलिक रूप में ही है देखेंगे विचारों के साथ प्रकट देखेंगे इस अन्य भाषा आज. यह सिर्फ लग रहा है थोड़ा अलग. बस इस कोड को बुलाओ तो बजाय, मैं हूँ एक छोटे से अधिक सटीक होने जा रहा जब लेखन और, आगे कहते हैं, एक कार्यक्रम, आप स्रोत कोड लिख रहे हैं. यह एक तरह से pseudocode की तरह है. लेकिन हम यह की तरह ढीला नहीं है देखेंगे यह शब्द चुनने की बात आती है आप उपयोग करते हैं. एक भाषा में programing करते हैं, तो आपके पास शब्दों का प्रयोग करने के लिए, मुहावरों, वाक्यविन्यास, कि अन्य लोगों प्रतिनिधित्व का फैसला किया है उस विशेष भाषा. तो pseudocodes आप पर निर्भर है. की तरह एक वास्तविक प्रोग्रामिंग भाषा सी, हम अंत में देखेंगे, है अन्य लोगों द्वारा मानकीकृत. तो कैसे हम लेखन के बारे में जाना है कुछ स्रोत कोड? वैसे मैं जा रहा हूँ आगे और यह करते हैं. मैं आगे जाने के लिए जा रहा हूँ यहाँ एक खिड़की खुली. यह अगले सप्ताह पर. लेकिन यह कहा जाता है एक युक्ति है CS50 उपकरण. मैं पर सॉफ्टवेयर का एक टुकड़ा चल रहा हूँ मेरी मैक, आप एक ही बात कर सकते हैं, हालांकि एक Windows कंप्यूटर पर, कि दे रहा है मुझे भ्रम एक अलग चल रहा है ऑपरेटिंग सिस्टम को पूरी तरह सही यहाँ अपने मैक पर एक खिड़की में. अगर तुम नहीं तो मैं सिर्फ पूर्ण यह जांच की है वास्तव में अभी मैक ओएस देखते हैं. यह एक ऑपरेटिंग सिस्टम है लिनक्स बुलाया. यह बहुत लोकप्रिय है. यह बहुत तेजी से है. इसे बनाया है, जो बहुत स्वतंत्र है यह बहुत विशेष रूप में, सम्मोहक वाणिज्यिक दुनिया. और के अंत की ओर उस पर और अधिक हम लिनक्स काफी एक बिट का उपयोग सेमेस्टर जब वेब प्रोग्रामिंग और होस्टिंग के लिए वास्तविक वेबसाइटों और परियोजनाओं. तो अब, सिर्फ इस एक डेस्कटॉप है कि पता कि थोड़ा देखने के लिए होती है विंडोज और मैक ओएस के लिए परिचित. यह सिर्फ कुछ अलग नाम है और बातों के लिए प्रतीक. लेकिन इस तथाकथित CS50 है उपकरण, कि एक आभासी मशीन, अगले हफ्ते शुरू, तुम लोगों को होगा पर एक खिड़की के अंदर चलने अपने खुद के मैक या पीसी. आज के लिए, मैं को खोलने के लिए जा रहा हूँ कार्यक्रमों का सरलतम. यह जीएडिट कहा जाता है. और यह सिर्फ एक ग्राफिकल संपादक है. यह एक तरह से माइक्रोसॉफ्ट जैसी है वर्ड, लेकिन सरल. यह एक तरह से पाठ की तरह है संपादित करें या नोटपैड. यह सिर्फ एक बहुत ही सरल कार्यक्रम के साथ है जो स्क्रीन पर शब्दों को लिखने के लिए. यह सिर्फ इतना है कि क्या होता है कि मैं बचा अगर जब इस कार्यक्रम मैं बना कि फाइलें . सी, बजाय की तरह एक विशेष विस्तार में की. डॉक्टर, या. xls, या जो कुछ भी आपको मैं वास्तव में यह कर सकते हैं, के साथ परिचित हैं यहां तक ​​कि इस सरल का उपयोग कर कार्यक्रम बनाने पाठ संपादक. तो मुझे लगता है कि. मुझे आगे जाना है और इस को बचाने के चलो पहले hello.c के रूप में फ़ाइल. और फिर, इस यूजर इंटरफेस होगा जल्दी से आप परिचित हो जाते हैं. लेकिन अब के लिए, मैं सिर्फ टाइप कर रहा हूँ एक फ़ाइल नाम में. मैं अपने जॉन में इसे बचाने के लिए जा रहा हूँ हार्वर्ड घर निर्देशिका. और अब मैं इंगित करता है कि इस टैब है मैं वास्तव में संपादन कर रहा हूँ hello.c एक फ़ाइल बुलाया. इसलिए अभी तक बहुत दिलचस्प कुछ भी नहीं है. और अब यह हो रहा है सुंदर गुप्त मिलता है. मैं बस में ज़ूम करने के लिए जा रहा हूँ इसलिए यह अधिक दिखाई है. और मैं शामिल टाइपिंग शुरू करने जा रहा हूँ stdio.h, मुख्य int, शून्य, खुला घुंघराले गले लगा, एक, दो, तीन, चार रिक्त स्थान प्रिंट के लिए की खरोज, प्रिंट च, स्वरूपित कुछ, बोली गंदें शब्द बोलना, "नमस्ते, दुनिया" बैकस्लैश, एन, करीब बोली, कोष्ठक, अर्धविराम बंद, बैकस्पेस दर्ज, बैकस्पेस, बैकस्पेस, बैकस्पेस, घुंघराले ब्रेस बंद - मैं क्रमादेशित है. सब ठीक है तो यह एक सुपर सरल है कार्यक्रम, वास्तव में, इस कार्यक्रम कि किसी के साथ प्रोग्रामिंग शुरू होता है. और यह सब अपने सभी जटिलता के लिए करता है, पर बाहर प्रिंट है स्क्रीन, लगता है क्या? हैलो दुनिया. लेकिन यह सिर्फ पर्याप्त नहीं है एक प्रोग्राम लिखने के लिए. इसलिए इस कोड है. इस में स्रोत कोड है सी नामक एक भाषा. यह वर्तमान में सहेजी गई है hello.c एक फ़ाइल बुलाया. अब नीचे देखो यहाँ स्क्रीन की. अधिक यह, फिर से, में पर सप्ताह आने के लिए. लेकिन यह है कि हम फोन करता हूँ क्या है एक टर्मिनल विंडो. यह एक निमिष, काला है और सफेद शीघ्र. यह एक पुराने स्कूल इंटरफेस की तरह है आम तौर पर नहीं करता है एक कंप्यूटर एक माउस या अन्य उपयोग ग्राफिकल तत्वों. यह सिर्फ अपने कीबोर्ड का उपयोग करता है. और मैं में आदेश टाइप कर सकते हैं इस निमिष शीघ्र. और आज के प्रयोजनों के लिए, मैं कर रहा हूँ बस निम्नलिखित टाइप करने के लिए जा रहा - नमस्कार करना. और कहा कि कार्यक्रम, कर, सिर्फ एक है कार्यक्रम कि असली दुनिया में इन दिन, हम डबल पर क्लिक करेंगे. लेकिन आज के लिए इस इंटरफेस में, हम कर रहे हैं इस प्रांप्ट पर अपने नाम टाइप करने के लिए जा रहा है. नमस्कार सचमुच जा रहा है कर मुझे नमस्कार नामक एक कार्यक्रम बनाते हैं. और यह देख कर ऐसा करने के लिए जा रहा है एक फ़ाइल, बस द्वारा लिए Default, hello.c कहा जाता है. यह मैं एक सी कार्यक्रम चाहता हूँ मान जा रहा है कैसे इस कंप्यूटर की प्रकृति द्वारा विन्यस्त है. तो मैं आगे जाना है और हिट दर्ज करें. मैं कुछ गुप्त उत्पादन देखते हैं, लेकिन यह सब भी बन जाएगा लंबे समय से पहले परिचित. यह एक संकलक चलाने के लिए हुआ है, और अधिक बजना नामक एक पल में उस पर. लेकिन अब, मुझे मिल गया है सिर्फ एक शीघ्र निमिष. और अब मैं आगे जाना है और डॉट टाइप कर सकते हैं हम करेंगे रसहीन कारणों के लिए, स्लेश वापस अगले सप्ताह तक आ - नमस्कार. इसलिए इस प्रयास की सभी प्रकार अब तक सिर्फ करने के लिए , कि कार्यक्रमों का सरलतम लिखना जैसे ही मैं हिट दर्ज करें, के रूप में करता है. इसलिए मैं अपने पहले कार्यक्रम लिखा है. तो मैं जान - बूझकर मज़ा poking हूँ यह बहुत ही सरल कार्यक्रम में कारणों की एक जोड़ी के लिए. एक, यह उत्साहित करने के लिए मुश्किल है एक क्लास लेने के बारे में अगर यह अंत खेल है. लेकिन उस से अधिक, वहाँ एक है यहाँ distractions के ऊपर से बहुत कुछ. आप के लिए, प्रोग्राम सीखने पहली बार आप में से उन कम आरामदायक, और यहां तक ​​कि मैं वापस दिन में, जब मैं पहली बार कुछ इस तरह देखा - आप की तरह कर सकते हैं चित्रा की कि, ठीक है, यह एक प्रिंट नमस्ते दुनिया में है. लेकिन इतना ध्यान भंग नहीं है. स्क्रीन पर इतना वाक्य रचना नहीं है यह बहुत से रास्ते में हो जाता है कि सरल, अन्यथा सरल, विचारों. तो क्या हम आज क्या करने जा रहे हैं हम कर रहे है अलग सी डाल दिया है और आने वाला सोमवार को वह वापस. और हम एक ग्राफिकल उपयोग करने के लिए जा रहे हैं प्रोग्रामिंग भाषा स्क्रैच बुलाया. यह एक प्रोग्रामिंग भाषा, कि मैं है बुधवार को करने के लिए alluded, कि हो रहा है हमें सामान की इसी तरह करने की अनुमति देने के लिए लेकिन आज के लिए, एक अंधे आँख बारी, घुंघराले ब्रेसिज़ के लिए, कोष्ठक, अर्धविराम, और इन सब बेवकूफ रास्ते में मिल distractions कि, में इससे पहले दिन में, कुछ बुनियादी के, सुंदर रोचक विचार. तो अंत की ओर है, मैं जा रहा हूँ यहाँ पर अपने डेस्कटॉप के लिए लेने और उस के लिए वैकल्पिक करने के लिए परिचय देखने के लिए जा रहा है जो कार्यक्रम, एक छोटे से कुछ इस रोशनी. यही कारण है कि हम लागू करने के लिए जा रहे है कि कैसे एक ही कार्यक्रम आज - दो पहेली interlocked और जब कि, टुकड़े पर क्लिक किया, दुनिया के लिए कहेंगे हैलो दुनिया. तो चलो वास्तव में वहाँ जाने दिया. तो मैं आगे जाना है और एक खोलने के लिए जा रहा हूँ वेबसाइट scratch.mit.edu के रूप में जाना जाता है. और इस के लिए मेरे नेतृत्व करेंगे यहाँ इस वेबसाइट. अग्रिम में, मैं इस मामले में लॉग इन किया है वेबसाइट और पहली समस्याओं कि के माध्यम से चलना होगा इन कदमों से कुछ. मुझे आगे जाना है और क्लिक करने के लिए जा रहा हूँ यहाँ मेरे खरोंच फ़ोल्डर पर. और यह मुझे दिखाने के लिए जा रहा है मैं है कि कुछ परियोजनाओं वास्तव में पहले में बनाया. और यह पता चला है कि इस ग्राफिकल प्रोग्रामिंग भाषा जा रहा है न केवल खींचकर हमें चलो कार्यक्रम और को यदि आप इन पहेली टुकड़े गिर यहां तक ​​कि विशेष सॉफ्टवेयर की जरूरत नहीं है. यह सब एक ब्राउज़र के भीतर एम्बेडेड है तो आप पर, सिद्धांत रूप में, यह कर सकते हैं कि अभी आपके कंप्यूटर, आप में से कुछ के रूप में अच्छी तरह से भी जरूरत के बिना, हो सकता है CS50 उपकरण जैसे सॉफ्टवेयर, अगले हफ्ते आ जाएगा. तो मैं शीर्ष कोने तक जाने के लिए जा रहा हूँ यहाँ पर क्लिक करें और बनाएं. और एक पल में मैं एक रिक्त पाने के लिए जा रहा हूँ मैं शुरू कर सकते हैं जो के माध्यम से स्क्रीन इस ग्राफिकल में प्रोग्रामिंग प्रोग्रामिंग वातावरण. लेकिन इस बार, यह ज्यादा होने जा रहा है बहुत सरल वास्तव में ऐसा करने के लिए. तो बस एक पल में, जब वाईफ़ाई सहयोग, हम अब इस स्क्रीन है. तो एक त्वरित मौखिक दौरे, लेकिन मैं कहता हूँ की हिम्मत, निश्चित रूप से आप में गोता जब पहली समस्या सेट, तुम हूँ सभी बहुत इस खोज सुलभ और काफी सहज ज्ञान युक्त. लेकिन एक मानसिक तस्वीर रंग देना बस एक पल के लिए. तो यह शीघ्र कहावत सहेजें नीचे परिवर्तन, तुम खरोंच देखने के लिए जा रहे हैं. यह एक प्रेत है. यह एक चरित्र है. और उन्होंने कहा कि हम एक चरण फोन करता हूँ क्या पर रहता है, इस बड़े सफेद आयत पर वह नीचे, ऊपर ले जा सकते हैं, जो छोड़ दिया है, सही, और करते हैं, वास्तव में, कार्रवाई के अन्य प्रकार के. इस बीच, यह उपयोगकर्ता के बीच में इंटरफेस, हम एक पूरी गुच्छा की है टुकड़े पहेली. और आप की तरह वे बातें कहते हैं देखेंगे 10 कदम चाल, 15 डिग्री दिया, एक निश्चित दिशा में इशारा करते हैं. लेकिन श्रेणियां होती है ऊपर भी यहां ब्लॉकों. इसलिए मैं दिखता करने के लिए जाना है, तो आप देखेंगे कि अन्य पहेली टुकड़े है कि वहाँ जाहिरा तौर पर करने के लिए इस सीआईटी बता देंगे दिखाने के लिए, लगता है, कहते हैं हैलो खुद को, खुद को छिपाने. मैं ध्वनि करने के लिए नीचे जाना है, यह पता चला है म्याऊ की तरह लगता है खेलने के तरीके, वहाँ एक ड्रम खेलने के लिए, सभी ध्वनियों को रोकने के लिए. तो, लंबी कहानी को कम, एक पूरी वहाँ आप की अनुमति है कि पहेली टुकड़े का गुच्छा इस बिल्ली, या के किसी भी संख्या बताने के लिए अन्य पात्रों, क्या करना है. लेकिन यह सुनिश्चित करने के लिए सभी तुम हो प्रोग्रामिंग शुरू करने की जरूरत है. और इस बड़े सफेद बॉक्स, या भूरे रंग के बॉक्स पर दाहिने हाथ की ओर, इस जहाँ है मैं वास्तव में खींचें करने के लिए जा रहा हूँ उन पहेली टुकड़े ड्रॉप. कि मेरी खाली पाठ है खिड़की बराबर. तो मैं आगे जाना है और क्लिक करने के लिए जा रहा हूँ बीच में नियंत्रण. या यों कहें, मुझे शुरू करते हैं घटनाक्रम के तहत ऊपर. घटनाक्रम बेंच के तहत, आप ध्यान देंगे एक जान - बूझकर कर रहे हैं कि कुछ चीजें कि इस तरह से शीर्ष पर घुमावदार वे शायद पर गूंथ नहीं है पहेली टुकड़े के ऊपर. वे शुरू Demark क्योंकि और है कि एक कार्यक्रम के, एक की शुरुआत स्क्रिप्ट, तो बात करो. तो मैं आगे और खींचें जाते हैं, जब हरे झंडा तो यहाँ पर क्लिक किया, और मैं इस बिल्ली कहना चाहता हूँ पहली बार में कुछ. तो मैं नीचे जा रहा हूँ लग रहा है पैनल. और मुझे आगे जाना है और हड़पने के लिए जा रहा हूँ हैलो ब्लॉक, और खींचें कहना, और ड्रॉप, और चलते हैं तो यह बात स्वतः वहाँ इंटरलॉक. और फिर मैं कर सकता हूँ नोटिस पाठ पर क्लिक करें. और मैं इसे और अधिक होने की ओवरराइड कर सकते हैं दुनिया नमस्कार, कहते हैं, जैसे विशिष्ट. और अब हम मैं दावा है कि कार्यक्रम कि बहुत अधिक के बराबर है मैं कार्यान्वित रहस्यमय कार्यक्रम एक पल पहले सी में. मैं बाएं हाथ की ओर करने के लिए अब खत्म हो जाना है नोटिस एक बड़ा बंद हस्ताक्षर नहीं है और एक बड़ा हरा झंडा. मुझे स्पष्टता के लिए ज़ूम इन करते हैं. और अब मैं इस हरी ध्वज क्लिक करने पर, आप शायद क्या यह पहला अनुमान लगा सकते हैं कार्यक्रम अब क्या करने जा रहा है. तो वहाँ भी है, हम प्रोग्रामिंग रहे हैं, लेकिन हम वास्तव में फंस गया हो रही नहीं कर रहे हैं उन वाक्यात्मक में से कुछ में, मिनट विवरण. लेकिन कुछ एक सा प्रयास थोड़ा और अधिक दिलचस्प. मुझे यहाँ मेरे खरोंच फ़ोल्डर में चलते हैं. और वास्तव में, मुझे तो मुझे खोल देना यहाँ के लिए एक अलग कार्यक्रम सिर्फ एक पल, खुला फाइल, इस विंडो को अधिकतम और मैं आज के में जाने के लिए जा रहा हूँ स्रोत निर्देशिका. हमेशा की तरह, तुम आज, मिल जाएगा आगे, कि आज के उदाहरण के सभी के अंदर पहुँच रहे हैं पाठ्यक्रम की वेबसाइट. और मैं यहाँ से आगे जाने के लिए और लेने के लिए जा रहा हूँ थोड़ा कुछ अलग ऊपर. यहाँ यह एक, जिसके लिए मैं एक स्वयंसेवक की जरूरत है. कौन आज एक डेस्क दीपक चाहेंगे? ठीक है, कैसे किसी के बारे में थोड़ा - तुम अंत पर कर रहे हैं? नीचे आओ. अब, आप भाग लेना चाहते हैं, या होगा बस डेस्क दीपक के साथ शुरू कहते हो? वैनेसा: [सुनाई]. डेविड मालन: ठीक है. बहुत बढ़िया, आप नाम क्या है? वैनेसा? डेविड. आपसे मिलकर अच्छा लगा. तो ऊपर की ओर आते हैं और वैनेसा की जा का नियंत्रण लेने के लिए मेरे बस एक पल के लिए कुंजीपटल. और क्या मैं सिर्फ समय के लिए, यहाँ किया है मैंने महसूस किया है के रूप खातिर, Wi-Fi, स्क्रैच थोड़ा धीमा था हम कर रहे हैं कि प्रोग्रामिंग वातावरण का उपयोग करते हुए, भी डाउनलोड किया जा सकता है अपने स्थानीय कंप्यूटर पर चलाते हैं. तो क्या मैं में, व्याख्यान के अग्रिम में किया था ऐसा होता है कि मामला है, मैं डाउनलोड है हम साथ खेलने के बारे में सभी कर रहे हैं फाइलें वे एक छोटे से अधिक चला सकते हैं तो जल्दी यहीं मेरे लैपटॉप पर. मैं देख रहा हूँ क्यों अब तो है कि एक मैक विशेष इंटरफेस. तो मैं आगे जाने के लिए जा रहा हूँ और यह एक खुला. मैं अब आगे जाने के लिए जा रहा हूँ पूर्ण स्क्रीन खिड़की. आप देखेंगे और, जैसा कि हम बहुत जल्दी कर सकते हैं इस छात्र के रूप में किया, में से एक अपने पूर्ववर्तियों, हैलो दुनिया से जाना एक बहुत अधिक सम्मोहक के लिए आवेदन. तो यहाँ के निर्देश हैं. ओह, और हम एक और बात है. मैं, के बाद से यह मजेदार होगा सामान्य रूप से, हम फिल्म बना सकता हूँ कैमरे इस तरह से. मैं यह वैनेसा, अगर मजेदार होगा हम दुनिया को देख सकता था अपनी आंखों के माध्यम से. तो यहाँ हम कुछ गूगल ग्लास है. [चकित हाँफना] डेविड मालन: हम केवल दे दिया जाएगा दूर डेस्क आज लैंप. [हंसी] तो मुझे यह क्यू करते हैं. ठीक है, तो यह स्पर्श. ठीक है, ग्लास, एक वीडियो रिकॉर्ड. सब ठीक है, वैनेसा? अब, एक अलग रूप है कि कुछ भी नहीं मिला है अगर तुम देखो, खरोंच के साथ क्या करना ऊपर से थोड़ा और सही करने के लिए, आप देखेंगे शाब्दिक गिलास, और तुम चाहिए एक छोटे आयताकार खिड़की से देखते हैं. आप अपने सभी सहपाठियों को देखना चाहिए अब सही फिल्माया जा रहा है? हां. वैनेसा: हाँ. डेविड मालन: ठीक है. तो यह ठीक है. हम बाद में इस दृश्य को रिलीज होगी. अभी के लिए, आपका ध्यान बारी यहाँ स्क्रीन करने के लिए. और क्या अपने पूर्ववर्ती किया गया है स्क्रीन पर कुछ निर्देश डाल सिर्फ एक रंग कार्यक्रम का उपयोग करके. तो तुम, एक पल में, करने के लिए जा रहे हैं शुरू करने के लिए अंतरिक्ष बार प्रेस. और फिर कुछ पहेली टुकड़े जा रहे हैं ऊपर स्क्रीन जा शुरू करने के लिए. और तुम बस, तीर कुंजी हिट करना चाहते हैं जैसे असली डीडीआर में, अनुसार चीजों को अस्तर के साथ उन तीर के साथ. वैनेसा: ठीक है. डेविड मालन: आप इस से पहले खेलने की है. वैनेसा: हाँ. डेविड मालन: सब ठीक है, वैनेसा, आगे बढ़ो और इसे दूर ले. [संगीत - Kayne पश्चिम, "मजबूत"] [वाहवाही] डेविड मालन: तो अब चलो उस से एक कदम उठाना. तो जाहिर है, कि अंत खेल है. अंत खेल हैलो दुनिया नहीं है. लेकिन आप जरूरी करने के लिए नहीं है इसलिए बातचीत कर रहे हैं कि चीजें. तुम भी एनीमेशन कर सकते हैं. तो उदाहरण के लिए, एक दूसरे से अपने उत्तराधिकारियों, यहां यह कार्यक्रम बनाया जो अधिक से अधिक एक कहानी कहता है यह एक खेल कार्यान्वित करता है. तो मुझे आगे चलते हैं और यहां खोल एक हमारी एक ही स्रोत निर्देशिका में कार्यक्रम आज से. एक कहते हैं, और चलो शुरू करो एक कुकी प्रेम कहानी के साथ. और, यह भी शैक्षिक बना है, लेकिन करने के लिए नहीं आप इस एक घड़ी के रूप में, करने के लिए लगता है अपने आप को उन साधारण की जो हम बात कर ली है प्रोग्रामिंग अवधारणाओं के बारे में इस प्रकार अब तक - चर, और छोरों, और स्थिति, अपने पूर्ववर्ती शायद का उपयोग किया था में से कुछ को लागू करने के लिए visualizations. आप यहाँ देख सकते है. तो मैं तुम्हें एक कुकी प्रेम कहानी दे. [संगीत - ग्रीन दिवस, "छुट्टी"] [दुर्घटना] [संगीत - कछुए, "एक साथ खुश"] डेविड मालन: तो वहां सब ठीक है,, हम एक कुकी प्रेम कहानी थी. लेकिन फिर भी वहाँ - [वाहवाही] डेविड मालन: यहां तक ​​कि वहां सब ठीक है,, उन दिलों से चला गया, के बारे में सोचना स्क्रीन के ऊपर से नीचे, की एक बिट वास्तव में वहां गया था randomness चल रहा है. और वास्तव में, हम भी देखेंगे कि जैसे वातावरण की सरलतम स्क्रैच, सी, के रूप में आप उत्पन्न कर सकते हैं यादृच्छिक संख्या, या भ्रम की यादृच्छिक संख्या, खेल इतना है कि एक यह हो सकता है की तुलना में थोड़ा अधिक दिलचस्प आप बिल्कुल था अगर हो कठिन सब कुछ कोडित. तुम वहाँ, देखते हैं कि आंदोलन में जवाबदेही किसी तरह का नहीं है. जैसे ही जिंजरब्रेड आदमी छू के रूप में जिंजरब्रेड औरत, वह दूर स्थानांतरित करने के लिए लगता है. और हां, वास्तव में, आप में, लागू कर सकते हैं सबसे प्रोग्रामिंग भाषाओं, धारणा घटनाओं की, जिसके तहत अगर एक हाथ से छू दूसरी ओर, कि कुछ ट्रिगर कर सकते हैं अपने स्रोत कोड के लिए की वास्तव में अमल. आप इस तरह के लिए सुन सकते हैं स्क्रीन पर बातें. तो चलो की, फिर, एक त्वरित दौरे ले जाने इमारत ब्लॉकों में से कुछ का उपयोग हम कर सकते हैं इन लक्ष्यों में से कुछ प्राप्त करने के लिए. तो यहाँ है क्या हम आगे करेंगे एक बयान कहते हैं. एक बयान में बैंगनी होना होता है स्क्रैच, इस तरह एक छोटे से कुछ, लेकिन यह है कि मनमाने ढंग से है. एक बयान सिर्फ एक पहेली टुकड़ा या है, अधिक आम तौर पर, एक अनुदेश, कि ऐसा करने के लिए कंप्यूटर बताता है कुछ एक बयान. तो यहाँ एक सरल नमूना है. दुनिया हैलो कहो. एक और एक के बाद एक दूसरा इंतजार किया जा सकता है. समर्थित है तो यह पहेली टुकड़ा, स्क्रैच में, हम बता दूँगा अपने पात्रों कुछ के लिए विराम सेकंड की संख्या. यह भी, बस एक बयान है. यहाँ अगले, हम एक और अधिक है दिलचस्प एक, ध्वनि म्याऊ खेलते हैं, और छोटा सा तीर, कि खरोंच में इसका मतलब है इस एक बूंद नीचे मेनू है. तो आप ध्वनियों आयात कर सकते हैं. आप ध्वनियों को रिकॉर्ड कर सकते हैं और अन्य स्क्रैच में मजेदार बातें. और भी, हालांकि, अंत में, कि दिन की, बस एक बयान है. लेकिन अब एक और अधिक परिचय एक के रूप में जाना जाता है कि दिलचस्प टुकड़ा, बूलियन अभिव्यक्ति. नाम के बाद पूंजी बी, एक साथी Bool नाम दिया है. और एक बूलियन अभिव्यक्ति सिर्फ एक है पहेली टुकड़ा या अधिक आम तौर पर, एक है कि सूचना का टुकड़ा सही है या गलत या तो - एक या शून्य, हाँ या नहीं. तो यह सिर्फ उन में से एक है दो विपरीत. में तो ऐसा ही एक बूलियन अभिव्यक्ति स्क्रैच की दुनिया में इस नीले रंग की तरह लग रहा है पहेली टुकड़ा. और यह एक सवाल है, माउस पूछ रहा है नीचे, और कहा कि या तो की, हो सकता है सही है या गलत बेशक,. स्क्रैच में इस पहेली टुकड़े के साथ तो ठीक है, तुम अगर पता लगाने में सक्षम हो जाएगा एक माउस की जा रही है, वास्तव में, अगर पहेली मानव बातचीत से नीचे आयोजित अपने कार्यक्रम के साथ. यह एक, एक छोटे से अधिक सार है लेकिन उन दो सफेद बक्से बस संख्या के लिए कर रहे हैं. तो आप चीजों की तरह कर सकते यह है अन्य की तुलना में कम संख्या? और यदि हां, स्क्रैच व्यवहार करेंगे एक तरह से या अन्य. यह एक छोटे से अधिक चित्रमय है. प्रेत अगर यह बिल्ली, के लिए अगर उदाहरण के लिए, वास्तव में छू रहा है माउस सूचक. छोटा सा तीर सिर मंडरा रही है तो अगर बिल्ली से अधिक है, तो यह पहेली टुकड़ा सच करने का मूल्यांकन करेंगे. आप अगर यह है, जो मामले में, सच हो जाएगा हम करेंगे के रूप में, यह बूलियन अभिव्यक्ति का उपयोग आप कर सकते हैं, एक शाखा में, एक पल में देखते हैं ऐसा करते हैं, या आप ऐसा कर सकते हैं, या तो हम एक शर्त थी बहुत पसंद है कि जाँच की, एक और अंतिम व्यक्ति है कमरे में? यदि हां, तो एक जोड़ें. अन्यथा, आगे की चिंता नहीं है. तो एक बूलियन अभिव्यक्ति भी हो सकता है एक साथ एक साथ या या एड और एड. तो आप बूलियन अभिव्यक्ति गठजोड़ कर सकते हैं और यह कहते हैं और इस बात के लिए सच होना चाहिए सच करने के लिए पूरी बात. और यहाँ एक और अधिक वास्तविक दुनिया उदाहरण है. आप कोर्स करने के लिए CS50 पाठ्यक्रम का उपयोग किया है शॉपिंग, इन चेक बक्सों वहाँ, जहाँ आप अगली कि चेक बॉक्स कोर्स करने के लिए, कि, हां, कहेंगे केवल मुझे पाठ्यक्रमों जो दिखाने के लिए क्यू मूल्य 4.5 या उच्चतर है. आप इसे अचयनित हैं, नहीं, ऐसा नहीं करना उस के बारे में चिंता है. या इसी तरह, सही पर, नहीं करता है मैं ले जा रहा हूँ पाठ्यक्रमों के साथ संघर्ष, अगर यह सच है या झूठ या तो है. यह सिर्फ एक बूलियन अभिव्यक्ति है. तो आप का उपयोग किया है जब यह सब समय चेक बक्से के साथ वेबसाइटों, आप सिर्फ रहे हैं एक बूलियन के बराबर toggling पर और बंद अभिव्यक्ति. तो किस रूप में आप इन का उपयोग करते हैं? खैर, स्क्रैच में, हम एक पल में देखेंगे शर्तों रहे हैं कि कि इस तरह दिखेगा. और उस तरह की समझदार है, क्योंकि ज्यादा तरह pseudocode में, हम इंडेंट यू के आकार का पहेली टुकड़े की तरह, मतलब कि यू के अंदर कुछ भी है कि है निष्पादित करने के लिए जा रहा है, या, के आधार पर नहीं यह वह जगह है जहाँ पर. तो बूलियन अभिव्यक्ति, तो अगर अंदर जो कुछ भी मार डाला जाएगा. इस बीच, एक अगर / और ब्लॉक नहीं है. तो अगर आप इस चला जाता है कि एक शाखा चाहते हैं जिस तरह से या कि, स्क्रैच कि हमें देता है. और इस तर्क से, अब, कि भले ही पहेली टुकड़ा स्पष्ट रूप से बहुत छोटा है इसके अंदर कुछ और कील, खरोंच पहेली टुकड़े, वे कर रहे हैं सिर्फ बढ़ती जा रही. तुम खींचें और किसी बात पर ड्रॉप, यह बस जो भी इसे फिट करने के लिए विकसित होगा तुम क्या करने की कोशिश कर रहे है. इसलिए हम इन बातों का दो ले जा सकते हैं सड़क में एक तीन तरह से कांटा बना तो आप यह करते हैं कि या तो, या कि, या यह दूसरी बात यह है कि सिर्फ उनके घोंसले से उस रास्ते में. बेशक, अगर आप ऐसा करेंगे कि भी बहुत, यह बदसूरत पाने के लिए शुरू होता है. लेकिन उस बिंदु पर, तुम वास्तव में कर रहे हैं शायद बहुत अच्छी तरह से प्रोग्रामिंग नहीं. और इतना है कि आवर्ती होगा विषय भी है, शैली की है. वास्तव में ऐसा बस कितनी अच्छी तरह से अपने कोड प्रारूप? या कितनी अच्छी तरह आप अपने कोड डिजाइन करते हैं? लेकिन अधिक भविष्य में उस पर. और अब हम छोरों है. स्क्रैच में एक अच्छा हमेशा के पाश नहीं है जो शाब्दिक अर्थ है कि - Do फिर इस के अंदर जो कुछ भी है, और फिर, और फिर से. आप और अधिक ठोस हो और कह सकते हैं निम्नलिखित बात 10 बार. आप भी चर का उपयोग कर सकते हैं. तुम उस में किसी भी नाम के साथ आ सकते थोड़ा नीचे गिरा और कहते हैं, मुझे एक दे चर n बुलाया और सेट यह कुछ मूल्य के बराबर. और फिर आप कार्य किया जा सकता है. लेकिन अधिक बस एक पल में उन पर. मेरे पास वापस जाओ मेरे स्क्रैच इंटरफ़ेस. और मुझे आगे इस बार चलते हैं. और, आगे बढ़ो और ऊपर खुला से, एक उदाहरण कहते हैं - कि एक छोटे से अधिक दिलचस्प है. , वास्तव में, मुझे आगे चलते हैं, और मुझे सिर्फ यह अपने आप करते हैं. मैं इसे खोलने की जरूरत नहीं है. मुझे, नई फ़ाइल के लिए चलते हैं. मैं घटनाओं पर जाने के लिए जा रहा हूँ. मैं जब हरा झंडा लिए जाने के लिए जा रहा हूँ क्लिक किया, और मैं ध्वनि करने के लिए जा रहा हूँ. और मैं खींचें और यह ड्रॉप करने के लिए जा रहा हूँ पहेली टुकड़ा, ध्वनि म्याऊ खेलते हैं. यह एक साथ latches. और अब, मैं हरी ध्वज क्लिक करें अगर - [MEOW ध्वनि] डेविड मालन: आराध्य. ठीक है, तो अब हम कुछ एक छोटे से करते हैं अभी प्रदर्शित करने के लिए अधिक तार्किक है कि हम अभी के लिए, कर सकते हैं. मैं खोलना करने के लिए जा रहा हूँ उस आदमी से यह. मैं नियंत्रण करने के लिए जा रहा हूँ. और मैं एक शर्त हड़पने के लिए जा रहा हूँ. तो कुछ तो है. इतना है कि यह वहाँ कैसे दिखता है. तो मैं एक बूलियन अभिव्यक्ति की जरूरत है. और मुझे आगे जाना है और हम कहते हैं, मुझे ऑपरेटरों के लिए चलते हैं. मैं थोड़ा कुछ करने जा रहा हूँ Mathy, बस kicks के लिए. मैं अगर, यहाँ में जाने के लिए और कहने जा रहा हूँ कुछ, कुछ और की तुलना में कम है आगे बढ़ो और कुछ करो. तो अब, आप एक यादृच्छिक ब्लॉक क्या है. तो नोटिस कैसे, मैं इस पर जाएँ अगर यहाँ बात यह है कि वहाँ में तस्वीर होगी. तो अब, नोटिस, मैं क्या करने के लिए शुरू कर रहा हूँ कुछ पहले से ही अधिक तार्किक दिलचस्प. यदि 1 और के बीच एक यादृच्छिक संख्या 10 के छह हम कहते हैं, की तुलना में कम है. मैं छह चुनते हैं, कि अनिवार्य रूप से इसका मतलब है, 50% के साथ निम्न कार्य संभावना. यह एक सिक्का flipping की तरह है. अब, मैं सशर्त कुछ कर सकते हैं. और मैं जा रहा हूँ कि कुछ ऐसा करने के लिए ध्वनि खेलने है. तो अब, मैं स्क्रीन पर क्लिक करने पर झंडा, यह एक सिक्का पोट की तरह है. [MEOW ध्वनि] डेविड मालन: यह सिर था या वहाँ whatnot. चलो फिर से करते हैं. [MEOW ध्वनि] डेविड मालन: फिर प्रमुखों. [MEOW ध्वनि] डेविड मालन: फिर प्रमुखों. ठीक है, ओफ़्फ़. उस समय पूंछ. इसलिए समय के 50%, हम ऐसा करते हैं असीम रूप से लंबे समय तक, हम 50% meows मिलेगा और 50% चुप्पी. तो वहाँ सिर्फ एक बुनियादी इमारत हमें लगता है कि कर देता है कि ब्लॉक. लेकिन यह है कि मैं एक तरह से कठिन है उस बटन को क्लिक रखने के लिए. तो चलो बस खींचें और फेंक दो उन सभी दूर. आप बीच करने के लिए उन्हें घसीटा, तो वे सिर्फ खुद हटा देंगे. मुझे नियंत्रित करने के लिए ऊपर चलते हैं. मुझे हमेशा के लिए चलते हैं. और इस बार, मैं क्या करने जा रहा हूँ minorly कष्टप्रद कुछ. [हंसी] डेविड मालन: और मुझे जाने दो आगे और नियंत्रण करते हैं. सिर्फ इसलिए, एक मिनट रुको यह भी झंझरी नहीं है. [MEOW ध्वनि] डेविड मालन: यह प्राकृतिक नहीं है. ठीक है. [MEOW ध्वनि] डेविड मालन: और अच्छा है, क्या है नोटिस स्क्रैच के बारे में, आप उन लोगों के लिए जो तुम, पूर्व प्रोग्रामिंग का अनुभव है शुरू और बंद करने की जरूरत नहीं है. आप संकलन करने की जरूरत नहीं है. तुम बस यह कार्यक्रम बदल सकते हैं, और गतिशील रूप से अनुकूल होगा. तो यह एक हो रही है थोड़ा दिलचस्प. लेकिन यह एक कदम आगे ले लो. मुझे आगे जाना है और हो जाओ उस कार्यक्रम से छुटकारा. [MEOW ध्वनि] डेविड मालन: यह है कि क्या हम हूँ स्क्रैच में एक बग कहते हैं. उन्होंने कहा कि ध्वनि कर रखना चाहिए. तो हम उसे रोकने के लिए बताता हूँ. ठीक है, तो अब मैं कर रहा हूँ में जाने के लिए जा रहा - मैं एमआईटी बता दूँगा. हम हमेशा के लिए खत्म करने के लिए यहाँ जाना होगा. और अब, मैं कुछ करना चाहते हैं बार - बार. मैं नियंत्रण में जाने के लिए जा रहा हूँ. , मैं खींचें करने के लिए और चलो देखते हैं जा रहा हूँ मेरी शर्त है. तो अब तर्क नोटिस. हरे ध्वज क्लिक किया जाता है, तो ऐसा हमेशा के लिए कुछ है, लेकिन केवल कि करना यह दूसरी बात सच है अगर कुछ. मैं चलो, जाने के लिए जा रहा हूँ संवेदन, का कहना है. और मुझे आगे जाना है और चयन करने के लिए जा रहा हूँ छू और वहाँ इसे छोड़. यह एक बूलियन अभिव्यक्ति है. और अब, इस गिरावट में, नोटिस डाउन मीनू, वहाँ रहे हैं कुछ पूर्वनिर्धारित मान. तो मैं आपको छू रहे हैं, कह सकते हैं स्क्रीन के किनारे? या फिर आप माउस सूचक को छू रहे हैं, स्क्रीन पर तीर? तो मैं क्या करने जा रहा हूँ. और अगर ऐसा है, तो मैं जा रहा हूँ आगे और ध्वनि म्याऊ खेलते हैं. तो अब मैं एक तरह से है एक खेल की शुरुआत की - एक प्यारा खेल. [MEOW ध्वनि] डेविड मालन: ठीक है, एक प्यारा, छोटी गाड़ी खेल. हम कहते हैं, मुझे इंतज़ार करते हैं, वहाँ एक दूसरा. अब क्लिक करके, फिर से खेलना हरा झंडा. [MEOW ध्वनि] डेविड मालन: तो अब यह है एक बिल्ली petting तरह. [MEOW ध्वनि] डेविड मालन: सब ठीक है, अब इस एक मैं पहले से बना था. बहुत देर से, यह एक तरह से हो जाता है बेकार की बातें करना आसान. इसलिए मुझे यहां जाने दिया. चलो का कहना है, कि पालतू बिल्ली थी. चलो अब खुला पालतू बिल्ली नहीं करते हैं. अब, हम इस एक खेलते हैं, आप कर रहे हैं, तो आप अनुमान लगा सकते हैं स्क्रीन पर देख - [MEOW ध्वनि] डेविड मालन: अब, अगर मैं पालतू बिल्ली [शेर की दहाड़] डेविड मालन: ऐसा नहीं वास्तव में उस मामले में पालतू बिल्ली. तो अब हम सिर्फ एक का एक उदाहरण है दो दिशाओं में जा रहा है कि शाखा. अब मुझे आगे चलते हैं और यहाँ एक और खुला. यह एक, भी, बीच में हमारे स्रोत दिन के लिए कोड फ़ाइलें. तो मुझे मेरे स्रोत में वापस जाओ निर्देशिका और में जाना है, चलो चुनने दें यहाँ यह लड़का और देखो क्या अलग है. वाह, ठीक है, तो अब यह हो रही है एक छोटे से अधिक जटिल. और हम इस आदमी क्या करता है, को देखने से पहले, के कार्यक्रम से, अनुमान करने की कोशिश करते हैं दाहिने हाथ की ओर. और अब हमारे पास स्पष्ट रूप से अनुमति देता है खरोंच कई कई लिपियों, है एक प्रेत के साथ जुड़े कार्यक्रमों, एक चरित्र के साथ, और, जाहिर है, वे दोनों lockstep में चलाने के लिए जा रहे हैं. इन दोनों कार्यक्रमों की शुरू होता है क्योंकि हरे ध्वज क्लिक करने के साथ, यह है साथ, एक और अधिक उन्नत विषय पर इशारा जो आप में से कुछ परिचित हो सकता है, सूत्रण, या के रूप में जाना बहु सूत्रण. लंबी कहानी संक्षेप में, कंप्यूटर बाहर वर्षगांठ आज अनिवार्य रूप से एकाधिक कर सकते हैं एक ही बार में बातें. या वे तो एक बार में एक ही बात कर सकते हैं आप भी सूचना नहीं है कि तेजी से कि यह वास्तव में एक कर रहा है एक बार में बात. लेकिन अब के लिए, चलो मान लेते हैं दोनों की कि इन कार्यक्रमों पर अमल करने के लिए जा रहे हैं एक ही समय. और उन दोनों को है, नोटिस हमेशा के टुकड़े पहेली. तो वे दोनों को चालू रखने के लिए जा रहे हैं मैं लाल बंद हस्ताक्षर मारा जब तक. तो क्या वे क्या करने जा रहे हैं? बाएं हाथ की ओर, मैं जाहिरा तौर पर कर रहा हूँ एक चर मौन कहा जाता है की घोषणा. तो मैं ऐसा कुछ यह फोन नहीं किया मैं इसे इस को मौन एन तरह कहा जाता बोरिंग अर्थ संप्रेषित करने के लिए समय है. मैं बराबर शून्य करने के लिए सेट. के रूप में है कि झूठी की सोचते हैं, या के झूठे के रूप में उस के बारे में सोचो. अब हमेशा के लिए निम्नलिखित है. कीबोर्ड के अंतरिक्ष बार दबाया जाता है, तब को मौन हैं, शून्य के बराबर होती है फिर बराबर करने के लिए एक मौन बदल जाते हैं. वरना, शून्य को मौन निर्धारित किया है. तो तार्किक रूप से, कि एक पूरे के बावजूद है कि पहेली टुकड़े का गुच्छा मैं अंतरिक्ष बार मारा जब बस, कह रही है, मैं चर करने के लिए क्या करना चाहिए को मौन कहा जाता है? शून्य करने के लिए एक से इसे बदलें या शून्य से एक है. यही सब है. तो यह एक प्रकाश स्विच मोड़ की तरह है एक साथ या बंद और याद है, पर चर, मैं ऐसा कर चुका हूँ कि. इस बीच, दाहिने हाथ की ओर, में आम आदमी की दृष्टि का उद्देश्य क्या है सही पर स्क्रिप्ट? छात्र: समुद्र शेर ध्वनि खेलने के लिए. डेविड मालन: समुद्र शेर ध्वनि खेलने के लिए, वह द्वारा, मौन नहीं है अगर कि चर की प्रकृति. इसलिए हम तो बात है, राज्य साझा कर रहे हैं, इन दोनों के पार जानकारी साझा लिपियों, क्योंकि यहां नोटिस, हम कर रहे हैं हमेशा के लिए निम्नलिखित कर. को मौन यदि यह को मौन नहीं है अगर शून्य है, तो - मौन कर झूठी है, तो खेलना इस समुद्र शेर ध्वनि. और के लिए, हाय, हाय, हाय, अपने आप को लगता दो सेकंड, तो एक पल के इंतज़ार, और फिर से जाँच करें. तो हम बाईं ओर यहाँ पर अब जाना है, जहां तक ​​इस आदमी है, और मारा हरा झंडा, [समुद्र शेर ध्वनि] डेविड मालन: किस बिंदु पर करता है यह सच में कष्टप्रद हो? इस बस पर हमेशा के लिए जाना होगा. तो कभी कभी, अनंत छोरों, तो बात है, विचार कर रहे हैं. लेकिन इस मामले में, जैसे ही मैं अंतरिक्ष बार मारा, वह बंद हो जाता है. अब प्रोग्राम से बाहर नहीं किया गया है. यह अभी भी इन छोरों में चल रहा है. लेकिन मैं फिर से अंतरिक्ष बार मिलता है - [समुद्र शेर ध्वनि] डेविड मालन: वह लेने के लिए जा रहा है वह कहाँ दूर छोड़ दिया. इसलिए हमें ऐसा करने के लिए एक ही रास्ता है कुछ बार बार लेकिन, कि केवल सशर्त समय,. ठीक है, हम कर के इस नस में हैं, जबकि बातें बार - बार, मुझे जाने यहाँ एक और इस तरह के उदाहरण में चलते हैं. यह एक हम भेड़ गिनती फोन करता हूँ. और यह आदमी क्या करता है नोटिस. यह थोड़ा और अधिक की तरह वास्तव में है pseudocode हम पर साथ खेला वह कुछ काउंटर सेट जिससे बुधवार,, करने के लिए, यह फिर से एन के रूप में है के बारे में सोच शून्य, वह हमेशा के लिए निम्न कार्य करता है. उन्होंने कहा कि एक के लिए काउंटर के मूल्य कहते हैं दूसरा, तो एक दूसरे इंतजार कर रहा है, और एक ने काउंटर बदल जाता है. और इस संदर्भ में, कि बस वेतन वृद्धि में यह मतलब है. इसलिए वह इसे करने के लिए एक कहते हैं. तो यह सचमुच है - यह हमें लगता है कि काफी क्या नहीं है की भेड़ों की गिनती के रूप में. यह गिनती कर रही है भेड़, हमेशा के लिए, ऊपर शून्य से. तो हम इसी तरह की बातें कर सकते हैं वहाँ, तार्किक. लेकिन अब साफ करने की कोशिश करते हैं इन चीजों में से कुछ ऊपर. मुझे एक साधारण में अब आगे चलते हैं हमारी बिल्ली बस जा रहा है जहां उदाहरण खांसने लगते हैं. ठीक है, तो यहाँ हम खांसी 0 है - कंप्यूटर वैज्ञानिकों शुरू 0 से गिनती. तो इस बिल्ली बस जा रहा है तीन बार खांसी. और यहाँ मुझे लगता है कि कार्यान्वित कैसे है. हरे ध्वज क्लिक किया जाता है, खाँसी, प्रतीक्षा, खांसी, प्रतीक्षा, खांसी, रुको. और मैं सिर्फ खींचकर इस किया और पहेली टुकड़े गिर. या फिर आप स्क्रैच साथ टिंकर करने के लिए शुरू, क्या आप वास्तव में कर सकते हैं देखेंगे आप कर सकते हैं कि इतने टुकड़े नकल घसीट बिना अधिक जल्दी से बातें और विज्ञापन nauseum छोड़ने. लेकिन हम यहाँ का सबसे अच्छा मार्ग पर नहीं कर रहे हैं. कैसे मैं उसे कैसे कर सकता हूँ क्योंकि चौथी बार खांसी? खैर, मैं की तरह यहाँ नीचे जा सकता है. मैं तो नकल कर सकता है और वहाँ में इस पेस्ट. मैं कैसे उसे पांचवी बार खांसी कर सकता हूँ? खैर, कॉपी और फिर पेस्ट करें. या खींचें फिर छोड़ देते हैं. और बहुत जल्दी, इस कार्यक्रम शुरू होता है वास्तव में, वास्तव में अनावश्यक प्राप्त करने के लिए, वास्तव में लंबा है, लेकिन वास्तव में शुष्क. लेकिन यह साफ करने के लिए एक रास्ता है. स्पष्ट तरीका क्या है यह साफ करने के लिए? ठीक है, इसलिए हम वास्तव में वास्तव में जा सकते हैं बाहर और, आप अंतरिक्ष मारा बार, उसे खांसी है. लेकिन मैं सिर्फ कुछ करना चाहते हैं repetitively, हम करते हैं कि याद कुछ नियंत्रण निर्माणों. मेरे से बाहर इस चलते हैं जिस तरह से नियंत्रण में जाना. मुझे सिर्फ एक दोहराने करते हैं, तीन बार कहना. और अब मुझे कुछ चोरी इन पहेली टुकड़े की. मुझे यहां इस तस्वीर करते हैं. मुझे पूरी तरह से इन दूर फेंक देते हैं. और अब, मैं एक बेहतर है कार्यक्रम तैयार किया. क्यों? मैं बार की संख्या बदलना चाहते हैं इस बिल्ली को, मेरे पास खांसी कर, एक चर, या एक मूल्य बदल रहा है बल्कि तीन से चार, या करने के लिए पाँच या छह. या मैं सशर्त कुछ कर सकता है, भी, अंतरिक्ष के साथ अगर मैं चाहता था बार. तो यह एक सामान्य सिद्धांत है. आप कॉपी करने और चिपकाने कोड शुरू, एक बार यह खरोंच में, या में चाहे सी, आप कुछ कर रहे हैं गलत, सबसे अधिक संभावना है. या कम से कम, एक बार आप कुछ पार कर लिया है उचित प्रतियों की संख्या और चिपकाता है, तुम शायद रहे हैं कुछ गलत कर रहा. लेकिन क्या आप जानते हैं? मैं वास्तव में यह पसंद नहीं है. यह साफ डिजाइन नहीं है. मैं एक पहेली टुकड़ा वहाँ थे इच्छा खांसी है तो मैं नहीं होगा क्योंकि यह अपने आप को लागू करने के लिए है, पुराने तरीके से, द्वारा कहते हैं, और इंतज़ार कर रही है - क्या वे सिर्फ थे एक खांसी पहेली टुकड़ा. खैर, मैं वास्तव में ऐसा कर सकते हैं. मुझे अधिक ब्लॉकों के तहत चलते हैं, क्लिक करें एक ब्लॉक बनाने के लिए, और अब मैं इस मिल यहां खिड़की. मैं इस बात को खांसी कॉल करने के लिए जा रहा हूँ. मुझे आगे जाना है और ठीक क्लिक करने के लिए जा रहा हूँ. और अब सूचना, मैं एक नई शुरुआत मिल शीर्ष पर घुमावदार है कि टुकड़ा. और मैं इस के साथ क्या करने जा रहा हूँ, मैं हूँ अभी इन ब्लॉकों चोरी करने जा रहा है. मैं उन्हें यहां रखा जा रहा हूँ. और अब, इन तीन टुकड़े के साथ, मैं मैं एक कॉल करने के लिए जा रहा हूँ क्या कार्यान्वित समारोह, या किसी प्रक्रिया, या के कुछ आप एक विधि के रूप में यह पता कर सकते हैं. शब्दों के बीच मामूली अंतर. लेकिन अब के लिए, चलो बस एक समारोह कहते हैं. यह सिर्फ एक नई पहेली टुकड़ा है. अब यह इस तरह से कार्यान्वित किया जाता है. लेकिन खरोंच है कि हमें एक दिया गया है नोटिस कि पूरी की शारीरिक प्रतिनिधित्व यहाँ पर ब्लॉक. तो अब, मैं बस यहाँ पर इस खींच सकते हैं कहते हैं, तीन बार दोहराएँ, और मैं खेलते समय क्या, अब होने जा रहा है इस स्क्रिप्ट, केवल एक ही कार्यक्रम है एक समय में चल रहा है. केवल एक ही जब वहाँ हरे ध्वज क्लिक किया. लेकिन खांसी कहा जाता है कि बैंगनी ब्लॉक है प्रभावी ढंग से हर स्क्रैच बता रही है बार जब आप वास्तव में, कि पहेली टुकड़ा देख इन चरणों को निष्पादित कि मैं मैन्युअल रूप से लागू होता है. तो उस तरह के साफ है. लेकिन अब, मैं नहीं है, मैंने तय कर लिया है कि लगता है सिर्फ खांसी इस बिल्ली चाहते हैं. मैं उसे सक्षम होना चाहता हूँ साथ ही छींक. खैर, हम कैसे के बारे में जा सकते हैं छींक लागू करने? वैसे मैं बहुत ज्यादा कर सकता एक ही बात करते हैं. मैं एक और ब्लॉक कर सकता है. मैं ठीक क्लिक करें, इस छींक कह सकते हैं. फिर, यहाँ पर मैं वास्तव में कर सकता है , मुझे इस दोहरे देना है - आप की तरह महसूस करना चाहिए जहां और वहाँ आप शायद में कुछ नहीं कर रहे हैं सबसे अच्छा तरीका है. मैं, कुछ की तरह कह सकते हैं Achoo, एक पल के लिए. एक मिनट रुको. अब मैं छींक नामक एक नया खंड है. और वास्तव में, वहाँ यह है. लेकिन यह भी महसूस करना शुरू कर देना चाहिए - शायद नहीं प्रथम श्रेणी के सप्ताह है, लेकिन दूसरे से - बस एक छोटी सी अनावश्यक. जाहिर है, यहां कुछ अतिरेक नहीं है. तो मुझे, बजाय, प्रस्ताव है कि हम इस प्रकार इस परिभाषा को परिष्कृत. मुझे मेरी फाइल मेनू के लिए ऊपर चलते हैं. मैं इस संस्करण को बचाने के लिए नहीं जा रहा हूँ. मैं से एक में जाने के लिए जा रहा हूँ यहाँ मेरे premade फ़ाइलें. और मैं आगे जाने के लिए जा रहा हूँ और खांसी 2 खुला. वूप्स कि खांसी 2 था. मुझे आगे चलते हैं और खांसी 3 खोलो, जो इस स्रोत निर्देशिका है. 3 और नोटिस खांसी - ओह, मुझे बताया गलत क्रम में कहानी. मुझे इस कहानी से ठीक करते हैं. मैं बताना का मतलब कहानी खांसी 4 के साथ समाप्त होता है - वहाँ यह है. तो क्या मैं इसके बजाय, परिभाषित कहा जाता है एक बड़ा पहेली टुकड़ा परिभाषित, शब्द एन बार कहना. छींकने, जाहिर है, बस है स्क्रैच में, Achoo. तो हम एक शब्द के रूप में इसे व्यक्त, कि बस, क्योंकि कार्यक्रम की बाधा. और एक खाँसी, [खाँसी] है, लेकिन खाँसी सी ओ यू जी एच. तो यह है कि सिर्फ दो है अनिवार्य रूप से, कर अलग शब्द, एक ही बात. इसलिए मैं वास्तव में एक बना सकते हैं इस तरह नए ब्लॉक. मैंने पहले इस मेनू विकल्प का उपयोग नहीं किया. लेकिन आप ब्लॉक बनाओ क्लिक करते हैं, आपको कुछ विकल्प चुन सकते हैं. और आप कह सकते हैं कि इस ब्लॉक वास्तव में अन्यथा, कुछ आदानों लेता है तर्क, या पैरामीटर के रूप में जाना जाता है, तो आप के व्यवहार को संशोधित कर सकते हैं अपने ब्लॉक. तो क्या मैं एक पल पहले किया था मैं इस ब्लॉक कहो कहा जाता है. और फिर मैं इसे लेता है, कहा एक स्ट्रिंग इनपुट. और अब डिफ़ॉल्ट रूप से, सूचना, यह स्ट्रिंग 1 कहते हैं. एक स्ट्रिंग सिर्फ एक शब्द है, या एक है हमारे उद्देश्यों के लिए वाक्यांश,. लेकिन मैं सिर्फ कुछ डाल करने के लिए जा रहा हूँ वहाँ प्लेसहोल्डर पाठ, सिर्फ एक में पसंद वेबसाइट, जब आप देखते हैं यूजर का नाम, या जब पासवर्ड, और उसके बाद यह गायब हो जाता है आप लिखना प्रारंभ. यही है वह सब है. और अब मैं जा रहा हूँ एक नंबर इनपुट जोड़ें. और मैं इस n कॉल करने के लिए जा रहा हूँ - लेकिन यह बहुत मनमाना है. और फिर एक लेबल, बस बनाने के लिए इस ब्लॉक में एक छोटे से अधिक आत्म व्याख्यात्मक - बार, कि मैं अभी क्या किया है. और अंत परिणाम है कि मैं है इस तरह लग रहा है कि एक ब्लॉक. और अब मैं उपयोग कर रहा हूँ, नोटिस एक दोहराने ब्लॉक. बल्कि मुश्किल तीन कोडिंग से, मैं कर रहा हूँ वहाँ में एन खींचने और छोड़ने मैं तो समारोह parametrize कर सकते हैं. मैं इस समारोह में कुछ करने के लिए कर सकते हैं के आधार पर समय की एक अलग संख्या कि मूल्य. और नोटिस, कहते हैं, यह मैंने क्या किया है मैं शब्द खींचें, यहाँ, मैं कह सकता हूँ नहीं एक हार्ड कोडित शब्द है, लेकिन जो कुछ भी एक पल के लिए में पारित हो जाता है. इस बीच, कैसे मैं फिर से लागू करते हैं खांसी? मैं बजाय के रूप में खांसी परिभाषित खांसी एन बार कह रही. तो संक्षेप में, मैं इस के माध्यम से जा रहा हूँ जल्दी से, लेकिन मूल विचार के रूप में जल्द ही है यदि आप अपने कार्यक्रम में देखने के शुरू के रूप में कि, एक मिनट रुको, मैंने किया है काफी पहले कुछ इस तरह, मैं कुछ सामान्य बाहर कारक कर सकते हैं कार्यक्षमता? मुझे लगता है मैं क्या कर रहा हूँ विघटित कर सकते हैं कुछ बुनियादी विचारों में? यही कारण है कि हम यहाँ क्या कर रहे हैं. और मैं नेत्रहीन, इन बातों खड़ी की है, एक दूसरे के शीर्ष पर इसके बारे में विचार है कि वसीयतनामा है क्योंकि ASCII के लिए जा रहा, द्विआधारी के साथ शुरू एक तरह से, ग्राफिकल कार्यक्रम बनाने पर तेजी से जटिल विचारों लेयरिंग एक दूसरे के ऊपर. यहां एक ही विचार है. मैं लागू करने, स्क्रैच से शुरू खाँसी, तो एहसास हुआ खाँसी है वास्तव में अभी कुछ कह रही. तो मुझे बजाय लागू करते हैं कुछ कह रही की धारणा. और उस की चोटी पर, मैं लागू कर सकते हैं Achoo, या खांसी? और हम और अधिक कर सकता है जैसे कि अभी वेरिएंट. तो इस बुनियादी सिद्धांत से, हम ऐसा करने के लिए शुरू कर सकते हैं तेजी से जटिल कार्यक्रम. मुझे इस एक को खोलते हैं. हम वास्तव में कई sprites हो सकता है एक बार में स्क्रीन पर बातचीत. मैं अपने स्रोत निर्देशिका में जाओ और अगर हड़पने धागे नामक एक, याद है कि एक मुद्दा सिर्फ सच की क्षमता है से कंधा मिलाकर चलने के लिए दो लिपियों की एक ही समय में पक्ष. अब सूचना है, एक पक्षी प्रेत और दोनों है है, जो दोनों के एक बिल्ली प्रेत, उनकी खुद की पटकथा. जब मैं क्लिक करें तो, नोटिस बिल्ली, मैं इन लिपियों मिलता है. मैं पक्षी क्लिक करते हैं, मैं इन लिपियों मिलता है. इसलिए इन लोगों में से प्रत्येक है अपने ही कार्यक्रम. मैं अब हरा झंडा, नोटिस क्लिक करते हैं क्या इस कार्यक्रम करता है कि अविश्वसनीय रूप से, बिल्ली है धीरे धीरे, पक्षी का पीछा. लेकिन बिल्ली होने का लाभ दिया है इस तरह से प्रोग्राम किया गया कि कोई बात नहीं है जहां पक्षी , है बिल्ली उसे की ओर चला जाता है. हम बहुत तेजी से लगता है कि खेल खेल सकते हैं. मैं बिल्ली पर हूँ तो, अगर मैं कर रहा हूँ कि नोटिस का उपयोग करते हुए, के एक कदम के लिए कदम कहते हैं. उसे पांच चरणों में स्थानांतरित करते हैं एक समय, एक समय में तो पांच डॉट्स. मुझे खेलते क्लिक करते हैं. [शेर की दहाड़] डेविड मालन: सब ठीक है, अब हम कर सकते हैं वास्तव में बिल्ली लाभ दे. एक समय में 10 चरणों. [शेर की दहाड़] डेविड मालन: बहुत जल्दी सब ठीक है, तो, यह एक छोटे से लाभ हो जाता है बिल्ली के लिए. लेकिन मैं पर मेरे हाथ लहर हूँ विवरण में से कुछ. लेकिन उस पथ है कि कारण एक छोटे से अलग हर बार शुरू करने मैं randomness के एक बिट कर रहा हूँ कि है. मैं वास्तव में एक में बिल्ली इशारा कर रहा हूँ अलग दिशा पर आधारित है, जहां मैं उसे तो शुरू करना चाहते हैं कि प्रत्येक समय खेल, या एनीमेशन, एक है विभिन्न छोटा सा. अब, मुझे एक परिचय अन्य यहाँ का निर्माण. तो इस मामले में, हम कार्यों के लिए किया था. यह भी एक पहेली टुकड़ा होने जा रहा है एक सरणी, या एक सूची के रूप में जाना जाता है, कि आप कई स्टोर करने के लिए अनुमति देता है एक चर के अंदर मूल्यों. हम अब धागे को देखा, और वहाँ की घटनाओं है. तो यहाँ का उपयोग कर एक घटना है यहाँ इन दो दोस्तों. और मैं घटनाओं बुलाया फ़ाइल खोल अगर आज के उदाहरण से, हम करेंगे लग रहा है कि एक कार्यक्रम देखना इस तरह एक छोटे से. और अब इस आदमी को नोटिस - इसलिए मैं नीले नोटिस मपेट क्लिक किया - वह केवल निम्न कार्य करता है. वह उन लोगों में से एक नहीं है हरा झंडा पहेली टुकड़े. मैं घटना प्राप्त जब वह एक है - तो कुछ मनमाने ढंग से शब्द. मैं बस वहाँ घटना बाहर टाइप - वह कहने जा रहा है, पोलो, दो सेकंड के लिए. तो परिचित हैं जो लोग इस खेल को जानते हो सकता है के साथ यह जा रहा है जहां. मैं अब नारंगी मपेट पर क्लिक करते हैं, अपने कार्यक्रम इस करता है. हमेशा के लिए, अगर कुंजीपटल अंतरिक्ष बार दबा दिया, वह कहने जा रहा है, मार्को, स्क्रीन पर दो सेकंड के लिए. लेकिन वह भी इस शौक़ीन उपयोग करने के लिए जा रहा है ब्लॉक प्रसारण के रूप में जाना जाता है. वह बोली प्रसारित करने जा रहा है गंदें शब्द बोलना, "घटना." इस बीच, नीले आदमी, याद है, बोली गंदें शब्द बोलना, के लिए सुन "घटना." इसलिए किसी भी तरह, अब, हम कर सकते हैं बातचीत के दौरान दो sprites. और हम वेब प्रोग्रामिंग करने के लिए मिलता है, बाद में अवधि में, इसी प्रकार यह होगा अपनी वेबसाइट के लिए फायदेमंद हो सकता है के लिए, के जवाब में कुछ करना उदाहरण के लिए, कीबोर्ड के एक क्लिक के. तो मुझे आगे चलते हैं और अंतरिक्ष बार मारा. ऑरेंज आदमी मार्को कहते हैं. नीले आदमी पोलो कहते हैं. मैं इसे फिर से करना तो नारंगी आदमी कहते हैं, मार्को, नीले आदमी पोलो कहते हैं. तो चलो यह एक कदम आगे ले लो. इस समय, हम, शायद, जाना होगा यहाँ सिर्फ कुछ मिनट. हम करते हैं - डेस्क दीपक, नीचे आ. तुम अंत पर सही हैं. ठीक है, तुम आ सकते हैं दोनों. हम सभी के लिए टेबल लैंप है. चलो. हम रख सकते हैं, तो मैं नहीं जानता यह हास्यास्पद झूठ ऊपर सभी सेमेस्टर, यद्यपि. सब ठीक है, नीचे आ. और इस बीच में, हम हैं अभी तक, ऊपर खींचने के लिए उदाहरण का अनुसरण अब चीजों में तेजी लाने के लिए इस तरह है कि हम एक और से एक मिसाल है का उपयोग कर तुम्हारी पूर्ववर्ती एक ही बुनियादी इमारत ब्लॉकों. तुम्हारा नाम क्या है? जॉन: जॉन. डेविड मालन: जॉन. आप मुझे अच्छा लगा. और? SETZ: Setz. डेविड मालन: Setz, आप मुझे अच्छा लगा. जॉन, तुम आना चाहते हैं तो ऊपर पहले, यह एक पुरानी है स्कूल खेल frogger नाम दिया है. आप के रूप में अच्छी तरह से इस बात के लिए कीबोर्ड का उपयोग करें. और लक्ष्य को पार करना है सड़क और पानी. [Frogger संगीत और ध्वनि निभाता] डेविड मालन: मैं माफी चाहता हूँ, कोई आप के लिए डेस्क दीपक आज. सब ठीक है, Setz, तुम होगा ऊपर की ओर आने के लिए पसंद है? सब ठीक है, चलो फिर से करते हैं. SETZ: मैं तीरों का उपयोग करें? डेविड मालन: बस तीर कुंजी. ऊपर, नीचे, ठीक है, छोड़ दिया है. [Frogger संगीत और ध्वनि निभाता] डेविड मालन: हम उन्हें फोन करता हूँ सांत्वना पुरस्कार आज, तो, बहुत अच्छी तरह से किया. इधर,, जॉन और Setz तुम दोनों के लिए. बधाई हो, सब ठीक है. तो फिर, यह खेल खेलता है, क्या हो रहा है के बारे में सोचते हैं? एक, गति का एक बहुत स्पष्ट रूप से नहीं है. लेकिन हम बिल्ली और साथ, कैसे देखा है पक्षी उदाहरण है, तुम कैसे कर सकते हैं बस कुछ ले जाकर गति का भ्रम बॉलीवुड की संख्या फिर से और फिर से. और तुम एक हमेशा के लिए ब्लॉक है, आप इन हो सकता था हमेशा के लिए यह कर रही कारों. हम करने की क्षमता है कुछ randomness है. इसलिए इस खेल होना जरूरी नहीं है बिल्कुल वही हर बार. उन लॉग, उन कारों, पर शुरू कर सकते हैं थोड़ा अलग अलग समय इतना है कि खेल ही अधिक रोचक है प्रत्येक खेल खेलने के साथ. और इस बीच, हम क्षमता को देखा है अंतरिक्ष बार सुनने के लिए. लेकिन स्पष्ट रूप से, स्क्रैच में, आप भी कर सकते हैं ठीक है, छोड़ दिया, नीचे, ऊपर के लिए सुनो, और कीबोर्ड पर वास्तव में किसी भी कुंजी. और तुम भी कुछ अन्य बातें कर सकते हैं. मुझे आगे जाना है और वापस जाओ वेब संस्करण के लिए. मुझे हमारे संग्रह में चलते हैं यहाँ उदाहरण के. और मेरे स्टूडियो, वीडियो के तहत जो है, अनिवार्य रूप से, एक फ़ोल्डर पर scratch.mit.edu. हम के वेब संस्करण है इन परियोजनाओं के सभी. और मैं प्राप्त कर सकते हैं चलो देखते हैं अगर मेरी यहाँ सहयोग करने के लिए कंप्यूटर. यह हमारे दोस्तों में से एक ने लिखा है एमआईटी में, तितली ले जाएँ बुलाया. इस खुल एक बार और, यह है वास्तव में से अधिक उपयोग करने के लिए जा रहा मेरे कंप्यूटर के हार्डवेयर. स्क्रैच लागू किया जाना होता है फ्लैश के साथ. फ्लैश अपने वेब कैमरा से बात कर सकते हैं, यदि आप एक है. तो मैं पूर्ण स्क्रीन यह आगे जाना है और अगर यहाँ, हरे ध्वज क्लिक करें, नोटिस कि फ्लैश की सुरक्षा संदेश कह रहा है, क्या आप चाहते हैं मेरे वेबकैम का उपयोग करने की अनुमति? आम तौर पर, तुम चाहिए शायद इंकार कहना. लेकिन इस मामले में, हम अनुमति कहूँगा. तब मैं क्रोम बताने जा रहा हूँ साथ ही यह अनुमति देने के लिए. और अब, बस एक पल में, तुम, हां, मुझे देख. और मेरे हाथ ऊपर जाता है - मैं स्थानांतरित नहीं करने के लिए मिल गया है मेरा एक ही समय में सिर. एक प्रतिबिंब भी है स्क्रीन पर. आओ, हम वहाँ जाते हैं - आप स्क्रीन पर ले जा सकते हैं, क्योंकि टुकड़े पहेली भी है - ओह, आप पता है यह क्या है, यह है क्योंकि आप भी मेरे पीछे प्रोजेक्टर स्क्रीन देखते हैं. इसलिए हम अनंत एक छोटी है चीज नहीं चल रहा. ठीक है, तो मैं यहाँ नीचे खेलेंगे. हम वहाँ जाते हैं. तो एक पहेली टुकड़ा भी नहीं है कि आप नीचे आंदोलन देखते हैं, कहते हैं, sprites में से एक हैं, तो आप यह जाना हो सकता है ऊपर, नीचे, सही है या की तरह, छोड़ दिया है. इसलिए हम आभासी वास्तविकता का एक सा है सभी के अंदर है, साथ ही यहाँ पर जा रहा अपने ब्राउज़र के दायरे में, बस यहाँ मेरे वेबकैम का उपयोग कर. तो क्या क्षितिज पर तो है. पहली समस्या जैसा कि आप देखेंगे, सेट, या वेबसाइट बाद में ऑनलाइन जाना होगा cs50.net पर आज रात, सुंदर है ज्यादा खुला अंत होने जा रहा. और एक खरोंच परियोजना को लागू यदि आप एक खेल, एक के लिए ब्याज की बातचीत, कलात्मक कुछ, और किसी भी संख्या का उपयोग करने के लिए अपने आप को चुनौती इन पहेली टुकड़े की. और यह सहभागी हो सकते हैं या तो इस तरह से. या इसे और अधिक जान - बूझकर कुछ हो सकता है एक कहानी बताने के लिए बनाया है. हम बंद समाप्त होगा जहां और वास्तव में, कि है आज, एक अंतिम उदाहरण के साथ. मुझे स्थानीय स्तर पर खरोंच में चलते हैं. मुझे आगे जाना है और इस खोलते हैं, और खेलने एक ने लिखा एक आखिरी कार्यक्रम अपने पूर्ववर्तियों की, अर्थात् यहां कि एक. अच्छा, यह एक के लिए मात्रा बढ़ा. [संगीत खेल] बयान: अगले CS50, डेविड में मंच पर एक स्वयंसेवक के लिए आमंत्रित किया है. डेविड मालन: इस प्रदर्शन के लिए, हम एक स्वयंसेवक की जरूरत जा रहे हैं. आप नीचे पर आने के लिए करना चाहेंगे? तुम्हारा नाम क्या है? पर चल रहा है.