कॉन्सेप्ट अभ्यास का उद्देश्य विद्यार्थी को वे मुख्य कौशल सिखाना है जो किसी भी भाषा में काम करने के लिए ज़रूरी होते हैं। इनमें यह सिखाया जाता है कि उस भाषा में आम काम कैसे किए जाएँ (जैसे स्ट्रिंग के साथ काम करना), और यह भी कि भाषा के खास पहलू कैसे संभाले जाएँ (जैसे मोनैड, OOP, हायर-ऑर्डर फंक्शन)।
कॉन्सेप्ट अभ्यास की खास विशेषताएँ ये हैं:
अभ्यास इस आधार पर अनलॉक होते हैं कि कौन से कॉन्सेप्ट सिखाए और सीखे गए हैं। हर कॉन्सेप्ट अभ्यास को एक या अधिक कॉन्सेप्ट सिखाने चाहिए। इसमें कॉन्सेप्ट की पूर्व-शर्तें भी हो सकती हैं, यानी यह तब तक अनलॉक नहीं होगा जब तक उन पूर्व-शर्त कॉन्सेप्ट को सिखाने वाले कॉन्सेप्ट अभ्यास पूरे न कर लिए जाएँ।
ट्रैक आगे बढ़ने के साथ कॉन्सेप्ट अभ्यास अपने आप ज़्यादा कठिन नहीं होने चाहिए। भाषा X का अनुभवी डेवलपर उस ट्रैक के सारे कॉन्सेप्ट अभ्यास कर पाना चाहिए, और हर एक को हल करने में उसे 5-10 मिनट से ज़्यादा नहीं लगना चाहिए। चूँकि हर अभ्यास का ध्यान किसी को पहली बार कोई कॉन्सेप्ट इस्तेमाल करवाने पर होता है, और अनुभवी डेवलपर उस कॉन्सेप्ट को भाषा X में पहले से समझता है, इसलिए उसके लिए यह अभ्यास काफी आसान लगना चाहिए। भाषा X से अनजान डेवलपर को बाद के अभ्यास ज़्यादा कठिन लग सकते हैं, लेकिन सिर्फ इसलिए कि बाद वाले अभ्यास में सिखाया जाने वाला कॉन्सेप्ट खुद ही ज़्यादा जटिल होता है (उदाहरण के लिए, ज़्यादातर लोग मानेंगे कि लूप को एक भाषा से दूसरी भाषा में ढालने की तुलना में रिकर्शन को पहली बार सीखना ज़्यादा जटिल होता है)।
कॉन्सेप्ट अभ्यास की मेंटरिंग नहीं होती। जब कोई विद्यार्थी ऐसा सबमिशन जमा करता है जिससे कॉन्सेप्ट अभ्यास के टेस्ट पास हो जाते हैं, तो हम देखते हैं कि फीडबैक देने के लिए कोई Analyzer या Representer है या नहीं। अगर कोई नहीं मिलता, तो हल स्वीकृत कर दिया जाता है। इससे सिखाने का भार अभ्यास पर आ जाता है, और अभ्यास को उस कॉन्सेप्ट तक पहुँचने का साफ़ रास्ता देना होता है जो सिखाया जा रहा है।