The core curriculum in Computer Science, involving a blend of theory and practice, offers opportunities for problem solving in many areas and provides experience with a variety of computers, computer languages, and software packages. A typical student?s experience can include scientific programming, language design and implementation, file handling and database design, data communication and networking, artificial intelligence, hardware design, and graphic implementations ranging from interface design to artistic presentations.