BA in Computer Science Program By Northeastern University |Top Universities

BA in Computer Science

BA in Computer Science

  • QS World University Rankings
    342
  • Degree BA
  • Study Level Bachelors
Computer science involves the application of theoretical concepts in the context of software development to the solution of problems that arise in almost every human endeavor. Computer science as a discipline draws its inspiration from mathematics, logic, science, and engineering. From these roots, computer science has fashioned paradigms for program structures, algorithms, data representations, efficient use of computational resources, robustness and security, and communication within computers and across networks. The ability to frame problems, select computational models, design program structures, and develop efficient algorithms is as important in computer science as software implementation skill. Computer science is concerned with bringing together all of the intellectual resources needed to enable the rapid and effective development of software to meet the needs of business, research, and end users. The goal of the undergraduate program in computer science is to teach students the conceptual and practical skills that will enable them to contribute to the development of computational principles and to play a productive role in the software community. To that end, the undergraduate program focuses on the fundamentals of program design including object-oriented design, software development, computer organization, systems and networks, theory of computation, principles of languages, and advanced algorithms and data. The program also offers a variety of electives at the upper undergraduate and beginning graduate levels ranging from more theoretical courses to those that focus on important applications. The BA in Computer Science offers a similar curriculum, with slightly less CS requirements to allow students to study a foreign language and to have a wider choice of electives. The program also provides a solid grounding in mathematics and science, as well as offering a wide variety of social science and humanities courses to complement the discipline. Our co-op program offers unprecedented opportunities to gain up to 18 months of hands-on experience in industry or academia, alternating between periods of academic study and paid employment in your desired field. Experiential learning is integrated into all of our degrees through the co-op program. Learning Outcomes: Understand the intellectual foundations for the design of software programs and for the design of algorithms and data structures within programs and larger systems. Be able to apply these principles in the creation of software systems. Understand in-depth the three fundamental programming paradigms: functional, imperative, and object-oriented. Know when and how to apply these paradigms singly and in combination to build efficient, maintainable systems. Be aware that other more specialized paradigms exist such as declarative and logic-based. Understand the basics of event-driven programming. Be able to apply this model to create human computer interfaces or to handle asynchronous data that arrives from external sources. Develop skills in problem analysis and problem solving, especially in the context of the high complexity of the computing world. Be prepared to apply known design patterns in a setting of multiple constraints. Be able to invent new approaches by systematic experimentation. Be able to predict the performance of planned systems by use of the techniques of algorithm analysis. Understand that the computing world is networked and that software is almost always running in an interconnected manner on multiple machines throughout the network. Possess skills in writing, reading, and speaking because communication within organizations and to the public is essential. Acquire the mathematical foundations appropriate to the degree program that is chosen by the student. Be able to use mathematics during the design and analysis of systems.