Computer Science

Computer Science is about more than performing calculations and learning specific programming languages -- it’s about precision, problem solving and creating technology services and solutions that will work in an increasingly complex future. With coursework that combines solid theory, real-world practice and specialization options, RWU students are ready for high-demand career fields from app developers to large scale software system designers.

This major is coordinated by the Computer Science program.

The Computer Science major prepares students for either professional employment in the computer science and programming fields or for graduate study in computer science. Students receive a thorough grounding in modern computer science theory and learn how this theory can be applied to the design of complex software systems.

The curriculum begins with a year-long introduction to the art and science of computer programming, using the Java language. This introduces concepts of object-oriented programming, development and use of data structures, and concepts of software design.

The student’s intermediate years involve the study of how hardware is constructed and organized, the nature and development of programming languages, the analysis of algorithms, and the study of the computational process. Experience is gained using procedural, functional, logic, and object-oriented programming languages.

The student’s final year is devoted to using this foundation to design and engineer major software projects in areas such as compiler and operating system design, computer graphics, or artificial intelligence. Students work on teams to develop software solutions for real-world clients as part of their two-semester senior design course.

Incorporated into the major is a strong mathematics and natural science component. Calculus, discrete mathematics, and probability and statistics form the nucleus of a math program that many build upon to attain a minor in mathematics. The program also includes a minimum of three semesters of lab-based science.

The Computer Science Program enables graduates to anticipate and to respond effectively to the uncertainties of a changing technological, social, political and economic world. Specific program educational objectives and outcomes include:

Program Educational Objectives

During the first few years after graduation, we expect our graduates to:

  1. Apply disciplinary knowledge and skill to analyze, design, implement, and test solutions to applied problems individually and in diverse teams. Present solutions using the variety of media that best promotes understanding.
  2. Continue to grow intellectually and professionally in the computing sciences and appreciate the continuous pursuit of knowledge in other areas of interest.
  3. Use knowledge and draw on experiences relevant to current and emerging needs in computing sciences and recognize the social, ethical, and cultural impact of technology in a global setting.
  4. Serve as an exemplar and ambassador of the RWU Computer Science program, strengthening its tradition of excellence, by becoming active in professional societies and organizations and by volunteering within your community

Student Outcomes

We expect our graduating students to possess:

  • an ability to apply knowledge of computing and mathematics appropriate to the discipline
  • an ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  • an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
  • an ability to function effectively on teams to accomplish a common goal
  • an understanding of professional, ethical, legal, security and social issues and responsibilities
  • an ability to communicate effectively with a range of audiences
  • an ability to analyze the local and global impact of computing on individuals, organizations, and society
  • recognition of the need for and an ability to engage in continuing professional development
  • an ability to use current techniques, skills, and tools necessary for computing practice
  • an ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
  • an ability to apply design and development principles in the construction of software systems of varying complexity

Degree Requirements

The Computer Science Major

Click to Open

The major in computer science leads to the Bachelor of Science degree. Students normally complete a minimum of 121 credits, including satisfaction of all University Core Curriculum requirements. The approved outline is as follows:

First Year (14 credits) - Fall

COMSC110Introduction to Computer Science I & Lab4
CORE102Challenges of Democracy3
MATH221Discrete Mathematics4
WTNG102Expository Writing3

First Year (15 credits) - Spring

COMSC111Data Structures & Lab4
CORE103Human Behavior in Perspective3
MATH213Calculus I & Lab4
Science course sequence & lab (first course)
(BIO 103 or CHEM 191 or PHYS 201)

Second Year (17 credits) - Fall

COMSC210Principles of Computer Organization & Lab4
COMSC335Theory of Computation3
CORE104Literature, Philosophy, and the Examined Life3
MATH214Calculus II & Lab4
WTNG220Critical Writing for the Professions3
(BIO 104 or CHEM 192 or PHYS 202) 

Second Year (16 credits) – Spring

COMSC230Principles of Programming Languages3
COMSC340Analysis of Algorithms3
CORE105Aesthetics in Context: The Artistic Impulse3
MATH315Probability & Statistics3
Science course sequence & lab (second course)4

Third Year (15–16 credits) – Fall

COMM210Introduction to Public Speaking3
COMSC330Software Design3
COMSC420Principles of Operating Systems3
Specialization Elective3/4
Additional science course with lab (CORE 101 is not acceptable)4

Third Year (15–16 credits) – Spring

COMSC440Language Translation & Compiler Design3
Specialization Elective3/4
Specialization Elective3/4
Math Elective200 Level or above 3/4
Free Elective3

Fourth Year (15–16 credits) – Fall

COMSC490Integrated Senior Design I3
CORE Core Interdisciplinary Senior Seminar3
SEC230Networking and Telecommunication3
Specialization Elective3/4
Math Elective200 Level or above 3/4
Science Elective3/4

Fourth Year (13 credits) – Spring

COMSC401Computer Science Senior Seminar1
COMSC492Integrated Senior Design II3
SEC231Advanced Networking3
Specialization Elective3/4
Free Elective3

Total: 121–124 Semester Credits


Digital Systems Specialization

The Digital Systems Specialization is only for students majoring in Computer Science. This specialization is well suited to those computer science majors who enjoy working with control systems or with the interaction of software and electronic devices.

Required Courses:
ENG240Circuit Theory and Lab
ENG270Digital Systems Design and Lab
And three courses from the following list, three of which must be above the 300 level:
ENG260Engineering Electronics and Lab
ENG424Digital Systems Processing
ENG430Special Topics in Electrical or Computer Engineering (with permission of advisor)
ENG445Dynamic Modeling and Control

The Mathematics Specialization

The Mathematics Specialization is only for students majoring in Computer Science. This specialization is well suited to those computer science majors who are interested in pursuing advanced studies or careers in the analytical aspects of computing. Students interested in a dual major with Mathematics should select this specialization.

Required Courses:
MATH255Introduction to Math Software
And four courses from the following list:
MATH301Linear Programming
MATH305Math Modeling
MATH317Differential Equations
WTNG331Lineal Algebra
MATH342Numerical Analysis
MATH351Calculus of Several Variables
MATH370Advanced Calculus for Physical Sciences
MATH371Real Analysis
MATH381Complex Analysis

The MATH courses that the student selects for the specialization cannot be used to satisfy the core concentration.

The Custom Program Specialization

The Custom Specialization is only for students majoring in Computer Science. This specialization is well suited to those computer science majors who wish as broad an educational experience as possible. It is also well suited to those who may wish to focus their electives to pursue a minor in the network security field.

The student must select five advisor approved courses from among those courses with COMSC, ENGR, SEC, CIS, or MATH designations. All must be above the 200-level and three must be above the 300- level. The mathematics course(s) a student selects as electives cannot be used to satisfy the Mathematics Core Concentration requirement or the MATH/Science requirement.

The Computer Science Minor

Click to Open

The Computer Science minor is designed to provide students with an in-depth familiarization with the computer science domain. Students will learn high-level programming skills and the basic theory associated with the discipline. The minor is well-suited for students in the Computer Science Core Concentration or those majoring in mathematics and education. Graduates can apply this minor as an underpinning for exploiting technology as it pertains to their primary degree.

COMSC110Introduction to Computer Science & Lab
COMSC111Data Structures & Lab
COMSC210Principles of Computer Organization & Lab Discrete Mathematics
MATH221Discrete Mathematics
Two COMSC electives above the 200-level with at least one above the 300-level

To read more about our academic offerings, or to view full course descriptions, please refer to our University Catalog.