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. A two semester senior design course sequence serves as the capstone event of the program.
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 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:
- 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.
- Continue to grow intellectually and professionally in the computing sciences and appreciate the continuous pursuit of knowledge in other areas of interest.
- 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.
- 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.