Computer Science B.A., B.S. and Minor

If you’re interested in computer programming and software development, the B.A. and B.S. in computer science is designed for you

What You Will Complete

You will complete a computer science core that includes object-oriented design, data structures, programming languages, operating systems, analysis of algorithms and software engineering. Based on your interests and career goals, you will choose electives such as artificial intelligence, cybersecurity, computer networks, software testing and databases.

What You Will Achieve

Graduates from our program are prepared for entry-level positions as software application programmers/developers, Web developers, computer support specialists, computer systems programmers and software quality assurance engineers. They are also prepared for graduate study in computer science and closely related disciplines.

Minor Program

We also offer a minor in computer science and cybersecurity. Cyber threats are real. They can cause data losses, electrical blackouts, failure of military equipment and breaches of national security secrets. Given these dangers, skilled cybersecurity workers whose job is to protect networks, devices, programs and data are at a premium. More than half a million jobs in cybersecurity are available in this country. RIC’s minor in cybersecurity will give you the set of skills you need to protect computers, networks and data. Courses in the minor include computer fundamentals for cybersecurity, computer programming, cybersecurity principles, digital forensics and network/systems security. 

BS versus BA in Computer Science – Which degree is right for you? 

Choosing between a BA and BS in computer science may seem confusing, but it really comes down to what type of job you see for yourself after you graduate and your sincere interests in what you wish to study.  At Rhode Island College, both degrees require the same computer science courses.  In both degrees, you take the same courses in programming and problem solving and you have the same choice of computer science electives.  Both degrees prepare you in computer science in the exact same manner.  But there are important differences between the degrees you should consider while making your choice. 

Bachelor of Science in Computer Science (BSCS) 

In the Bachelor of Science degree, you are required to take additional courses in mathematics, science, ethics, and writing.  Because of the additional courses in math and science, it is considered a more rigorous degree to earn, and some employers are interested in knowing you have that rigor to master the math and science required.  This degree has a very strict schedule, so it is harder to double major or take on a minor.  Designing and programming complex systems does require more math and science knowledge.  If you wish to continue your studies in graduate school or have a career in research, or have a very technical job, a BSCS will better prepare you. 

Bachelor of Arts in Computer Science (BACS) 

The Bachelor of Arts degree requires fewer courses, and you have freedom to add a minor(s) or double major to pursue other interests.  For potential employers, a minor in cyber security, data analytics, or in a foreign language could set you apart from other candidates.  Also, adding more humanities/general education courses provides you with more opportunity to master communication, creativity, and writing––these are valuable skills for employers looking for well-rounded employees. 
There is no right or wrong choice.  Employers highly value both degrees.  Both degrees provide you with the necessary tech savvy to be successful in the career path you choose. It’s a matter of where you see yourself and how you wish to best position yourself for your future. 


Interested in Computer Science?

Rhode Island College is an exclusive member of the Common Application.

Program Details

Course Information

Here we provide information on course requirements, course descriptions and an Academic Rhode Map for each program, a semester-by-semester plan to help you toward graduation in four years.

Course Requirements for Computer Science B.A.

Course Requirements for Computer Science B.S.

Academic Rhode Map for Computer Science B.A.

Academic Rhode Map for Computer Science B.S.

Course Descriptions

Program Learning Goals

Upon completion of this program, students will have acquired:

  • A background in the content and methodology of computer science.
  • An understanding of and the ability to use basic programming concepts and techniques.
  • An understanding of and the ability to use basic concepts and techniques in computer organization, architecture and operating systems.
  • The ability to apply their knowledge of computer science to solve problems.
  • The ability to use problem-solving skills to design, implement and test programs individually.
  • The ability to use problem-solving skills to design, implement and test programs as a member of a team.

Writing in the Discipline

W​hy or in what ways is writing important to your discipline/field/profession?

In the computer science discipline, it is important that students acquire the writing and communication skills necessary to:

  • Describe what they have accomplished and how to effectively comment/report on it
  • Give specific directions to build a software product
  • Translate technical topics into layman’s terms

Which courses are designated as satisfying the WID requirement by your department? Why these courses?

The Mathematics and Computer Science Department has identified two required courses in computer science in which there is an emphasis on various forms of writing within our discipline: CSCI 212 and CSCI 401.

CSCI 212: Data Structures is the final course in the introductory sequence and may be viewed as the first upper-level course in the major. For the first time, students go beyond writing a program that works to reflecting on what makes one working solution better than another. They also learn to implement and use data structures, key building blocks that programmers have found useful in many different programs, written in many languages, over the years. 

CSCI 401: Software Engineering functions as a programming capstone for the computer science major. Students spend considerable time planning their program: writing requirements documents, describing their designs both in text and in detailed formal diagrams, and spelling out detailed plans for implementing and testing. The documents, plus the programs themselves, are representative of all the major forms of writing in the discipline.

What forms or genres of writing will students learn and practice in your department’s WID courses? Why these genres?

In computer science, students must learn and practice technical writing in many forms. Computer scientists write technical proposals or recommendations, research papers, grant proposals, oral presentations, requirements documents, brochures, technical reports and web pages.

What kinds of teaching practices will students encounter in your department’s WID courses?

The following is a list of teaching practices found in many computer science classes:

  • Peer editing – Students learn a lot from each other. Students share their writing with each other and offer improvements.
  • Brain storming and small group discussions. Students are given a template and work on requirements of each section of a document.
  • Required revisions such as writing software. Writing is an iterative process. Students first work together on drafts. The instructor then gives constructive comments and the students need to revise and upload again. This process happens several times during the semester.

When they’ve satisfied your department’s WID requirement, what should students know and be able to do with writing?

Students will be able to write executive summary reports that effectively describe why one implementation is better than another for solving a problem. They will also be able to write requirements documents that adequately explain how a software product will be designed, tested and used. This includes but is not limited to:

  • Software specifications and requirements.
  • Software high level architecture, design method and use cases.
  • Solution methodology and algorithms.
  • Source code documentation, and version tracking.
  • Testing methods including white box and black box testing.
  • User manuals (including system installation and configuration)​​​​.

Minor in Computer Science

Declaring a minor allows you to explore other areas of interest and make interdisciplinary connections. Minor areas at RIC complement and reinforce all major areas of study. By declaring a minor, you can set yourself apart as a candidate for job, internship and volunteer opportunities.

Minor in Computer Science