How Philosophy Can Enhance the Critical Abilities of Computer Engineering Students