| Return to Academic Units |
Dr. Malcolm Lane, Department Head
Professors
P. Cushman, C. Fox, S. Frysinger, J. Harris, M. Heydari, M. Lane, J. Marchal, R. Mata-Toledo
Associate Professors
C. Abzug, E. Adams, D. Bernstein, R. Grove, R. Prieto-Diaz, S. Redwine, B. Tjaden
Assistant Professors
M. Aboutabl, F. Buchholz, M. Norton, R. Tucker, S. Wang
Lecturers
H. Daughtrey, N. Harris
|
| |
|
|
| Mission Statement |
Degree and Major Requirements |
|
| Marketable Skills |
Certificates |
|
| Co-curricular Activities and Organizations |
U.S. Government Requirements for Computer Scientists |
|
| Preparation Period for the Computer Science Major |
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 Education1 |
41 |
| Quantitative requirement (in addition to General Education) |
3 |
| Major requirements (listed below) |
49-51 |
| University electives |
21-27 |
|
|
120 |
| 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 |
3 |
| CS/MATH 228. Discrete Structures II |
3 |
| CS 239. Advanced Computer Programming (CS 139 or equivalent is a prerequisite for CS 239) |
4 |
| 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 |
6 |
| 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.” |