2020-2021 Catalog

Computer Science, BA, BS

Degree Requirements

Students can earn a Bachelor of Arts degree or a Bachelor of Science degree with this major

Major Requirements: 16 courses and corresponding laboratories where applicable, 61 credits

Computer Science Requirements (11 courses, 41 credits)

CMPSC-F107Ants, Rumors and Gridlocks

4

CMPSC-F131Computer Science I

4

CMPSC-F132Computer Science II

4

CMPSC-F265Data Structures & Algorithms

4

CMPSC-F331Object Oriented Programming

4

CMPSC-F353Architecture of Computer Systems

4

CMPSC-F355Operating Systems

4

CMPSC-F363Intro to Database Systems

4

CMPSC-F375Introduction to Computer Networks

4

CMPSC-511Launching a Career in Computer Science

1

-
Choose one additional 4-credit Computer Science course at the 200-level or higher

Mathematics Requirements (5 courses, 20 credits)

MATH-165Calculus I

4

MATH-166Calculus II

4

MATH-185Discrete Mathematics I

4

MATH-255Probability and Statistics

4

MATH-285Discrete Mathematics II

4

Residency Requirement Policy:

In the College of Arts and Sciences, a two-course (8 credit) residency requirement must be satisfied for completion of a minor and a four-course (16 credit) residency requirement must be satisfied for the completion of a major.

Honors

To complete requirements for honors in the major, a candidate must:

  1. Graduate with a major GPA of 3.5 or higher
  2. Graduate with an overall GPA of 3.0 or higher
  3. Complete CMPSC-410 or CMPSC-501 with a minimum grade of A-
  4. Complete CMPSC-H555 with a minimum grade of A-

    Note: In order to qualify to enroll in CMPSC-H555, a student must meet with the supervising faculty member in advance to agree upon the topic of study and scope of the project

  5. Complete a project, presentation, or thesis in CMPSC-H555 that is approved by the supervising faculty member
  6. CAS Honors Program students only: Present work from the senior honors experience at the Honors Symposium or Pecha Kucha event

To become a candidate for honors in the major, a student must:

  1. Apply to the supervising faculty member by meeting and agreeing upon the topic of study and the scope of the project

CAS Honors Program students only: CAS Honors Program students are assumed to be candidates for departmental honors and should consult with a major advisor(s) during junior year about registering for major honors requirements as described above

All other students: Apply to the department by contacting an advisor. All students should consult with a major advisor(s) to schedule classes as described above

Computer Science Major Learning Goals and Objectives

Learning goals and objectives reflect the educational outcomes achieved by students through the completion of this program. These transferable skills prepare Suffolk students for success in the workplace, in graduate school, and in their local and global communities.

Learning Goals Learning Objectives
Students will have... Students will be able to...
A mastery of fundamental computer system principles, demonstrate proficiency in theoretical and practical aspects on various computer science fields, and have built solid foundations to pursue advanced degrees - Write correct working programs in a variety of programming languages
- Recognize and be able to use in programs graphs, trees, and other advanced data structures
- Identify system components, their functions, interactions, and performance aspects
A deep understanding of designing and developing computing systems and applications, and have strong programming skills and software engineering knowledge. Graduates will be capable of problem analysis, identification and definition, and able to apply mathematical foundations in the modeling and designing of its solutions - Be able to analyze, design, and implement computer solutions
- Be able to interpret algorithm complexity
Critical thinking skills and be able to design, implement and evaluate computer applications independently and/or with the teams. Graduates will have strong communication skills and function effectively on multidisciplinary teams to achieve the goal - Determine and use appropriate methods to solve application problems
- Successfully complete design and implementation assignments in small teams
The requisite foundation for lifelong learning and will possess the skills to adapt and thrive in the rapidly changing field of Computer Science - Be able to use modern software development techniques, such as object-oriented programming and design patterns
- Be able to read certain technical articles and participate in related discussions
An understanding and appreciation for the professional, social, legal, security, and ethical implications of computing - Be competent in the appreciation for alternate points of view and broader perspectives as related to social, security, legal, and ethical concerns arising in the context of computing technology