Career Guide
Overview
The Computer Science major is a department within the College of Integrated Science & Engineering.
Admission and Progression Standards
Visit the Major Snapshots site to learn more about the admission and progression standards of this major.
Description of Major
Computer Science is offered as a major and minor at JMU. The Computer Science Program helps students prepare for careers writing and changing the computer programs that control so many devices in modern society and that are essential for running governments and businesses. Students study such topics as networks and the Internet, computer operating systems, database systems, artificial intelligence, and computer security. Students are exposed to and interact with the many computing technologies used by today's professionals and they learn how to use these technologies to solve real‑world problems. They develop the skills to analyze problems, to design solutions, to implement solutions using multiple computing technologies, to test and install those solutions, and to communicate those solutions to others in written and verbal presentations. The Computer Science Program is part of the following minors: Robotics and Logic and Reasoning. The department has a certificate program in Information Security in cooperation with the National Security Agency.
More About the Field
Computers now control almost every device in our homes and businesses, and virtually every organization relies on computers to store, retrieve, process, and distribute data and information. Software controls computers. Hence the people who develop and maintain software play a central role in our society. A degree in Computer Science is the ticket to a career in the field of software, where important work is done every day using technology that is rapidly changing. Computing professionals are in high demand and are well paid: Computer Science graduate starting salaries are consistently among the highest of all programs on campus. The curriculum consists of a first year focused on fundamental programming skills using the Python and Java programming language, and basic mathematics. During the second year students learn about software design methodologies and development processes, the organization of computer hardware, and software design techniques. During the last two years students learn about particular application areas, such as operating systems, networking systems, database systems, and programming languages and systems, as well exploring elective fields such as multimedia programming, full stack development, AI, machine learning, software engineering, and information security.
Specialization
Computer science is the study of computers and computational systems including their theory, design, development, and application. Principal areas within computer science include artificial intelligence, systems programming, computer security, database systems, numerical analysis, programming languages, software engineering, and theory of computing. Computer science incorporates concepts from mathematics, engineering, art and psychology. In artificial intelligence, specialized techniques are applied to particular problems, such as robot behavior or removing noise from camera images. In the field of systems programming, the focus is placed on writing programs to control the parts of a computer or connecting a variety of computers together in a network. Computer security is the study of ways to prevent computers from causing harm when under human control, and involves efforts to prevent intruders from taking over or crashing computers, and protecting data from unauthorized access or corruption. Database systems establish or maintain databases of information such as employee records, library catalogs, or satellite data, and develop code to retrieve and display the results. Numerical analysis focuses on scientific computing and applications programming, with an emphasis on processing scientific data rapidly and accurately. Programming languages is the study of the principles governing and the techniques for designing and implementing the artificial languages people use to control computers. Software engineering is the study of the way that large programs are created by teams of people who determine what the program should do, design, and code the software to do it, test the software, document it for users and other engineers, and ultimately deliver a high quality product to customers on time and within budget. Theory of computing investigates the nature and limitations of computers, the time and space (computer memory) needed to solve computational problems, and the formal properties of artificial languages.
Complementary Majors and Minors
The most common combinations of majors and minors with Computer Science are Mathematics, Media Arts and Design (SMAD), Integrated Science and Technology (ISAT), Art, Music, Robotics, Computer Information Systems (CIS) in the College of Business. Other combinations are usually easily done because the Computer Science major does not require a very large number of credits.
Characteristics of Successful Students
Individuals successful in this field tend to be logical, creative thinkers willing to learn the technical aspects of computing. They possess analytical, organizational and problem solving skills. They are patient, persistent, and accurate, and adapt well to changing problems and situations.
Careers
Most graduates choose typical career paths associated with this major, usually beginning as entry-level programmers, and subsequently moving into positions as requirements developers, software architects, software testers, and often development team managers. However, some graduates choose unrelated careers that utilize skills and experiences developed during their years in college. Keep in mind that some fields will require graduate study or further training. The listing below offers examples of possible career paths and is not meant to be comprehensive.
- Application Software Developer
- Artificial Intelligence Specialist
- Computer Designer
- Computer Engineer
- Computer Graphics Designer
- Computer Network Manager
- Computer Product Designer
- Computer Programmer
- Computer Security Specialist
- Computer Systems Manager
- Contract Specialist
- Corporate Solutions Developer
- Data Programmer
- Database Manager
- Design Software Engineer
- Information Security Engineer
- Information Systems Specialist
- Interactive Applications Developer
- Internet Developer
- Network Analyst
- Network Design Engineer
- Operations Manager
- Product Manager
- Professor
- Researcher
- Software Developer
- Software Engineer
- Systems Administrator
- Systems Analyst
- Systems Engineer
- Systems Integrator
- Systems Programmer
- Systems Researcher
- Technical Programmer
- User Services Specialist
- Web Designer/ Developer
Who Employs Graduates?
Colleges & Universities, Computer Companies, Federal, State, and Local Government Agencies, Gaming Companies, Engineering Firms, Financial Institutions, Insurance Companies, Internet Service Providers, Management Consulting Firms, Manufacturing Companies, Military Branches, Newspaper Publishers, Online Service Providers, Private Sector Companies, Private and Public Schools, Publishers, Research Institutions, Retail Chains, Software Companies, Software/Hardware Manufacturers, Special Effects Companies, or Web Design Companies.
Internships and Experiential Opportunities
Numerous paid CS internships are available for students from the sophomore to senior year. Most of these are summer employment situations. Students can also gain experience and/or exposure to the computer science field by getting involved in the Student Chapter of the Association for Computing Machinery, the Computer Forensics Club, the Cyberdefense Club, the Women in Technology Club, the Robotics Club, or the Competitive Programming Team. View our list of internship coordinators for each major.
Career Profiles
- Computer Programmers
- Computer Security Analysis
- Information Security Analysts, Web Developers, and Computer Network Architects
- Network and Computer Systems Administrators
- Software Developers
Additional Resources to Research Careers
- Handshake: view new internships and jobs that employers are looking to hire JMU students from your major
- Career Outcomes: see where alumni worked or studied right after graduating.
- GoinGlobal: learn more about employment opportunities overseas as well as H1B visa information for international Dukes pursuing jobs in the U.S.
- O*NET: browse occupational profiles to learn about thousands of different careers, pulling data from the Bureau of Labor Statistics
- CareerOneStop: explore thousands of different careers by looking at career profiles
- Utilize the LinkedIn Alumni tool to see what others have done with their majors and what their career paths look like. Reach out to alumni via LinkedIn and conduct an informational interview.
Copyright
© University Career Center, James Madison University
All rights reserved. No part of this publication may be reproduced in any form without permission from the JMU University Career Center. Content for each major has been written/reviewed by faculty in the respective department and is revised each year. Requests to update content can be submitted to career@jmu.edu.