Reshaping software engineering education towards 2020 engineers

In this paper, we present an overview on how to reshape the software engineering education in our undergraduate study program (i.e., curriculum program, software engineering curriculum package, and learning process) so that our graduates have sufficient skills to be the 2020 software engineers. We believe that the corner blocks to produce fine engineers are good understanding in the following areas: basic fundamentals and principles of science and computing, methodology, techniques-tools-platform, capability to understand domain problems, communication and personal skill, attitude to be a good learner and self disciplined. We translate these values to our undergraduate curriculum with an aim to produce general software engineer who are quick to master specific platforms/technologies and devices and to understand domain problems.