İyi bir programcı olmak için, ayrık matematiğe (discrete mathematics) hakim olmalısın. Discrate başlıca konuları olan logic and formal reasoning, set theory, relation and funcation gibi başlıca konular senin daha iyi programlama yapmaya yöneltecektir. Bunun yanında C, C++ ve bir %100 object-oriented dili sırasıyla ögrenmelisin. ve bol bol uygulama geliştirmelisin.