CS50, दुनिया के सबसे कुलीन दिमागों के लिए हार्वर्ड का ओवर-सब्सक्राइब और प्रभावशाली कोडिंग कोर्स, अविश्वसनीय रूप से, अविश्वसनीय रूप से कठिन है। यही कारण है कि यदि आप अंत में अपने कौशल का औपचारिक प्रमाण पत्र प्राप्त करना चाहते हैं तो हार्वर्ड आपको मुफ्त में या एक भुगतान पाठ्यक्रम के रूप में भरपूर CS50 संसाधनों तक ऑनलाइन पहुंच प्रदान करता है।
यदि आप सोच रहे हैं कि CS50 सामग्री को ऑनलाइन कैसे एक्सेस किया जाए, तो चार तरीके हैं:
CS50 को ऑनलाइन लें: हार्वर्ड एक्सटेंशन स्कूल
हार्वर्ड की अपनी रिमोट-लर्निंग शाखा, हार्वर्ड एक्सटेंशन स्कूल, CS50 के विभिन्न स्वाद प्रदान करता है। कंप्यूटर विज्ञान पाठ्यक्रम के लिए सेमेस्टर-लंबा सीएससीआई ई -50 गहन परिचय एक डिग्री के लिए चार क्रेडिट प्रदान करता है और इसकी लागत $ 2,400 है। हालाँकि, स्थान 200 छात्रों तक सीमित है और पाठ्यक्रम बहुत अधिक सब्सक्राइब किए गए हैं। नज़र रखना एक्सटेंशन.हार्वर्ड.edu जब पंजीकरण अगले साल के शरद ऋतु और वसंत पाठ्यक्रमों के लिए खुलता है।
CS50 को ऑनलाइन लें: edX
वैकल्पिक रूप से, पाठ्यक्रम के माध्यम से पेश किया जाता है ऑनलाइन शिक्षा साइट edX जहां आप इसे अपनी गति से निपट सकते हैं। CS50 के edX पेज के अनुसार, नौ समस्या सेट (यानी प्रोग्रामिंग असाइनमेंट) और एक अंतिम प्रोजेक्ट पर संतोषजनक स्कोर अर्जित करने वाले छात्रों को हार्वर्डएक्स से एक प्रमाण पत्र प्राप्त होगा। छात्र मुफ्त में पाठ्यक्रम ले सकते हैं, लेकिन यदि वे आपकी उपलब्धि को सत्यापित करने और आपकी नौकरी की संभावनाओं को बढ़ाने के लिए संस्थान के लोगो के साथ एक प्रशिक्षक-हस्ताक्षरित प्रमाणपत्र प्राप्त करना चाहते हैं, तो उन्हें का भुगतान करना होगा।
CS50 को ऑनलाइन लें: iTunes U
पाठ्यक्रम और इसकी सभी सामग्री - कई अन्य हार्वर्ड पाठ्यक्रमों की तरह - ऐप्पल के आईट्यून्स यू पर भी उपलब्ध है। आप ऐप स्टोर (या तो आईफोन, आईपैड या मैक पर) से ऐप को मुफ्त में डाउनलोड कर सकते हैं और कैटलॉग में सीएस 50 की खोज कर सकते हैं। सभी वीडियो व्याख्यान, समस्या सेट, क्विज़ और अन्य सामग्री पैक में हैं, हालांकि आईट्यून्स यू के अपेक्षाकृत हालिया रीडिज़ाइन ने सामग्री के इस द्रव्यमान को नेविगेट करने के लिए एक बार की तुलना में अधिक कठिन बना दिया है।
CS50 को ऑनलाइन लें: YouTube
अंतिम तरीका YouTube पर सभी व्याख्यानों को देखना है - जो अपने आप में एक सार्थक खोज है। २०१५ के कंप्यूटर विज्ञान ५० पाठ्यक्रम के सभी व्याख्यान पर देखे जा सकते हैं हार्वर्ड चैनल . काम करने के लिए 20 घंटे से अधिक का फुटेज है, हालांकि प्रत्येक व्यक्तिगत व्याख्यान एक घंटे से अधिक लंबा नहीं है।
आगे पढ़िए: यूके में मुफ्त में कोड करना सीखें
मेरे कंप्यूटर में राम क्या है
क्या आप CS50 पास कर सकते हैं?
चिंतित हैं कि आपके पास हार्वर्ड के कुलीन पाठ्यक्रम को लेने के लिए मानसिक उत्साह नहीं है? हार्वर्ड के पाठ्यक्रम से सीधे कुछ नमूना प्रश्न यहां दिए गए हैं। चिंता मत करो, उन्हें भी मेरे लिए कोई मतलब नहीं है।
1: द विगेनेयर सिफर
इस सप्ताह आपकी अंतिम चुनौती vigenere.c में लिखना है, एक ऐसा प्रोग्राम जो Vigenère के सिफर का उपयोग करके संदेशों को एन्क्रिप्ट करता है। इस प्रोग्राम को एक एकल कमांड-लाइन तर्क को स्वीकार करना चाहिए: एक कीवर्ड, k, जो पूरी तरह से वर्णानुक्रमिक वर्णों से बना है।
यदि आपका प्रोग्राम बिना किसी कमांड-लाइन तर्क के, एक से अधिक कमांड-लाइन तर्क के साथ, या एक कमांड-लाइन तर्क के साथ निष्पादित किया जाता है जिसमें कोई गैर-वर्णमाला वर्ण होता है, तो आपके प्रोग्राम को मुख्य रिटर्निंग 1 के साथ शिकायत करनी चाहिए और तुरंत बाहर निकलना चाहिए। एक त्रुटि को दर्शाता है कि हमारे अपने परीक्षण पता लगा सकते हैं)।
अन्यथा, आपका प्रोग्राम उपयोगकर्ता को प्लेनटेक्स्ट की एक स्ट्रिंग के लिए संकेत देने के लिए आगे बढ़ना चाहिए,
p, जिसे बाद में k के साथ Vigenère के सिफर के अनुसार एन्क्रिप्ट करना चाहिए, अंततः परिणाम को प्रिंट करना और मुख्य रिटर्न 0 के साथ बाहर निकलना।
जहाँ तक k में वर्णों का प्रश्न है, आपको A और a को 0, B और b को 1,… , और Z और z को 25 के रूप में मानना चाहिए। इसके अलावा, आपके प्रोग्राम को केवल p में एक वर्ण के लिए Vigenère के सिफर को लागू करना चाहिए यदि वह वर्ण है एक पत्र। अन्य सभी वर्ण (संख्याएं, प्रतीक, रिक्त स्थान, विराम चिह्न, आदि) अपरिवर्तित आउटपुट होने चाहिए।
इसके अलावा, यदि आपका कोड k के jth वर्ण को p के ith वर्ण पर लागू करने वाला है, लेकिन बाद वाला एक गैर-वर्णमाला वर्ण साबित होता है, तो आपको k के उस jth वर्ण को p में अगले वर्णानुक्रमिक वर्ण पर लागू करने के लिए प्रतीक्षा करनी चाहिए। ; आपको अभी तक k में अगले वर्ण के लिए आगे नहीं बढ़ना चाहिए। अंत में, आपके प्रोग्राम को प्रत्येक अक्षर के मामले को p में सुरक्षित रखना चाहिए।
2. पंद्रह का खेल
पंद्रह का खेल एक वर्ग बोर्ड पर खेली जाने वाली पहेली है जिसमें गिने हुए टाइल होते हैं जो स्लाइड करते हैं। इस पहेली का लक्ष्य बोर्ड के निचले-दाएं कोने में खाली जगह के साथ बोर्ड की टाइलों को सबसे छोटे से सबसे बड़े, बाएं से दाएं, ऊपर से नीचे तक व्यवस्थित करना है।
इस गेम के लिए गॉड मोड लागू करें।
पहले init को इस तरह से लागू करें कि बोर्ड को छद्म यादृच्छिक लेकिन सॉल्व करने योग्य कॉन्फ़िगरेशन के लिए आरंभीकृत किया जाए। फिर ड्रॉ, मूव, और जीत के कार्यान्वयन को पूरा करें ताकि मानव वास्तव में खेल खेल सके।
देखें संबंधित CS50: दुनिया के सबसे विशिष्ट कंप्यूटिंग कोर्स के अंदर मुफ्त में कोड करना सीखें: राष्ट्रीय कोडिंग सप्ताह में सर्वश्रेष्ठ यूके कोडिंग और ऐप डेवलपमेंट कोर्स कोडिंग खानाबदोश के रूप में एक वर्ष
लेकिन खेल में एक धोखा एम्बेड करें, जिससे, 1 और d2 - 1 के बीच एक पूर्णांक टाइप करने के बजाय, जहां d बोर्ड की ऊंचाई और चौड़ाई है, मानव भी खेल को नियंत्रित करने के लिए 'कंप्यूटर' को मजबूर करने के लिए GOD टाइप कर सकता है और इसे हल करें (किसी भी रणनीति का उपयोग करके, इष्टतम या गैर-इष्टतम), प्रति सेकंड केवल चार चालें बनाना, ताकि मानव देख सके।
संभवतः, आपको कुछ अधिक बहुमुखी के लिए GetInt को स्वैप करना होगा। यह ठीक है यदि आपका गॉड मोड का कार्यान्वयन केवल d 4 के लिए काम करता है (सहनशील रूप से तेज़); आपको डी> 4 के लिए गॉड मोड के परीक्षण के बारे में चिंता करने की आवश्यकता नहीं है। ओह, और आप यह याद करके गॉड मोड को लागू नहीं कर सकते हैं कि कैसे init ने बोर्ड को इनिशियलाइज़ किया (जैसे कि चाल के अनुक्रम को याद करके जो आपके प्रोग्राम को कुछ छद्म यादृच्छिक लेकिन हल करने योग्य स्थिति में मिला)। अच्छा प्रयास।
सभी समस्याओं का हार्वर्ड विश्वविद्यालय का कॉपीराइट। पूर्ण समस्या सेट यहां प्रकाशित होते हैं: cs50.harvard.edu