Dr. Sharon J. Simmons, Department Head
Phone: (540) 568-3335
Email: simmonsj@jmu.edu
Location: ISAT/CS Building, Room 222
Website: http://www.jmu.edu/cs
Professors
D. Bernstein, C. Fox, S. Frysinger,
R. Grove, M. Heydari, R. Mata-Toledo,
D. McGraw, S. Simmons, B. Tjaden,
S. Wang
Associate Professors
M. Aboutabl, F. Buchholz, M. Norton,
N. Sprague, D. Weikle
Assistant Professors
J. Bowers, M. Kirkpatrick, M. Lam,
C. Mayfield, F. Rahman
Department of Computer Science
Mission Statement
The computer science department strives to be an intellectual community that continually explores the broad field of computing, applies this knowledge to solve problems in a variety of domains and engages with the profession and society at large. Undergraduates join this community when they become majors, participating with faculty and other students in exploring computing through classes, projects, clubs and internships.
Goals
The goals of the computer science department are to:
- Offer small classes that provide opportunities for personal interaction with students.
- Provide a broad, inclusive and up-to-date computing curriculum.
- Provide students opportunities for professional and community engagement and real word experiences.
- Help students to become computing problem solvers and good communicators.
- Produce graduates who will succeed in the computing profession.
Career Opportunities and Marketable Skills
Computing technology pervades modern society and demand for computing professionals is strong and projected to remain strong for the foreseeable future. Careers in computing range from technical positions specifying, designing, building and maintaining networks and systems of all kinds, through project leadership and technical management. The computer science major prepares students for entry-level technical positions as programmers, software developers, requirements analysts, software designers, testers, software quality assurance professionals, system architects, network engineers, information security specialists and computing consultants.
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. The department also sponsors the Cyber Defense, Digital Forensics and Women in Technology clubs.
Students are encouraged to intern in a business or government organization during the summer. Students may receive elective credit toward their major requirements for internship experiences.
Admission Requirements
Any student may declare a CS major or minor, but students may enroll in CS courses beyond CS 139/149, CS 159, and CS/MATH 227 only if they are fully admitted to the CS major or minor. Full admission to the major or minor is granted as described below.
- Students who have attempted CS 139/149, CS 159, or CS/MATH 227 at JMU may not attempt them elsewhere (that is, they must make any second attempts at JMU).
- Students must submit an application for full admission to the CS major or minor no earlier than the semester in which they complete CS 159.
- Students with a GPA of 3.0 or better in CS 139/149 and CS 159 who have attempted these classes only once are guaranteed full admission to the major or minor. Others will be granted full admission to the CS major or minor as space permits based on their GPA in CS 139/149 and CS 159 and faculty evaluation of their potential to succeed in the CS major or minor.
- Students who have completed the CS minor may apply for full admission to the CS major no earlier than the semester in which they complete the last course in the CS minor.
- CS minors with a GPA of 3.0 or higher in the CS minor will be fully admitted to the CS major; others will be admitted as space permits based on their minor GPA.
- Students will be notified of their CS major or minor admission status by January 1st for admission in the spring semester (following application the previous fall semester), and by May 15th for admission in the fall semester (following application the previous spring semester).
- Students who are not granted full admission to the CS major or minor may file one additional application in the next regular semester after they are denied admission.
- Transfer students who have completed the equivalent of CS 159 (or for whom this class is waived) are granted full admission to the CS major or minor. Other transfer students are subject to same process as non-transfer students.
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) |
52-55 |
|
University electives |
22-25 |
|
|
||
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
Major Requirements |
Credit Hours |
|
Choose one: |
3-4 |
|
CS 139. Programming Fundamentals |
||
CS 149. Programming Fundamentals (Advanced) |
||
CS 159. Advanced Programming |
3 |
|
3 |
||
CS 240. Algorithms and Data Structures |
3 |
|
CS 260. Technical Communication for Computer Science |
3 |
|
CS 261. Computer Systems I |
3 |
|
CS 327. Discrete Structures II |
3 |
|
CS 345. Software Engineering |
3 |
|
CS 361. Computer Systems II |
3 |
|
CS 430. Programming Languages |
3 |
|
CS 474. Database Design and Application |
3 |
|
Choose one systems elective: |
3 |
|
CS 432. Compilers |
|
|
CS 450. Operating Systems |
||
CS 456. Computer Architecture |
||
CS 470. Parallel and Distributed Systems |
||
Computer Science electives above CS 300 |
9 |
|
MATH 235. Calculus I or equivalent |
4 |
|
Choose one of the following statistics courses: |
3-4 |
|
MATH 220. Elementary Statistics |
||
MATH 318. Introduction to Probability and Statistics |
||
|
||
52-55 |
||
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.
Progressing in the Major
Students may repeat CS 139/149, CS 159, and CS/MATH 227 only once. Most CS courses require a grade of “C-” or better (“B-” or better in CS 139/149) in prerequisites courses. Students must achieve a cumulative grade point average of 2.0 or better in all courses used to satisfy CS major degree 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 sequences 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
Minor Adviser: Dr. Michael Kirkpatrick
Courses |
Credit Hours |
|
Choose one: |
3-4 |
|
CS 139. Algorithm Development |
||
CS 149. Programming Fundamentals (Accelerated) |
||
CS 159. Advanced Programming |
3 |
|
Choose twelve credits from the following courses. Must include at least one of CS 240, CS 261 or CS 345 |
12 |
|
CS 227. Discrete Mathematics I |
||
CS 240. Algorithms and Data Structures |
||
CS 261. Computer Systems I |
||
Computer Science courses above CS 300 |
||
|
||
18-19 |
||
Robotics Minor
Minor Adviser: Dr. Ralph Grove
The robotics minor provides students with appropriate preparation the opportunity to investigate technical issues in the design, construction and application of robots. For a full description of the requirements for the minor in robotics, see cross disciplinary programs.
Telecommunications Minor
Minor Adviser: Dr. Mohamed Aboutabl
The Department of Computer Science, in cooperation with other departments, offers a cross disciplinary 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 cross disciplinary programs.