Quick Navigation

Undergraduate Program

Undergraduate Emphasis Comparisons and Course Requirements


The following assumes that a student is following the most current catalog .

Overview of the Three Computer Science Emphases

All three emphases—Software Development, Enterprise Software, and Computational Software—concentrate on the skills needed to be a software developer, including programming in several languages, database management, and software engineering. All three emphases require the same nine core computer science courses, along with either an additional required course and/or Computer Science electives, depending on which emphasis is pursued. Coursework includes instruction in various languages (e.g., C++, Java, IBM Assembler, PHP, JavaScript, Perl, etc.), software engineering, security, databases, development environments (e.g., .NET), and operating systems (e.g., UNIX, Windows, and IBM’s z/OS). Extra-departmental requirements vary by emphasis.

  • Software Development: Concentrates only on computer science classes, taking three elective courses within the department. Software Development majors are well-prepared for software development careers in virtually any industry.

  • Enterprise Software: Requires CSCI 465: Enterprise Application Environments. Extra-departmental requirements include three business courses. An Enterprise Software major typically programs business applications and is well-posiitoned to start an MBA degree program or move into management later in their carreer. Additionally, an Enterprise Software major is well-positioned to get a Minor in Business Administration or a Minor in Business Innovation and Entrepreneurship, as the required business courses along with well-chosen general education courses may double-dip to help satisfy those minors. For the Entrepreneurship Minor, we recommend that you contact the Entrpreneurship Minor advisor in the Department of Management as soon as you decide to puruse that minor.

  • Computational Software: Requires CSCI 401: Theory of Computation. Extra-departmental requirements include a course in physics, at least seven mathematical courses, and a calculus-based statistics course. The Computational Emphasis requirements also satisfy the requirements for a minor in Mathematics after the student declares it with the Department of Mathematics. Some will double major in Mathematics instead. A Computational Software major generally goes on to graduate school or takes a position in mathematical programming, such as in research or in Actuarial Sciences.

Changing your emphasis can be promblematic because of extra-departmental requirements (business courses for Enterprise and mathematics courses for Computational); they could end up delaying graduation if not started fairly early in a student's program. Transfer students who have completed all of their distributed studies/general education courses can make use of those extra-departmental requirements for Enterprise and Computational Emphases to be full time students every semester, if they are required to be, since the typical Computer Science major will only take two Computer Sciences courses per semester.

A student contemplating graduate work at an institution other than NIU should include MATH 229, MATH 230, MATH 232, MATH 240, and STAT 350 in his or her program of study, regardless of the emphasis choosen.

Comparison of Course Requirements for the Three Emphases

Students Seeking a Second Undergraduate Degree

Many students who already have an undergraduate degree but who are contemplating additional education assume that the best path is to get a second undergraduate degree. While this is certainly possible, it is probably better to pursue a Master’s degree in computer science. A Master’s degree, even if a student has no background in computer science, will take no longer, cost no more, and will prepare you for jobs that are often more interesting, command higher salaries, and usually offer a better career advancement path. Our M.S. program may be the perfect fit for you.

Please see Students Seeking a Second Undergraduate Degree for more information.