Computer science majors learn about the theoretical foundations of computer science, current computing environments and programming languages, and systematic methodologies for problem solving, software design and software implementation. Students can specialize in a particular area such as software engineering, computation theory, cloud computing, artificial intelligence, computer networking, embedded systems, and/or parallel computing.