Skip to Content
  • Undergraduate Computer Science

The Computer Science Major

The Computer Science major is designed to prepare 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 analysis of algorithms, and principles 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 study of efficient data structures and algorithms, and the theoretical study of the computational process. Experience is gained using procedural, functional, logic, and object-oriented programming languages. At each stage, appropriate mathematics is used as a method of describing and reasoning about computing systems.
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.
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 earns the graduate a core concentration in mathematics. The program also includes a minimum of three semesters of lab-based science. Students may elect to earn a minor in mathematics (by taking a sixth mathematics course) or to take a fourth science course.
The Computer Science Program is designed to enable 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

Program 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 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

COMSC 110 Introduction to Computer Science I & Lab (4 credits)
CORE 102 Challenges of Democracy (3 credits)
MATH 221 Discrete Mathematics (4 credits)
WTNG 102 Expository Writing (3 credits)

First Year (15 credits) - Spring

COMSC 111 Data Structures & Lab (4 credits)
CORE  103 Human Behavior in Perspective (3 credits)
MATH 213 Calculus I & Lab (4 credits)
Science course sequence & lab (first course)
(BIO103 or CHEM191 or PHYS201)
(4 credits)

Second Year (17 credits) - Fall

COMSC 210 Principles of Computer Organization & Lab (4 credits)
COMSC 335 Theory of Computation (3 credits)
CORE 104 Literature, Philosophy, and the Examined Life  (3 credits)
MATH 214 Calculus II & Lab  (4 credits)
WTNG 220 Critical Writing for the Professions (3 credits)
(BIO104 or CHEM192 or PHYS202)  

Second Year (16 credits) - Spring

COMSC 230 Principles of Programming Languages (3 credits)
COMSC 340 Analysis of Algorithms (3 credits)
CORE 105 Aesthetics in Context: The Artistic Impulse (3 credits)
MATH 315 Probability & Statistics (3 credits)
Science course sequence and lab (second course) (4 credits)

Third Year (15-16 credits) - Fall

COMM 210 Introduction to Public Speaking (3 credits)
COMSC 330 Software Design (3 credits)
COMSC 420 Principles of Operating Systems (3 credits)
Specialization Elective (3/4 credits)
Additional science course with lab (CORE 101 is not acceptable) (4 credits)

Third Year (15-16 credits) - Spring

COMSC 440 Language Translation & Compiler Design (3 credits)
    Specialization Elective (3/4 credits)
    Specialization Elective (3/4 credits)
    Math Elective (200 or above) (3/4 credits)
    Free Elective (3 credits)

Fourth Year (15-16 credits) - Fall

COMSC 490 Integrated Senior Design I (3 credits)
CORE   Core Interdisciplinary Senior Seminar (3 credits)
SEC 230 Networking and Telecomminications (3 credits)
    Specialization Elective (3/4 credits)
    Math Elective (200 Level or above) (3/4 credits)
or      
    Science Elective (3/4 credits)

Fourth Year (13 credits) - Spring

COMSC 401 Computer Science Senior Seminar (1 credit)
COMSC 492 Integrated Senior Design II (3 credits)
SEC 231 Advanced Networking (3 credits)
    Specialization Elective (3/4 credits)
    Free Elective (3 credits)

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:

ENG 240 Circuit Theory and Lab  
ENG 270 Digital Systems Design and Lab  

And three courses from the following list, three of which must be above the 300 level:

ENG 260 Engineering Electronics and Lab  
ENG 424 Digital Systems Processing  
ENG 430 Special Topics in Electrical or Computer Engineering (with permission of advisor)  
ENG 445 Dynamic Modeling and Control  
ENG 450 Machotronics  

 

 

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:

MATH 255 Introduction to Math Software  

And four courses from the following list:

MATH 301 Linear Programming  
MATH 305 Math Modeling  
MATH 317 Differential Equations  
MATH 331 Lineal Algebra  
MATH 342 Numerical Analysis  
MATH 351 Calculus of Several Variables  
MATH 370 Advanced Calculus for Physical Sciences  
MATH 371 Real Analysis  
MATH 381 Complex 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.