A Bachelor of Science in Computer Science from Southern New Hampshire University will help prepare you to enter a wide variety of fields. From the technology industry to the manufacturing industry, from management positions to technical jobs, a Computer Science degree can help you steer your career in the direction you want.
At SNHU, you'll learn to apply the basic concepts and theories behind computer science to real-world situations through a combination of traditional computer science and mathematics courses and major, team-based software development projects. The program combines classroom learning with a project-based, hands-on approach which ensures that you will have firsthand opportunities to implement important computer science principles and face down challenges.
SNHU has modelled its computer science program in accordance with the international CDIO initiative, "an innovative educational framework for producing the next generation of computer scientists that stresses computer science fundamentals set in the context of Conceiving, Designing, Implementing, and Operating real-world systems and products." CDIO is a prominent educational philosophy and is intended to achieve a fine balance between project-based, hands-on learning and traditional, theory-based education. No matter your interest, the program will help you develop the necessary skills to begin your chosen career.
Not available for international students.
The SNHU faculty in the Computer Science program are dedicated to your success. You will have opportunities to get hands-on experience through coursework and projects, as well as opportunities to seek internships and jobs in the industry. SNHU's location in Manchester, NH is ideal for access to a wide range of regional software research and development companies.
As a private, nonprofit university, SNHU has one mission - to help you see yourself succeed. The benefits of majoring in Computer Science at SNHU include:
Graduates from the Computer Science program at Southern New Hampshire University will be well prepared to enter a wide variety of fields. You will learn to develop software with applications in the aviation and automotive industries, medical offices and hospitals, and the data communication, manufacturing, management, military, entertainment, consumer and industrial products, and education fields.
SNHU is dedicated to helping students find meaningful internships that will offer then hands-on experience to give them a head start on their peers when they enter the job market. Both inside and outside the classroom, SNHU is developing the next generation of engineers.
Upon completion of the Computer Science degree program at Southern New Hampshire University, graduates should:
SNHU's bachelor's in computer science program includes:
General Education Program
Our programs are designed to equip you with the skills and insights you need to move forward. In recent years, employers have stressed the need for graduates with higher order skills - the skills that go beyond technical knowledge - such as:
All bachelor's students are required to take general education classes. Through foundation, exploration and integration courses, students learn to think critically, creatively and collaboratively, giving you the edge employers are looking for.
The software life cycle is introduced, shifting emphasis away from programming as the primary activity of the software engineer and towards requirements analysis, specification, documentation, testing, verification, and validation. In the required laboratory, students will develop a software simulation of a game using graphics which is required to run successfully.
This course is the first of a two-semester sequence. Students apply the theoretical principles of software engineering to a software project. The entire class works as a whole on one project, which will be carried through the software life cycle from problem definition to implementation, with the course evaluation based on deliverables.
This course is a continuation of CS203L. Students apply the theoretical principles of software engineering to a software project. The entire class works as a whole on one project, which will be carried through the software life cycle from problem definition to implementation, with the course evaluation based on deliverables.
Students are individually responsible for the formal specification, design, implementation and proof of correctness of the abstract data type sets, bags, functions, sequences, stacks, queues, and strings. Special emphasis will be given to searching and sorting algorithms
Students are individually responsible for the design, formal specification, implementation, and proof of correctness of the abstract data types, trees and graphs. Special emphasis will be given to graph algorithms.
Computer architecture and organization are covered including instruction set design, floating point and integer arithmetic operations, number representations, datapath design, pipelining, control flow, memory hierarchy, caches, virtual memory and input/output. Students are introduced to a variety of commercial architectures such as x86 and ARM.
This course is the first of a two-semester sequence. Students apply the theoretical principles of software engineering to a software project. The class works in groups on a large product using the Scrum software engineering framework. At the end of the first semester students should complete the "Concept" phase of the Product with a working prototype. The same Concept is the starting point for the second semester where the students will complete the "Pre-Production" phase of the Product. At the end of the second semester students are required to present their projects.
This course is the second of a two-semester sequence. In the first semester students apply group-based software engineering methodologies to a large project. In the second semester students continue developing group-based software engineering concepts but specifically focus on individual software engineering concepts such as software testing, object-oriented design, design patterns, and code optimization. The first semester prototype is the starting point for the second semester where the students will complete the "Pre-Production" phase of the Product. At the end of the second semester students are required to present their projects.
Basic algorithmic analysis and strategies are explored along with fundamental computing algorithms. Connections between regular languages and finite automata, context-free languages and pushdown automata, and Turing machines and computation are established. The complexity classes P and NP will also be introduced.
This course provides an in-depth overview of the field of data communications and its impact on information systems. Various types of equipment will be examined along with protocols and architectures offered by major vendors. Distributed system issues as well as local area network solutions are discussed.
This course explores the major components of an operating system. Topics covered include processes, threads, mutual exclusion and synchronization, deadlock and starvation, memory management, virtual memory, scheduling on single and multiprocessors, I/O management and scheduling, and file systems.
This course provides an introduction to the structure and functioning of the UNIX operating system. It is designed to give students a solid foundation in the design and organization of the operating system and to teach the basic set of UNIX commands.
Total Credits: 120
Our Manchester campus aims to keep tuition and related costs low for our students so that you can pursue your degree and your goals. More than 90% of our students receive some form of financial aid, and students who qualify could receive up to $20,000 in grants and scholarships.
Southern New Hampshire University is a private, nonprofit institution accredited by the New England Commission of Higher Education as well as several other accrediting bodies. More...