Computer Science
Mission
Related Majors
Facilities
Recent Graduates
Computing Subfields
Major Requirements
Minor Requirements
EMU has recently combined the computer science and computer information systems majors. The following information applies to the new combined major. The 2006-2007 catalog has the older requirements for the separate majors.
Back to top
Mission
EMU’s computer science program seeks to produce skilled computing professionals with a respect for the cultural and social impact of computing technologies in our modern global community.
Computer science has traditionally focused on finding new and more effective ways to use computers, but now that computer technology is part of our everyday lives, the field of computing has also grown to include designing, managing, and improving reliable and efficient computing systems.
A major in computer science can prepare graduates to:
- devise new ways to use computers,
- develop more effective and efficient ways to solve traditional problems,
- plan and manage computer and network systems,
- and design and create a wide range of computer programs including climate simulators, payroll systems, and even games.
Back to top
Related Majors
The computer science major at EMU is designed to be robust and flexible enough to meet the needs of a diverse set of students. Each student will create a custom plan of study (with approval of the faculty) which might include a minor or second major in another field. Some students might be better served with the related digital media major with only a minor in computer science.
- The combination of mathematics and computer science provides an excellent background for graduate study in either field.
- Those interested in the efficient and effective use computing technology in a business environment might combine computer science and one of the business fields.
- The emerging field of biomedical informatics is a combination of computer science and biology.
- Game programming and web application development are partially about technology and partially about interface design techniques taught as part of the digital media major.
- With computing technology part of our everyday lives, it can be combined with almost any other field for those seeking a unique career path.
Back to top
Facilities
The University maintains three technology classrooms and two general purpose computer labs with both Macintosh and Microsoft Windows systems. The department also has a small lab for CS student projects which would be impossible in the general labs such as configuring networks and installing and configuring Linux or MS Windows servers.
Back to top
Recent Graduates
After graduating, a few of our students enter graduate school and many volunteer for a few years of service with MCC and other non-profit groups. Eventually most find work in the fields of Software Development, System Administration, Quality Assurance, and IT Management, while others make more unusual choices such as Patent Classifier, Technical Editor, Sales Manager, and even Carpenter. They commonly take jobs in the education, health care, telecommunications, manufacturing, and information technology industries, but the organizations range from small family-owned operations to large non-profit organizations and multinational corporations.
According to the U.S. Department of Labor’s projections, employment in computer technology related fields is one of three groups of professional occupations expected to account for about three-quarters of the job growth over the 2004-2014 period.
The Association for Computing Machinery's Computing Careers site provides some valuable information about the current computing field.
Back to top
Computing Subfields
Computing is a diverse field with many specialties. An undergraduate degree in computer science can only offer an overview of the various areas within computer science, but for those who pursue graduate studies there are a wide range of options.
- programming and software development
- system and software engineering
- architecture and operating systems
- networks and distributed computing
- human-computer interaction
- graphics and visualization
- information management
- scientific computing
- information and business systems
- security and system administration
- algorithms and complexity theory
And all of those fall within the traditional definitions of computer science. As computer have become part of our everyday lives, more fields such as information technology, which specializes in system administration and other applications of computer technology, have developed.
Back to top
Major Requirements
The major consists of 9 hours of foundational mathematics courses, 12 hours of fundamental computer science courses, 18 hours of upper-level computer science courses, and 6 additional hours from computer science or related fields (with advisor approval) for a total of 45 hours.
Students seeking a Bachelor of Science degree in Computer Science must take CS 311, CS 322, CS 422, MATH 162, MATH 171, MATH 242, and are encouraged to minor in mathematics. Students meeting the general major requirements but who do not complete the math and computer science courses required for a B.S. will receive a Bachelor of Arts in Computer Science.
Mathematics Foundation Courses (9 hours)
Principles from statistics, calculus, and discrete mathematics provide the foundation for many computer science methods and techniques.
| MATH 162 Integral Calculus | or | MATH 131 Elements of Calculus |
|---|---|---|
| MATH 171 Discrete Mathematics | or | MATH 141 Math and the Liberal Arts II |
| MATH 242 Statistics for Natural Sciences | or | MATH 201 Elementary Statistics |
CS Fundamental Courses (12 hours)
Fundamental knowledge of programming, networks, databases, architecture and operating systems used in modern computing environments provide a practical framework for studying more advanced topics.
CS 212 Intermediate Programming: Java CS 231 Networking and Data Communications CS 251 Architecture and Operating Systems CS 272 Databases and Information Management
CS Upper-level Courses (18 hours)
Students select from a range of courses covering both theoretical and applied aspects of computing based on personal interest and career goals.
CS 311 Data Structures CS 322 Analysis of Algorithms CS 352 System Administration CS 371 Software Engineering CS 422 Programming Languages CS 451 Topics in Computing (can be repeated) CS 472 Project Management CS 481 Internship CS 491 Independent Study/Research
Internship opportunities are available through EMU's Washington Community Scholar's Center, organizations in the Harrisonburg area, and even EMU's own Information Systems department.
The department offers at least one “topics” course each year with the content selected based on the areas of interest of current students and faculty. The course may be taken for credit repeatedly since the content will vary from year to year. Topic examples include: theory of computation, numerical analysis, modeling and simulation, graphics, computer animation, computer vision, advanced algorithmic analysis, cryptography, parallel algorithms, artificial intelligence, robotics, hypermedia development, language translation systems, and functional programming.
CS or Related Field Elective Courses (6 hours)
These might be additional CS courses or from related fields to cover topics such as electronics, numerical computation, quantitative decision making, or media production.
Back to top
Minor Requirements
The minor in computer science consists of 18 SH of computer science courses with at least 6 SH selected from the upper-level courses.

