The Computer Science bachelor's degree program is designed to provide a broad overview to the fundamentals of computer science, including software and systems analysis, programming languages, machine architecture, algorithmic thinking, and theoretical foundations of computing. Upon completion of the program, graduates are expected to: Apply knowledge of math, science, engineering and contemporary developments in the fields of software programming, networking, system design, computer science and/or project management, Analyze problems through the use of computer science concepts and processes to formulate, implement and test software-based algorithms, Incorporate historical context and emerging developments in computer science to create adaptable and efficient algorithmic solutions that reflect ethical considerations and global awareness and Use the techniques, skills and emerging tools necessary for analysis and evolution of algorithms in computer science. Upon completion of the Software Engineering specialization (offered at the Providence campus), graduates are expected to: Integrate knowledge, tools and problem-solving skills to carry out the design, creation, maintenance and testing of state-of-the-art software solutions. Upon completion of the Network Engineering specialization (offered at the Providence Campus), graduates are expected to: Apply computer science knowledge, skills and tools focused on real-time, finite state machine development methods aimed at creating network products, network designs, troubleshooting plans and advanced protocol tracking.