Academic Programs

Academic Units: Department of Computer Science

Order your copy of the Undergraduate Catalog from the JMU Bookstore.

General Education

Interdisciplinary Programs

Academic Units

Link to JMU Homepage

Publisher: JMU Academic Affairs
MSC 8002, Harrisonburg, VA 22807

For more information, contact: JMU Catalog Office,

Copyright © 2006 James Madison University. All rights reserved.
Privacy Statement

This site is best viewed in
Internet Explorer 6.0 or above at
1024 x 768 pixels.

Mission Statement
To help persons discover whether they have ability and interest in computing, and to empower those who do to extend the application of computers to the problems of society.
  • To help persons discover”: Computer science is skill-oriented. Individuals only grow when they actively participate in the application of knowledge. We are committed to providing a variety of active learning experiences.
  • “Whether they have the ability and interest in computing”: The rapid advancement of computing creates a broad spectrum of novel opportunities and roles for computer scientists in our society. We are committed to providing a rich environment that allows individuals to find a niche in this spectrum suited to their aptitudes and interests.
  • “And to empower those who do”: Empowerment implies knowledge of the machines, algorithms and applications already developed so our students can build on the work of their predecessors. To apply a computer to a problem is a practical matter, not just a theoretical one. Because of the complexity of the systems that are being created, empowerment implies the ability to manage persons, time and other resources to accomplish such goals within allocated means.
  • “To extend the application of computers”: By extending is meant not just any use of computers, but some use that claims new ground. For example, entering data into a spreadsheet does not extend the use of computers, while setting up a spreadsheet to perform a customized data analysis extends the application of computers to that particular problem. Stronger examples would include developing applications, even extending the concept of computing itself, to open previously unknown application domains. Computing professionals must be leaders in the development of computing and the application of computing to new problems.
  • “To the problems of society”: A wide-ranging liberal education is particularly valuable for computer scientists, since often their task is to apply computing to a problem domain in some other discipline, or even more frequently, across several disciplines at once. The ability to communicate with experts in a broad range of social and scientific disciplines is critical. Our efforts flourish in the context of the wider university, and are particularly needful of integration with other departments. We therefore participate as computer scientists in the application of computing to the research of our colleagues, and as educators in maintaining, designing and implementing the wider mission of the university.
Back to top of page Marketable Skills
The program puts students in the middle of the exploding information revolution where they study technological advances such as object-oriented software, communication networks, multimedia systems, information security and artificial intelligence. Students learn about computing technologies used by today’s professionals and how to use these technologies to solve real-world problems. They learn to analyze problems, design solutions, implement solutions using multiple computing technologies, test and install those solutions, and communicate those solutions to others in written and verbal presentations.
Back to top of page Co-curricular Activities and Organizations
The James Madison University Student Chapter of the Association for Computing Machinery is the local student chapter of the national association for computing professionals. The JMU chapter of Upsilon Pi Epsilon, the international honor society in computer science, recognizes outstanding academic achievement by students and outstanding contributions to education by faculty.
Back to top of page Preparation Period for the Computer Science Major
Students wishing to major in Computer Science select CS (prep) as their major and then begin a preparation period of one or two semesters at James Madison University. The computer science course(s) taken during this period will allow the student to become familiar with the discipline and allow the faculty to become acquainted with the student. After this preparation period the student must apply to the CS department to become eligible to take the more advanced courses needed to continue the program and complete the major. Normally, students submit their application during the same semester that they take CS 239. Specific details on this process can be found on the department’s Web site.
Back to top of page Degree and Major Requirements
  Bachelor of Science in Computer Science
  Degree Requirements
Required Courses
Credit Hours
General Education1
Quantitative requirement (in addition to General Education)
Major requirements (listed below)
University electives

1 The General Education program contains a set of requirements each student must fulfill. The number of credit hours necessary to fulfill these requirements may vary.
Major Requirements
Credit Hours
CS/MATH 227. Discrete Structures I
CS/MATH 228. Discrete Structures II
CS 239. Advanced Computer Programming (CS 139 or equivalent is a prerequisite for CS 239)
CS 240. Algorithms and Data Structures
CS 345. Software Engineering
CS 350. Computer Organization
CS 430. Programming Languages
CS 450. Operating Systems
CS 460. Local Area Networks
CS 474. Database Design and Applications
Computer Science electives above CS 300
TSC 210. Technical and Scientific Communication
Choose one of the following:
MATH 205. Introductory Calculus I
MATH 231. Calculus with Function I
MATH 235. Calculus I
Choose one of the following statistics courses:
MATH 220. Elementary Statistics
MATH 318. Introduction to Probability and Statistics

The credit/no-credit option may not be applied to any courses specifically listed above, nor may that option be applied to Computer Science electives. Students must achieve a cumulative grade point average of 2.0 or better in all courses used to satisfy the above requirements.
Back to top of page Certificates
Periodically, the department may offer a collection of two or more advanced courses in a particular area of study. Students successfully completing those courses will obtain a certificate in that area of study. Examples of possible certificate programs include networking, software engineering and information security.
Back to top of page U.S. Government Requirements for Computer Scientists
The U.S. government standard for occupational category GS-1550: Computer Science Series includes a requirement of 15 hours in statistics and mathematics including differential and integral calculus. This means that students considering a career as a computer scientist with the U.S. government (including DoD, NASA, etc.) must complete more math courses than the minimum requirement for a B.S. degree. Recommended calculus sequence for these students are MATH 235-236, or MATH 231-232-236. However, only the U.S. Office of Personnel Management can give final approval of individual qualifications.
Back to top of page Minor Requirements
  Computer Science Minor
  • Dr. Elizabeth Adams, Minor Adviser
Credit Hours
CS 139. Algorithm Development
CS 239. Advanced Computer Programming
Choose one of the following:
CS 345. Software Engineering
CS 350. Computer Organization
Choose three of the following:
CS 240. Algorithms and Data Structures
CS 252. Discrete Structures or CS/MATH 228. Discrete Structures II
Computer Science courses above CS 300

  Telecommunications Minor
  • Dr. Malcolm Lane, Minor Adviser
The Department of Computer Science, in cooperation with other departments, offers an interdisciplinary minor in telecommunications. The program is intended to augment major programs in preparing students to become network and telecommunications professionals. For a full description of the requirements for the minor in telecommunications, see “Interdisciplinary Programs.”