Öncelikle sorun nedir? demek lazım sorun tespit edilir ve sonrasın çözüme ihtiyaç vardır. Çözüme ulaşmak için gereken her basamağa takip ettiği sürece ve her basamağını oluşturan zekaya algoritma denir. Algoritma yazılımın en ama en temel adımıdır. Özel yazılımda algoritmaların tam oturması en önemli süreçtir. Oturmuş bir algoritma ile yazılımın en büyük süreci tamamlanmış olur. Bu yüzden öncelikle sorunu iyi anlamak ve çözümün her adımını tasarlamak gerekmektedir. Örneğin, sizden öğrenci satış pragramı istediğimde cevabınız, öğrenciye satış yaparız olmamalıdır. Doğru soruları sormak lazımdır. Öğrenci kimdir? özellikleri nelerdir? Satış nedir? ne satılır? kaç tane satılır? satışı kim yapar ödeme takip edliri mi? vs gibi sonsuz soru oluşur ve her sorunun da cevabına göre algoritma oluşur.