MSC 2011

Major in Computer Science

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.

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.
  • A computer science teaching endorsement for grades 6-12 is approved by the Virginia Department of Education when combined with an education licensure.
  • 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

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 320, CS 340, CS 420, MATH 192, MATH 170, MATH 240, 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 150 Elements of Calculus   OR   MATH 192 Integral Calculus
MATH 130 Finite Mathematics   OR   MATH 170 Discrete Mathematics
MATH 140 Elementary Statistics   OR   MATH 240 Statistics for Natural Sciences

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 220 Intermediate Programming: Java
CS 230 Networking and Data Communications
CS 250 Architecture and Operating Systems
CS 270 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 320 Data Structures
CS 333 Topics in Computing (can be repeated)
CS 340 Analysis of Algorithms
CS 350 System Administration
CS 370 Software Engineering
CS 420 Programming Languages
CS 470 Project Management
CS 488 Internship
CS 499 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.