On the balance between theory and practice [software engineering curriculum]
Allen B. Tucker · IEEE Software · 2002
Undergraduate curricula must view it as a mandate to teach students how to effectively use logic and formal methods in software design, beginning with the first programming course. Both educational and industrial-strength tools are now available to support the implementation of this idea.