Learn More
Usability is critical for the success of interactive software systems. However, usability evaluation is rarely taught as an indispensable element of the development process in software design courses. On analyzing usability errors students made in their programming projects, we found some usability errors, although revealed via the visual design of a user(More)
Modeling is a fundamental concept in software engineering. While model evolution is an essential topic due to the popularity of object-oriented design and iterative development, model transformation has not received adequate attention in the software engineering education community. Model transformation involves a change of the viewpoint from which a design(More)
1 Yonglei Tao, Dept of Computer Science and Information Systems, Grand Valley State University, Allendale, MI 49401, taoy@gvsu.edu Abstract  We describe our approach to teaching the MVC (Model-View-Controller) architecture for GUI applications. Swing adopts MVC at component level. We use it as a case study to illustrate features of MVC and also help(More)
Commercial software tools are increasingly used for teaching computer science courses. Because they are powerful and complex, they are often difficult to learn and to use. It is critical to balance benefits and problems that a software tool may bring about. Visual C++ is used as a tool for developing GUI applications in our “GUI Design” course.(More)
Case studies are often used as a vehicle to introduce fundamental principles and techniques in a software engineering course. However, finding a realistic yet manageable application as the basis of developing a case study is challenging to the instructors. We describe our preliminary experience with using an open source product, JUnit, to develop a case(More)
While team work is an indispensable experience for computer science students, evaluating their performance in a project becomes a great challenge for the instructors. The basic assumption in a collaborative work is that each member of the collaboration has something to contribute. It is assumed that no member of the team is non functional. But how do we(More)