Madison Script James Madison University
Catalog Home

College of Integrated Science and Technology Main

CISAT Interdisciplinary Programs and Centers

Communications Sciences and Disorders

Health Sciences

Integrated Science and Technology

Kinesiology and Recreation Studies



Social Work

Course Descriptions

Program of Computer Science

Dr. Malcolm Lane, Department Head

Phone: (540) 568-2770
Web site:

C. Fox, S. Frysinger, J. Harris, M. Heydari, M. Lane, J. Marchal, R. Mata-Toledo

Associate Professors
C. Abzug, E. Adams, D. Bernstein, P. Cushman, M. Eltoweissy, R. Grove, R. Prieto-Diaz, D. McGraw, S. Redwine

Assistant Professors
M. Aboutabl, M. Norton, B. Tjaden, R. Tucker, S. Wang

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. For individuals to grow they must be active participants 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, which is 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 shoulders 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 the means allocated to them.
  • "To extend the application of computers:" By extending is meant not just any use of computers, but some use that claims new ground. To give a least-case example, entering data into a spreadsheet does not extend the use of computers, while setting up a spreadsheet to perform a customized data analysis does extend the application of computers to that particular problem. Stronger examples would include developing applications, even extending the concept of computing itself, to open up previously unknown application domains. The value of computer scientists is in their ability to be the cambium of growth in the development of computing. To fulfill its mission, all members of this department must stay on that growing edge. Our discipline is ripe beyond the norm with conceptual and technological change, so the development of programs and courses that stay abreast of change is our habit and necessity.
  • "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.

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 and knowledge management, 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.

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.

Admission to the Computer Science Major
Students interested in majoring in Computer Science must formally apply for admission to the major. A department committee reviews the applications and offers admission based on the academic performance of each applicant, as well as on the availability of openings.

Students interested in majoring in Computer Science should initially specify "Undeclared" as their major, and "Pre-Computer Science" as their pre-professional program. Declaring Pre-Computer Science does not guarantee acceptance into the Computer Science major. Normally, the student submits application for computer science major status during the same semester that he/she takes CS 239. Pre-Computer Science students are restricted from taking most advanced Computer Science courses until after they have been accepted into the major. Detailed instructions on how to apply for the Computer Science major can be found on the department's Web site.

Degree and Major Requirements

Bachelor of Science In Computer Science

Degree Requirements

Credit Hours
General Education1 41
Mathematics course 3
Social science or natural science course(s) 3-4
Major requirements (listed below) and electives 73-77


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

Core Corses Credit Hours
CS 239. Advanced Computer Programming 4
(CS 139 or equivalent is a prerequisite for CS 239)
CS 240. Algorithms and Data Structures 3
CS 252. Discrete Structures 3
CS 345. Software Engineering 3
CS 350. Computer Organization 3
CS 430. Programming Languages 3
CS 450. Operating Systems 3
CS 460. Local Area Networks 3
CS 474. Database Design and Applications 3
Computer science electives above CS 300 9
TSC 210. Technical and Scientific Communication 3
Choose one of the following Calculus sequences: 6-8
ISAT 142, 241. Analytical Methods II-III
MATH 205, 206. Introductory Calculus I-II
MATH 235, 236. Calculus I-II
Choose one of the following statistics courses: 3
GISAT 141. Analytical Methods I
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.

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 technology.

US Government Requirements for Computer Scientists
The US 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 US government (including DoD, NASA, etc.) must complete more math courses than the minimum requirement for a B.S. degree. A recommended calculus sequence for these students is MATH 235-236-237. However, only the US Office of Personnel Management can give final approval of individual qualifications.

Minor Requirements

Computer Science Minor
Dr. Elizabeth Adams, Minor Adviser

Required Course Credit Hours
CS 139. Algorithm Development 4
CS 239. Advanced Computer Programming 4
Choose one of the following: 3
CS 345. Software Engineering
CS 350. Computer Organization
Choose three of the following: 9
CS 240. Algorithms and Data Structures
CS 252. Discrete Structures
Computer Science courses above CS 300


Health Information Systems Minor
Dr. Stephen Stewart, Minor Adviser

The Department of Health Sciences and the Department of Computer Science offer health information systems as an interdisciplinary program. The program is intended to provide students with specialized skills in computer applications in health care. For a full description of the requirements for the minor in health information systems, see "Interdisciplinary Programs."

Telecommunications Minor
Dr. Malcolm Lane, Minor Adviser

The Department of Computer Science, in cooperation with the Computer Information Systems and Operations Management Program, 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."

James Madison University logo PUBLISHER: University Catalog Office, MSC 8002, Harrisonburg, VA 22807 - PHONE: (540) 568-4064 - FAX: (540) 568-2995
FOR INFORMATION CONTACT: Kristi Shackelford - Privacy Statement
Last Modified: 6/11/2003