I. Introduction
The best way to learn engineering is by doing engineering projects. This statement goes in contrast to the traditional methodology where science courses are taught deductively, with the instructors first teaching basic, relevant theory and mathematical models, then moving on textbook exercises and, with good luck, getting into real-world problems. In this classic methodology, the students have to learn the material with the promise that it will be important for more advanced courses in their program [1]