Οι Ασκήσεις Εννοιών στοχεύουν να διδάξουν στον μαθητή τις βασικές δεξιότητες που χρειάζεται για να δουλέψει σε μια δεδομένη γλώσσα. Καλύπτουν και το πώς κάνεις συνηθισμένα πράγματα σε αυτή τη γλώσσα (π.χ. πώς να χειρίζεσαι συμβολοσειρές) και το πώς κάνεις πιο ειδικά για τη γλώσσα πράγματα (π.χ. μονάδες, αντικειμενοστρεφή προγραμματισμό, συναρτήσεις ανώτερης τάξης).
Οι Ασκήσεις Εννοιών έχουν τα εξής χαρακτηριστικά:
Οι ασκήσεις ξεκλειδώνονται με βάση τις έννοιες που διδάσκονται και μαθαίνονται. Κάθε Άσκηση Εννοιών πρέπει να διδάσκει μία ή περισσότερες έννοιες. Μπορεί επίσης να έχει προαπαιτούμενες Έννοιες, που σημαίνει ότι δεν θα ξεκλειδωθεί μέχρι να ολοκληρωθούν οι Ασκήσεις Εννοιών που διδάσκουν αυτές τις προαπαιτούμενες έννοιες.
Οι Ασκήσεις Εννοιών δεν πρέπει να γίνονται εγγενώς πιο δύσκολες όσο προχωράει η διαδρομή. Ένας έμπειρος προγραμματιστής στη γλώσσα X θα πρέπει να μπορεί να δουλέψει όλες τις Ασκήσεις Εννοιών αυτής της διαδρομής ξοδεύοντας το πολύ 5-10 λεπτά για κάθε μία. Καθώς κάθε άσκηση πρέπει να εστιάζει στο να κάνει κάποιον να χρησιμοποιήσει μια έννοια για πρώτη φορά, και επειδή ο έμπειρος προγραμματιστής κατανοεί ήδη αυτή την έννοια στη γλώσσα X, η άσκηση θα πρέπει να του φαίνεται σχετικά τετριμμένη. Οι μεταγενέστερες ασκήσεις μπορεί να φαίνονται πιο δύσκολες σε έναν προγραμματιστή που δεν είναι εξοικειωμένος με τη γλώσσα X, αλλά μόνο επειδή η μεταγενέστερη άσκηση διδάσκει μια έννοια που είναι από μόνη της πιο περίπλοκη (για παράδειγμα, οι περισσότεροι θα συμφωνούσαν ότι η αναδρομή είναι πιο σύνθετο θέμα για να το μάθεις για πρώτη φορά απ' ό,τι το να μεταφέρεις έναν βρόχο από τη μια γλώσσα στην άλλη).
Οι Ασκήσεις Εννοιών δεν έχουν μέντορα. Όταν ένας μαθητής κάνει μια υποβολή που περνάει τα tests για μια Άσκηση Εννοιών, ελέγχουμε αν υπάρχει κάποιος Analyzer ή Representer για να δώσει ανατροφοδότηση. Αν δεν βρεθεί κανένας, τότε η λύση εγκρίνεται. Αυτό μεταφέρει το βάρος της διδασκαλίας στην άσκηση, η οποία πρέπει να προσφέρει έναν σαφή δρόμο για τη μάθηση της έννοιας που διδάσκεται.