The discipline of Computer Science has arisen as one of the highest-paying fields in the last decade; the average starting salary for a Computer Science graduate in the USA is more than $63,000/year. The Computer Science Program at ISU can prepare you to succeed in a wide range of exciting computer-science-related careers including software engineering, databases, computer security, networks, system administration, etc.

While many computer science graduates focus on technical work, the computer science major can also be a general purpose degree leading in a number of additional directions: by adding a minor or second major in Philosophy or Political Science, computer science majors can go into Law; or by adding the minor in Business Administration, they may complete the MBA in a 5th year leading to technical management possibilities. The MBA is also important for those students interested in graduate work as part of the National Information Assurance Training and Education Center (NIATEC).

Note that only major courses are included below. Students must complete 120 credits of coursework that includes 36 credits that satisfy the General Education Requirements as well as 28 required non-ICS courses.

Required ICS Courses | ||
---|---|---|

Course# | Name | Prereq |

INFO 1150 | Software & Systems Architecture | Coreq INFO 1181 or CS 1181 |

Principles and application of computer hardware and systems software in the context of designing business IT infrastructures through combination of theory-based lectures and applied laboratory experiences. | ||

CS/INFO 1181 | Computer Science and Programming I | MATH 1143 or MATH 1147 (Coreq okay) |

Problem solving methods and algorithm development with an emphasis on programming style. Satisfies Objective 7 of the General Education Requirements. | ||

CS/INFO 1182 | Computer Science and Programming II | CS 1181 or INFO 1181 |

Object-oriented programming and design. Sorting and searching. Recursion. Event-driven programming. UML class-diagrams. Secure software design/coding concepts for resilient software systems. | ||

CS 2275 | Computer Architecture and Assembly | CS 1181 or INFO 1181 |

Computer organization from the perspective of instructions, including the central processor, busses, input and output units, and memory units. Instruction sets, loaders and linkers, assembly language, address computation, and other architecture-related functions. Virtual memory. Dynamic and static linking. Uses a different programming language. | ||

CS 3308 | Data Structures and Programming | CS 1182 or INFO 1182 |

Introduction to data structures and their associated algorithms. Abstract data types, linked lists, stacks, queues, trees. Pointers. Sorting and searching. Elementary threading. Extensive programming exercises and projects. | ||

CS 3385 | Data Structures and Algorithms | CS 2275, CS 3308, MATH 1170, and (CS/MATH 1187 or MATH 2287 or MATH 2240) |

The design, construction, and analysis of data structures algorithms, and complexity beyond CS 3308. Balanced trees, heaps, hash tables, graph algorithms, sorting and searching. Space and time complexity. Significant coding projects. | ||

CS 4471 (4 hrs) | Operating Systems | CS 2275, CS 3308. |

Theory, design, and implementation of software systems to support the management of computing resources. Concurrency, mutual exclusion and synchronization, CPU scheduling. Process, memory, and security. I/O files, and device management. Scripts and shells. Extensive systems programming including implementation of a portion of an operating system. | ||

CS 4481 | Compilers | CS 3385 |

Design and construction of compilers. Theory and pragmatics of lexical, syntactic, and semantic analysis. Interpretation. Code generation for a modern architecture. Run-time environments. Includes a large compiler-implementation project. | ||

CS 4488 | Software Engineering and Senior Project | CS 3385 & (CS 3321 or INFO 3307) & (CS 4451 or INFO 4407) |

Analysis, specification, design, implementation, and testing of a large software project. Formal approach and tools. software lifecycles; human computer interaction; project and team management. Uses a different programming language. | ||

INFO 3307 | Systems Analysis and Design | INFO 1182 or CS 1182 (Coreq okay) or POI |

Develops systems analysis skills, using proven techniques, prototyping, and structured analysis and design phases of the systems development life cycle. The course emphasizes Secure Software Design, which includes secure design elements, software architecture, secure design review, and threat modeling. Requirements: gathering is emphasized, including secure software requirements gathering to capture all of the security requirements from various stakeholders and understand the sources and processes needed to ensure a more effective design. | ||

INFO 3380 | Networking and Virtualization | INFO 2285 or CS 2275 |

Study of the implementation and development of network information systems. Protocols and techniques will be compared, and virtualization and cloud computing will be emphasized. | ||

INFO 4407 | Database Design & Implementation | INFO 3307 (Coreq okay) |

Covers multi-user relational database management systems, stored procedures, SQL, transaction processing, etc. The course emphasizes Secure Software Design, which includes secure design elements, software architecture, secure design review, and threat modeling. | ||

INFO 4411 | Intermediate Information Assurance | INFO 2285 or CS 2275 or INFO 3310 or POI |

Focuses on homeland security, information assurance, integrity, control, and privacy. Covers CNSS-4011, NIST-800-16 standards, national policy, and international treaties. The course considers Software Deployment, Operations, Maintenance and Disposal, including security issues around steady state operations and management of software, as well as security measures that must be taken when a product reaches its end of life. | ||

Total Hours: 40 |

(Click on any course to see a course description.)

Required Non-ICS Courses | ||
---|---|---|

Course# | Name | Prereq |

MATH 1170 (4 hrs) | Calculus I | MATH 1144 or MATH 1147 |

First course in the sequence MATH 1170, MATH 1175, and MATH 2275. Real-valued functions of one real variable: limits, continuity, derivatives, integrals, applications. Credit cannot be granted in both MATH 1160 and MATH 1170. Satisfies Objective 3 of the General Education Requirements. | ||

MATH 1175 (4 hrs) | Calculus II | MATH 1170 |

Second course in the sequence MATH 1170, MATH 1175, and MATH 2275. Techniques of integration, trigonometric integrals, improper integrals. Applications of definite integrals. Sequences and series. Parametric curves in the plane, polar coordinates. | ||

MATH 2275 (4 hrs) | Calculus III | MATH 1175 |

Third course in the sequence MATH 1170, MATH 1175, and MATH 2275. Multivariable calculus. Vector algebra and geometry. Functions of several variables. Differentiation. Optimization. Multiple Integrals. Parametric curves and surfaces. Line and surface integrals. Vector fields. Green's, Stokes', and divergence theorems. | ||

MATH 2240 | Linear Algebra | MATH 1170 |

Introduction to linear algebra. Linear systems, matrices, determinants, vector spaces, linear transformations, linear independence, eigenvalues and eigenvectors, orthogonalization. | ||

CS/MATH 1187 or MATH 2287 |
Applied Discrete Structures or | CS 1181 |

Foundations of Mathematics | MATH 1170 | |

CS/MATH 1187: Discrete structures in CS and EE. Boolean algebra and logic; sets, functions, and relations; iteration, recursion, and induction; algorithms; programming in pseudocode; basic counting principles; graphs and trees; and other selected topics from discrete mathematics. Equivalent to CS 1187. | ||

MATH 2287: Logic and proofs, sets, functions, relations, mathematical induction, and the cardinality of sets. | ||

PHYS 2211 (4 hrs) or MATH 3360 |
Engineering Physics I or | MATH 1175 (Coreq okay) |

Differential Equations | MATH 1175; MATH 2275 recommended | |

PHYS 2211: Mechanics of particles and rigid bodies; kinetic theory and thermodynamics; electricity and magnetism; wave motion; optics. Partially satisfies Objective 5 of the General Education Requirements. 4 semester hours. | ||

MATH 3360: Theory and applications of ordinary differential equations. | ||

MATH 3350 or MATH 4450 or MGT 2216 |
Statistical Methods or | MATH 1160 or MATH 1170 |

Mathematical Statistics or | MATH 3326 and MATH 3352 | |

Business Statistics | ENGL 1101 or ENGL 1101P; MATH 1143 (coreq okay) | |

MATH 3350: A calculus-based introduction to statistical procedures, including simple regression, basic experimental design, and non-parametric methods. | ||

MATH 4450: Probability, random variables, discrete and continuous distributions, order statistics, limit theorems, point and interval estimation, uniformly most powerful tests, likelihood ratio tests, chi-square and F tests, nonparametric tests. | ||

MGT 2216: Descriptive statistics, probability, confidence intervals, hypothesis testing including one and two sample z/t-tests, chi-square and ANOVA. Emphasis on statistical software to analyze data for business decision making. Satisfies Objective 3 of the General Education Requirements. | ||

MATH 3352 or MGT 2217 |
Introduction to Probability or | MATH 1175 or POI |

Advanced Business Statistics: | MGT 2216; MATH 1143 (coreq okay) | |

MATH 3352: Fundamentals of probability, discrete and continuous random variables, distributions such as binomial, uniform, Poisson, hypergeometric, normal, gamma; expectation; joint, marginal, conditional distributions; central limit theorem; applications to statistics. Emphasizes material needed to develop statistical inference methods. | ||

MGT 2217: Linear and multiple regression, forecasting and statistical process control. Emphasis on use of statistical software; written and oral communication of statistical information in a business setting. | ||

Total Hours: 27 or 28 (+ 37) |

(Click on any course to see a course description.)

The CS Major also requires 3 additional elective credits from:

- Any 4000 level Computer Science course
- INFO 4412 through 4416, 4430, 4482, 4484
- MATH 4406, 4407, 4408, 4441, 4442, 4451
- PHIL 4470
- Other electives may be approved by the computer science program director or chair on a case by case basis.

Total Hours: 70 or 71

(Click here for the 2016 CS course list.)