Home

General Information
Academic Programs

General Education

Interdisciplinary Programs

Academic Units

Colleges
Course Descriptions

 

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

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

For more information, contact:
JMU Catalog Office, ug-catalog@jmu.edu

Copyright © 2007 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.

Department of Computer Science

Dr. Malcolm Lane, Department Head
Phone:(540) 568-2770
E-mail: lanemg@jmu.edu
Web site: www.cs.jmu.edu

Professors
D. Bernstein, P. Cushman, C. Fox, S. Frysinger, J. Harris, M. Heydari, M. Lane, J. Marchal, R. Mata-Toledo

Associate Professors
C. Abzug, E. Adams, R. Grove, M. Norton, R. Prieto-Diaz, S. Redwine, B. Tjaden

Assistant Professors
M. Aboutabl, F. Buchholz, S. Wang

Lecturers
H. Daughtrey, N. Harris

 

Mission
Marketable Skills
Co-curricular Activities and Organizations
Preparation Period for the Computer Science Major
Degree and Major Requirements
Certificates
U.S. Government Requirements for Computer Scientists
Minor Requirements

 

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.

 

Goals

  • "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.

 

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.

 

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.

 

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.

 

Degree and Major Requirements

Bachelor of Science in Computer Science

Degree Requirements

Required Courses
Credit Hours

General Education 1

41

Quantitative requirement (in addition to General Education)

3

Major requirements (listed below)

49-51

University electives

21-27

 
120

1The 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

3

CS/MATH 228. Discrete Structures II

3

CS 239. Advanced Computer Programming

4
    (CS 139 or equivalent is a prerequisite for CS 239)
CS 240. Algorithms and Data 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:
3-4
     MATH 205. Introductory Calculus I  
     MATH 231. Calculus with Function I  
     MATH 235. Calculus I  
Choose one of the following statistics courses:
3-4
     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.

 

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.

 

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.

 

Minor Requirements

Computer Science Minor
Dr. Elizabeth Adams, Minor Adviser

 
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 or CS/MATH 228. Discrete Structures II
     Computer Science courses above CS 300

 
20

 

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