Overview
Computer science underpins the technology driving the modern world, from software design and cloud systems to cybersecurity and algorithmic automation. The BSc (Hons) Computer Science at University of Surrey offers a rigorous technical grounding in programming, software engineering, and computational theory. Taught by research-active academics, the programme provides access to specialised computing laboratories, modern development software, and high-performance computing clusters. The curriculum progresses from core software architectures and fundamental algorithms to advanced areas such as object-oriented design, distributed systems, and artificial intelligence. Students engage in practical development projects, solving complex computational problems through both individual software creation and collaborative group engineering challenges. This degree suits analytical problem-solvers and creative thinkers aiming to build resilient, scalable technological solutions. Graduates emerge with the technical depth, software engineering standards, and practical capabilities required to succeed across the global technology sector.
What You'll Learn
• Fundamental programming languages, software design principles, and object-oriented development
• Data structures, algorithmic complexity analysis, and efficient software optimization
• Computer architecture, operating systems, and network communication protocols
• Database management systems, relational query techniques, and data security
• Software engineering methodologies, agile project management, and quality assurance
• Artificial intelligence techniques, machine learning models, and data analytics
• Web application development, mobile computing systems, and user interface design
Learning Outcomes
Upon completing the programme, students will be capable of designing, building, and deploying robust software applications across diverse platform architectures. Graduates will demonstrate a comprehensive understanding of theoretical computer science principles, including algorithmic efficiency, data storage, and computational complexity. Through practical laboratory assignments and software development projects, students gain hands-on expertise with industry-standard development environments, version control systems, and testing frameworks. They will evaluate security vulnerabilities, apply software engineering methodologies to group initiatives, and critically analyze system performance metrics. Ultimately, graduates develop the technical confidence, problem-solving agility, and professional communication skills necessary to lead software projects and drive digital innovation in dynamic technological industries.

University of Surrey