The diversity of course offerings and rigorous degree requirements ensure that B.S. in Computer Science graduates acquire the knowledge necessary to support their career goals, including the breadth of knowledge required to pursue advanced computing degrees. Students will become proficient in programming, software testing and analysis; learn about the design principles and implementation of programming languages, elementary computer architecture and organization, reduced instruction set computing, and operating systems; and complete a software engineering project that requires them to participate in all phases of the software life cycle.