Embedded Software Design Methodology To Help Students Succeed In The Real World