Computer Science B.A., B.S.

Computer hardware

If you’re interested in computer programming and software development, the B.A. and B.S. in computer science is designed for you. 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.

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.

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. 

Program Details

Course Information

Click below for information on course requirements, course descriptions and the Academic Rhode Map, which lists all the courses you will need to complete this program and graduate in a timely fashion.

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:

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

Writing in the Discipline

1. 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

2. 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.

3. 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.

4. 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.

5. 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