Υπάρχουν πολλά διαφορετικά μαθήματα προγραμματισμού υπολογιστών, άλλα πολύ τυπικά και άλλα που απευθύνονται σε συγκεκριμένους κλάδους. Γενικά, τα περισσότερα μαθήματα προγραμματισμού υπολογιστών μπορούν να ταξινομηθούν με βάση τη γλώσσα που διδάσκεται, την τελική εφαρμογή της γνώσης ή από τα συγκεκριμένα εξειδικευμένα συστήματα που διδάσκονται. Τα βασικά μαθήματα γλωσσών προγραμματισμού διδάσκουν μόνο μία γλώσσα σε προοδευτικά πιο εμπεριστατωμένες συνεδρίες, που συνήθως κατηγοριοποιούνται με βάση την απαιτούμενη εμπειρία για αυτό το μάθημα. Τα μαθήματα που διδάσκονται σε μια συγκεκριμένη εφαρμογή ή βιομηχανία, όπως συστήματα ασφάλειας ή δικτύων, συνήθως δεν είναι για αρχάριους φοιτητές και απαιτούν αρκετή γνώση όχι μόνο για τον προγραμματισμό, αλλά και για τη γενική επιστήμη των υπολογιστών. Τα μαθήματα εξειδικευμένα μπορούν να στοχεύουν στη διδασκαλία του τρόπου γραφής προγραμμάτων για έναν μόνο τύπο μηχανής, όπως ένα mainframe ή για μια συγκεκριμένη αφηρημένη διεπαφή προγραμματισμού (API), και γενικά απαιτούν ισχυρό υπόβαθρο στην επιστήμη των υπολογιστών, αν και όχι απαραίτητα προγραμματισμό υπολογιστών.
Τα γενικά μαθήματα προγραμματισμού υπολογιστών σε αρχικό επίπεδο ασχολούνται είτε με τις κυρίαρχες έννοιες του προγραμματισμού υπολογιστών με τρόπο ουδέτερο ως προς τη γλώσσα είτε εναλλακτικά επικεντρώνονται αποκλειστικά στη διδασκαλία του προγραμματισμού σε μια συγκεκριμένη γλώσσα. Αυτοί οι τύποι μαθημάτων είναι σημαντικοί για να έχουν μια σταθερή βάση πάνω στην οποία θα μπορούν να οικοδομηθούν σε πιο συγκεκριμένους τομείς γνώσης. Ορισμένα μαθήματα ενδέχεται να συνδυάζουν περισσότερες από μία γλώσσες, όπως η γλώσσα σήμανσης υπερκειμένου (HTML) και ο προεπεξεργαστής υπερκειμένου (PHP), σε ένα ενιαίο πρόγραμμα μαθημάτων, εάν οι γλώσσες συνδέονται στενά σε πρακτική χρήση.
Υπάρχουν πολλά μαθήματα προγραμματισμού υπολογιστών που διδάσκουν μια συγκεκριμένη χρήση προγραμματισμού. Υπάρχουν αρκετοί από αυτούς τους τύπους μαθημάτων, τα περισσότερα με προαπαιτούμενα σε γλώσσα προγραμματισμού ή επιστήμη των υπολογιστών. Τέτοια μαθήματα αναπτύσσονται συνεχώς καθώς εμφανίζονται νέες τεχνολογίες. Παραδείγματα είναι ο προγραμματισμός για νευρωνικά δίκτυα, γραφικά και απεικόνιση, συστήματα σε πραγματικό χρόνο και συστήματα ασφαλείας.
Τα εξειδικευμένα μαθήματα προγραμματισμού υπολογιστών επιδιώκουν να εκπαιδεύσουν τους μαθητές στο πώς να χρησιμοποιούν ένα ενιαίο σύστημα ή μεθοδολογία που μπορεί να μην είναι άμεσα εφαρμόσιμη σε ευρύτερα θέματα προγραμματισμού. Αυτά τα μαθήματα έχουν σχεδόν πάντα απαιτήσεις γλώσσας, επειδή τα συστήματα -στόχοι συνήθως χρησιμοποιούν μόνο μία γλώσσα. Ωστόσο, ορισμένα μαθήματα δεν έχουν απαιτήσεις γλώσσας, ειδικά εάν το εξειδικευμένο σύστημα χρησιμοποιεί τη δική του ιδιόκτητη γλώσσα. Αυτά τα μαθήματα μπορούν να περιλαμβάνουν προγραμματισμό για έναν τύπο κινητής συσκευής, ειδικά συστήματα μηχανικής ή ακόμη και συστήματα αεροπορίας.
Υπάρχουν επίσης μαθήματα προγραμματισμού υπολογιστών που είναι μοναδικά στον τομέα τους. Τέτοια μαθήματα μπορούν να περιλαμβάνουν θεωρητικές έννοιες, προσπάθειες ανάπτυξης γλωσσών προγραμματισμού που χρησιμοποιούν φυσική γραμματική ή ακόμη και προγραμματισμό σε πειραματικές μηχανές. Αυτά τα μαθήματα μπορούν να δώσουν πολύτιμες γνώσεις για το πώς λειτουργούν οι υπολογιστές και οι γλώσσες προγραμματισμού, αλλά μερικές φορές δεν παρέχουν καμία πρακτική γνώση και αντίθετα παραμένουν στη σφαίρα του θεωρητικού προγραμματισμού.