Three years ago, the Leonard C. Nelson College of Engineering replaced a traditional programming course for engineers with an applied software tools course. This course was expected to better prepare the students for later courses as well as develop skills that would be useful in their professional careers. Students learn the basics of Excel ® , Mathcad ® , and Visual Basic for Applications ® programming while using them for engineering applications. While the content of the course has not changed significantly since its inception, the delivery has. Much of this change in delivery was driven by student retention. Almost half of the students either dropped the course or earned less than satisfactory grades when the course was first offered. Subsequent modifications have greatly improved retention and student performance without compromising the quality of the course.The paper will focus on the initial design of the course, the retention issues that developed, and the modifications to course delivery that were made to address these issues. Grading policy, structure of the course content, and active learning exercises were keys to improvement. We will show how changes in these facets of course management led to better course outcomes. The paper also discusses the effects of prior computer experience and mathematics preparation on the retention problem.
Purpose of the courseThe software tools course was designed as a replacement for a traditional computerprogramming course. Like many other engineering programs, instruction in a programming language had been required for all engineering majors at the West Virginia University Institute of Technology (WVU Tech), and was offered during the freshman year. This course was taught by the Computer Science faculty, and used C++ as the programming language. Principle topics of this course were language syntax, logic structures, and program development. At the end of the course, students were to have a rudimentary knowledge of programming concepts and the ability to write programs that may be needed in later classes. There was also a general belief among the faculty that the process of learning a programming language would develop logical thinking skills.