บทเรียนคอมพิวเตอร์ช่วยสอนที่ดี ควรมีลักษณะของความสามารถในการเรียนรู้แบบมีปฏิสัมพันธ์กับผู้ใช้ (interactive discovery) กล่าวคือ โปรแกรมสามารถประเมินความรู้ความสามารถของผู้ใช้ตลอดเวลา เพื่อเป็นแนวทางในการนำเสนอบทเรียนที่เหมาะสมกับระดับของผู้ใช้ ในขณะเดียวกันผู้ใช้สามารถศึกษาบทเรียนในลักษณะอะไรจะเกิดขึ้นถ้า... หรือผู้ใช้สามารถศึกษาในสิ่งที่ตนเองสนใจ และความเหมาะสมของตนเอง นอกจากนี้ถ้าโปรแกรมมีการเคลื่อนไหว หรือสถานการณ์จำลอง ก็จะทำให้โปรแกรมมีความน่าสนใจและเร้าใจมากยิ่งขึ้น บทเรียนคอมพิวเตอร์ช่วยสอนที่ดียิ่งขึ้นหรือมีความฉลาดมากขึ้น มักจะมีคุณลักษณะของการช่วยเสริมสร้างจินตนาการและความคิดสร้างสรรค์ และอาจมีปัญญาประดิษฐ์ผสมผสานอยู่ด้วย