Bachelor's Degree in Computer Science

The Computer Science program is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org

Detailed list of course requirements and curriculum

As a student in Computer Science (BCOS) you will gain valuable skills in software design, software engineering, data structures and algorithms, and programming in a variety high-level computer languages. Related courses including databases, parallel and distributed computing, network programming, and operating systems are also integral components of this program.  Elective courses covering all aspects of the broader field of computing are also available, including courses in artificial intelligence, machine learning, data science, cybersecurity, forensics, game development, and mobile and web programming. You are required to successfully complete two co-op work semesters beginning junior year.

Program Educational Objectives

Within three to five years of graduation:

  1. Graduates are proficient in applying computer science principles and best practices to problems in the workplace.
  2. Graduates attain productive and challenging computer science and/or software engineering careers in private practice, industry, or government.
  3. Graduates are engaged in continuing professional development or professional societies in computer science or a related computing field.
  4. Graduates follow standards set forth by professional societies of which they are members.

Student Outcomes

Graduates of the program will have an ability to:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.