Informatics and CS

Business Informatics, Health Informatics & Computer Science

Computer Science Major 2017-2018

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.)