Software systems are often complex and shifting, and their development can be extremely challenging. Equipping software engineering students with the skills and abilities needed by the industry to meet these challenges is very important to an institution of education.
Problem-based learning can play a significant role on this.
PBL presents the student with a real-world problem and so they have to explore
the solution domain in a self-learning way. The students will learn the course material
through guided practical application of knowledge to a specific task. In addition, students will approach real-world problem on a more practical way. They will be able to understand better the use of programming languages, programs and apps and they will combine the knowledge that they will get.
Generally, the introduction of PBL into software engineering courses is related to a constructivist way of learning which is based on the premise that learners come to know something new, not
by passively hearing it, but by actively engaging with it and connecting it to what they already