1. Have a firm understanding of computing from several points of view, such as hardware, functions, software engineering, network management, database management, operating system platforms, algorithm analysis, and programming languages.
2. Have a firm understanding of at least one high-level programming language, as well as experience with other languages and language structures.
3. Be able to function as a productive member of a software development team or in any other computer related capacity.
4. Be able to enter graduate studies in Computer Science.