برنامه نویسی را می توان به یک بازی هوش تشبیه کرد! ، بازی بر روی داده ها و متغیرها با استفاده از دستورات و ابزارهای برنامه نویسی که در اختیار ما گذاشته شده است . در این بازی ابتدا باید ابزراهای مورد نیاز خود ، جهت نوشتن برنامه ای خاص را انتخاب کرده سپس باید ابزارها را به گونه ای در کنار هم قرار دهیم و به گونه ای با ابزارها بر روی داده ها و متغیرها کار کنیم تا به هدف مورد نظر برسیم .
بنابراین باید در ابتدا ، شناخت کافی بر روی ابزارها و کاربرد آنها داشته باشیم که تجربه نشان داده این یادگیری برای دانشجویان ، چندان دشوار نیست و اکثر دانشجویان قادر به درک ابزارها و دستوراتی مانند if یا while و غیره می باشند . اما نکته مهم این است که پس از تسلط بر روی ابزارها ، تازه بازی آغاز می شود و ما تنها بر قوانین بازی و ابزارهای موجود شناخت پیدا کرده ایم .
اینجاست که برخی دانشجویان دچار مشکل می شوند و قادر به استفاده مناسب از ابزارها و بسط دادن آنها در کنار یکدیگر جهت رسیدن به هدف نهایی برنامه نمی باشند . در این مرحله دانشجویان باید دارای یک روحیه الگوریتمی شوند بدین معنی که توانایی تفکیک مراحل ، جهت رسیدن به پاسخ را داشته باشند .
کمتر دانشجویی است که بدون تمرین و ممارست به این روحیه دست پیدا کند . از علائم ورود یک دانشجو به دنیای برنامه نویسی شوق و اشتیاق او جهت یافتن تمرینهای جدید برنامه نویسی است و چنین دانشجویی با پشتکار خود می تواند یک برنامه نویس حرفه ای شود