The Bachelor of Science degree program consists of a broad based set of required courses including Discrete Mathematics, Algorithms, Software Design, Programming, Computer Organization, Computer Architecture and Data Structures. Students study the design and development of computing systems from the theoretical, to the analysis and solution of practical design problems that address both hardware and software. Advanced courses build on a solid foundation providing breadth and depth in such areas as Artificial Intelligence, Telecommunications Networks, Compiler Design, Advanced Programming Languages and Methodologies, Software Engineering and Database Design.Students will be prepared to assume a variety of responsibilities and roles upon completion of the Computer Science degree. These roles include, but are not limited to, Computer Programmer, Systems Analyst, Help Desk Supervisor, Software Developer, Webmaster, Network Engineer, and Network Security Expert. The Bachelor of Science program also provides a solid foundation and preparation for advanced study at the masters or doctoral level.