Date Added: Jul 2009
First year engineering students are noted to have either a strong dislike for programming or an inability to write effective programs. This poses a problem, since many engineering departments require their students to take some form of introductory programming as part of their first year in engineering. Several possible reasons exist for why many engineering students have such difficulty with programming and the related concepts. One of the reasons being, they tend to rely on inappropriate or inadequate models for using the concepts. Since traditional, text-based programming languages, and the predominantly text based way in which they are taught, do not align with the learning styles of these students, their ability to understand and implement the necessary concepts in an actual program may be drastically reduced. The text based nature of most languages taught as a first language also promotes the use of natural languages models for various looping and conditional constructs which do not fit. The current methods used for teaching programming skills and concepts are centered on text-based means to both present the material and practice the skills developed. However, most engineering students do not learn well from these highly verbal teaching methods and tend to employ inappropriate models. Changes to the way that this information is presented and assessed can have a powerful impact on student learning.