Making students to use their theoretical knowledge into practice by designing a complete solution to a real life computer problem. Giving basic analysis and design issues, methods and considerations. Improving the teamwork, communications skills and creativity. Providing an environment to learn and use the latest technologies and trends in the software and hardware development market. Making the students aware of ethics and legal issues in computer engineering.