Department of Mathematics and Computer Science

Faculty

Jason Colwell, Dale Hamilton (Department Chair), Ed Korntved, Kevin McCarty, Barry Myers

Student Learning Outcomes

  1. Students will be able to master the basic knowledge in the field.
  2. Students will be able to apply knowledge appropriately.
  3. Students will be able to communicate subject content effectively.
  4. Students will be able to work well in a team environment and with professionalism.

 

NNU / BSU Accelerated Master of Science in Computer Science

NNU students pursuing a Bachelors of Science degree in Computer Science may apply during their junior year for admittance to the Accelerated Master of Science in Computer Science at Boise State University.  Seniors accepted into the accelerated Masters program may take up to 2 graduate level courses which will apply both to their NNU Computer Science Bachelors of Science degree as well as a Computer Science Master of Science at BSU.

Degrees and Certificates

Courses

COMP1220: Introduction to Computer Science

Credits 3

Provides a broad coverage of topics in computer science and its applications. Investigates the capabilities of computer technology. Includes an introductory experience in programming. Also includes introductions to professional ethics and careers. Fee: Additional fee required.

Prerequisites

An ACT Math score of 23 or its equivalent.

COMP2040: Introduction to Web Development

Credits 3

Introduces students to the world of computer science through the world-wide web, focusing on the techniques of web-page creation. No programming background is required, although students will learn some programming through scripting languages. Fee: Additional fee required.

Prerequisites

COMP1220 or Instructor's approval

COMP2220: Computer Programming I

Credits 3

Further study of the syntax and semantics of a programming language using object-oriented design methodology. Problem-solving heuristic and algorithm development will be emphasized. Fee: Additional fee required.

Prerequisites
Corequisites

COMP2260: Event-Driven Programming

Credits 3

An introduction to the principles of developing application programs to run in a Windows environment. Development of real-world, multi-form, commercial applications taken from engineering, business, and industry will be emphasized. Fee: Additional fee required.

Prerequisite Courses
Corequisites

COMP2320: Introduction to Python Programming

Credits 3

An introduction to systems and application programming using Python, one of the most popular and versatile computing languages. The course covers basic syntax, using external modules, data types and operators, functions and object-oriented programming. Additional topics cover applying Python to common problems such as creating applications and scripts, manipulating and visualizing data, applying machine learning techniques and using web-based resources and services. Fee: Additional fee required.

COMP2630: Computer Architecture

Credits 3

An introduction to the basic concepts of a computer system and its architecture using the 80x86 microprocessor. This includes memory, control, and arithmetic logic unit (ALU) interactions. Instruction types, formats, and data representation are studied. Fee: Additional fee required.

Prerequisite Courses

COMP2750: Data Structures

Credits 3

Introduction to commonly used computer data structuring techniques. Topics include graphs, stacks, queues, lists, trees, sorting, searching, and memory management. Fee: Additional fee required.

Prerequisite Courses

COMP3094: Special Topics in Computing

Credits 1 4

A study of some areas not covered in other computing courses. May be repeated for credit. Fee: Additional fee required.

Prerequisites
Instructor's approval

COMP3130: Teaching Computer Science in Secondary Schools

Credits 3

Course topics include strategies appropriate to this subject field, instructional materials and tools, curricular structure common to this subject in the secondary school. Includes opportunities for candidates to assist and teach a minimum of 20 hours. (See EDUC3130Fee: Additional fee required.

Prerequisites

Junior Classification. Program Admission.

Corequisites

COMP3230: Introduction to Spatial Analysis

Credits 3

Introduction to Geographic Information Systems (GIS) and the utilization of geospatial data for observation of data in a means that is not possible in written or tabular format. Spatial analysis allows questions to be considered where a primary consideration is the relationship between where different entities are located. Fee: Additional fee required.

COMP3330: Database Design and Programming

Credits 3

An introduction to application program development in a database environment with an emphasis on data structures, file organization, hierarchical network and relational data models and storage devices. Fee: Additional fee required.

Prerequisites
Corequisites

COMP3370: Systems Analysis and Design

Credits 3

A study of techniques and tools used to analyze problems with an emphasis on defining the present state of a system and offering a set of alternative designs, which provide an improved system. The types of optimization criteria and tools for performing this analysis will be investigated with examples from business and engineering. Fee: Additional fee required.

Prerequisite Courses

COMP3430: Operating Systems I

Credits 3

An introduction to the major concepts of operating system principles. This includes an understanding of the organization and architecture of computer systems at the register-transfer and programming levels of system description. This includes operating system concepts relating specifically to current operating system standards and a formal treatment of programming language translation and compiler concepts. Fee: Additional fee required.

Prerequisite Courses
Corequisites

COMP3470: Cybersecurity Principles

Credits 3

This course introduces the concepts of cybersecurity. Topics include virtual and physical information threats, legal and ethical issues, and planning and risk assessment. Students will see how various tools and methodologies are employed in cyber defense and learn best practices for doing so. This course also introduces security roles in an organization and how to manage and maintain information security policies. Upon completion students will understand how to perform an organizational information security risk assessment and create corresponding information security policies according to industry and government standards. Fee: Additional fee required.

Prerequisite Courses

COMP3480: Cyber Defense

Credits 3

This course introduces students to the concepts of defense in-depth, a security industry best practice for reducing risk from cyberattacks, social engineering, phishing and malware. Topics include firewalls, backup systems, disaster recovery, and incident handling. This course will also focus on reasons for many of the classic flaws software developers implement in systems that can lead to security problems including buffer overflows, format string problems, race conditions, memory leaks, etc. Upon completion, the student will learn to plan effective information security defenses, backup systems, user security and disaster recovery procedures. Fee: Additional fee required.

Prerequisite Courses

COMP3530: Computer Graphics

Credits 3

An overview of the hardware, software, and techniques used in computer graphics. Topics include 2-D and 3-D transformations, clipping, windowing, display files, surface plots, and fractals. Fee: Additional fee required.

Prerequisite Courses
Corequisites

COMP3630: Networks and Data Communications I

Credits 3

A study of digital data communication in computer networks. The problems, rationales, and possible solutions for various communication protocols will be discussed as well as OSI model and various network protocols. Fee: Additional fee required.

Prerequisite Courses

COMP3830: Information Security

Credits 3

An introduction to both the technical components of information security as well as security management. Coverage will include inspection and protection of information assets, detection of and reaction to threats to information assets, and examination of pre- and post-incident procedures, technical and managerial responses, and an overview of the information security planning and staffing functions. Students will also have hands-on experience in selected information security technologies through lab sessions. Fee: Additional fee required.

Prerequisite Courses

COMP3970: Introduction to Senior Project

Credits 1

Presentation of possible topics for the senior software development or research project. Discussion of the style of the written paper and oral presentation. Methods of collecting background information and data will be presented. Attendance at senior seminar presentations is required. Fee: Additional fee required.

Prerequisites

Junior classification, Computer Science major.

COMP4220: Artificial Intelligence

Credits 3

The goal of Artificial intelligence is to enable a computer to learn, plan, and solve problems autonomously. Concepts and techniques involved in artificial intelligence including goal-directed searching, constraint satisfaction, fuzzy logic, pattern recognition, evolutionary computation, and genetic algorithms. Fee: Additional fee required.

Prerequisite Courses

COMP4330: Machine Learning

Credits 3

An introduction to basic artificial intelligence concepts that are widely used in modern computer systems using bioinformatics as examples. These concepts include learning theory, supervised and unsupervised learning, machine learning applications, association rules, clustering, classification and data mining applications. Fee: Additional fee required.

Prerequisite Courses

COMP4340: Advanced Database Design and Programming

Credits 3

The concept of Big Data refers to massive amounts of data, both structured and unstructured, on which the processing capabilities of traditional data management tools are inadequate. This course investigates storage and analysis methods and associated tools which enable users to extract knowledge from voluminous data. Fee: Additional fee required.

Prerequisite Courses

COMP4430: Compilers

Credits 3

A formal treatment of programming language translation and compiler concepts. Emphasis is on parsing algorithms, translation specifications and development of machine-independent code. Fee: Additional fee required.

Prerequisite Courses

COMP4470: Cyber Warfare

Credits 3

This course is designed to train students to function in the role of a "White Hat" or ethical hacker for an organization. Students are exposed to the inner workings of cyberattacks from a White Hat perspective: how malware is built and propagated to the use of the Dark Web. It will also cover web-application specific topics such as Denial of Service, SQL injection and cross-site scripting attacks and how to defeat them. This course will also address a number of advanced topics such as cellular, Internet of Things and mobile technologies and their security, system vulnerabilities and penetration testing of corporate networks/systems. Students will also learn how to employ honeypots/honeynets to deceive and/or thwart attackers. Fee: Additional fee required.

Prerequisite Courses

COMP4480: Cyber Forensics and Recovery

Credits 3

This course will introduce techniques to discover whether an information network is or has been under attack and steps to remediate and recover from the attack. Students will learn how to apply machine learning techniques and monitoring tools to detect the presence of an attack and steps to mitigate loss of data. This course will also discuss the steps necessary to determine the extent of and reporting requirements for data breaches and loss. Students are introduced to both international and U.S. cyber laws including reporting compliance. This course will also cover various agencies for dealing with cybercrime and how to assist law enforcement in prosecuting perpetrators of cybercrime. Fee: Additional fee required.

Prerequisites

COMP3480, Students must be junior standing.

COMP4680: Software Development Project

Credits 4

An application of the computer programming and system development concepts, principles, and practices to a comprehensive systems development project. The student may work individually or as part of a team in the development of a significant software project. Fee: Additional fee required.

Prerequisites

COMP3970, Senior classification

COMP4750: Algorithm Analysis

Credits 3

A medium level algorithmic class to introduce various categories of algorithms, formal specification and verification, and algorithmic schemas for specific problems. The algorithm topics include divide and conquer, backtracking, dynamic programming, string processing, graph algorithms, geometric algorithms, fast arithmetic algorithms, genetic programming, and NP completeness and approximation. Fee: Additional fee required.

Prerequisite Courses

COMP4810: Parallel Computation

Credits 3

As we lose the ability to speed up computers by making processors faster, we must instead investigate how to achieve performance gains by utilizing the multiple processors that are available on most common computers. Students will learn and apply concurrent programming methods using both central processing units (CPUs) and graphic processing units (GPUs), as well as algorithmic decisions that influence performance gains through parallelization. Fee: Additional fee required.

Prerequisite Courses

COMP4970: Research

Credits 1 3

Involves the participation of the student with a faculty member in an individual investigative project. May be repeated for up to 4 credits. Fee: Additional fee required.

Prerequisites

Instructor's approval

COMP4980: Senior Seminar/Capstone

Credits 1

Required of and limited to senior students. The seminar involves the written and oral presentation of the research project completed in COMP4680 or 4970. In addition, the student is required to complete a written subject examination in the field of Computer Science, e.g. ETS Major Field Test for Computer Science. Must be taken at NNU. Fee: Additional fee required.

Prerequisites

MATH0900: Essential Mathematics

Credits 3
Whole numbers, fractions and mixed numbers, decimals, ratio, proportion, percent, measurement, geometry, introduction of algebra, solving equations, and statistics. This is a credit/no credit course. Receiving credit for this course prepares the student to take MATH1100 or MATH2240. Credit for courses numbered below 1000 is not transferable.

MATH0950: Intermediate Algebra

Credits 3
Linear equations and inequalities, graphing lines, systems of equations, exponents, polynomials, factoring, radicals, complex numbers, and the quadratic formula. This is a credit/no credit course. This course prepares the student to take MATH1300. Credit for courses numbered below 1000 is not transferable. Students need to verify they have the prerequisites the first day of class.
Prerequisites
ACT Math score of 21 or higher, or SAT Math score of 570 or higher, or Accuplacer Elementary Algebra score of 74 or higher, or Accuplacer QRAS score of 250 or higher, or instructor's approval.

MATH1100: Liberal Arts Mathematics

Credits 3
Students will explore mathematical ideas and logical reasoning. This class will look at mathematical applications in life which may include topics such as statistics, fair voting schemes, prime numbers, and modular arithmetic. Students will also develop their own insights and theorems through the exploration of mathematical patterns. The content of the class may vary each semester. The course satisfies the general education mathematics competency requirement. The course is designed for non-science majors. Students need to verify they have the prerequisites the first day of class.
Prerequisites
ACT Math score of 21 or higher, or SAT Math score of 570 or higher, or Accuplacer Elementary Algebra score of 74 or higher; or Accuplacer QRAS score of 250 or higher, or credit for MATH0900.

MATH1300: College Algebra

Credits 3

Topics include polynomial arithmetic, synthetic division, zeros of polynomials, systems of linear equations, matrices and matrix multiplication. This course prepares students to take MATH1400 and MATH2510. Students need to verify they have the prerequisites the first day of class.

Prerequisites

ACT Math score of 23 or higher, or SAT Math score of 600 or higher, or Accuplacer Elementary Algebra score of 117 or higher, or Accuplacer College Level Math score of 50 or higher, or Accuplacer QRAS or AAF score of 265 or higher, or instructor's approval.

MATH1400: Trigonometry

Credits 3
Topics include the study of the trigonometric functions, plane trigonometry, and analytic trigonometry. This course prepares students to take MATH2510. Students need to verify they have the prerequisites the first day of class.
Prerequisites
MATH1300 (a grade of C or better); ACT Math score of 26 or higher, or SAT Math score of 670 or higher, or Accuplacer College Level Math score of 60 or higher, or Accuplacer AAF score of 285 or higher, or instructor's approval.

MATH2010: Fundamental Mathematical Structures I

Credits 3
Includes problem solving and mathematical reasoning, sets, relations and functions, numeration, the system of whole numbers, integers and rational numbers, and number theory. Laboratory activities are included. Students need to verify they have the prerequisites the first day of class.
Prerequisites
EDUC1100 or EDUC1125 and enrollment in a program leading to an elementary or secondary teaching certificate; ACT Math score of 21 or higher, or SAT Math score of 570 or higher, or Accuplacer Elementary Algebra score of 74 or higher, or Accuplacer QRAS score of 250 or higher.

MATH2240: Elementary Statistics

Credits 3
Introduction to statistical terminology and basic concepts, including common uses and misuses of statistics. Topics include experimental design, sampling, descriptive statistics, correlation and regression, probability, and tests of significance. This is a valuable course for students in all majors. This course satisfies the general education mathematics competency requirement. Students need to verify they have the prerequisites the first day of class.
Prerequisites
ACT Math score of 21 or higher, or SAT Math score of 570 or higher, or Accuplacer Elementary Algebra score of 74 or higher; or Accuplacer QRAS score of 250 or higher or credit for MATH0900., or instructor's approval.

MATH2310: Discrete Mathematics

Credits 3
An introduction to graph theory, logical operators, mathematical induction, enumeration and Boolean algebra. Students need to verify they have the prerequisites the first day of class.
Prerequisites
MATH1300 (a grade of C or better).

MATH2510: Calculus I

Credits 4
Limits, derivatives (including trigonometric functions), integration and applications of the derivative. Students need to verify they have the prerequisites the first day of class.
Prerequisites
MATH1400 (a grade of C or better); ACT Math score of 28 or higher, or SAT Math score of 710 or higher, or Accuplacer College Level Math score of 103 or higher, or Accuplacer AAF score of 300 or higher, or instructor's approval.

MATH2520: Calculus II

Credits 4
Area, volume, applications of the integral, techniques of integration (partial fractions, integration by parts, etc.), polar coordinates, integration in polar coordinates, infinite series. Students need to verify they have the prerequisites the first day of class.
Prerequisite Courses

MATH3240: Probability and Statistics I

Credits 3
Study of combinatorial analysis, probability, random variables and their distributions, estimation, statistical inference, regression and correlation, and analysis of variance. Students need to verify they have the prerequisites the first day of class.
Prerequisite Courses

MATH3245: Probability and Statistics for Science and Engineering

Credits 3
This course will develop a thorough understanding of the methods of probability and statistics which are used to model engineering problems and develop the necessary skills to implement and analyze basic statistical models using computer software. Intended for engineering majors.
Prerequisite Courses

MATH3280: Modeling and Operations Research

Credits 3
A survey of fundamental operations research techniques. Emphasis is given to the linear programming model. Other topics will be chosen from network models, decision analysis, queuing theory and dynamic programming.
Prerequisites

MATH3310: Methods of Proof

Credits 3
Logic, mathematical induction, sets, equivalence relations and equivalence classes, and order relations are studied. Emphasis is given to constructing sound mathematical arguments.
Prerequisites
MATH2310 or MATH2510, or instructor's approval.

MATH3320: Linear Algebra

Credits 3

A study of vector spaces, linear transformations, matrices, determinants, and systems of equations. Special attention is given to the connection between linear transformations and matrices.

Prerequisites

MATH3410: Modern Geometry

Credits 3
A review of Euclidean geometry is followed by a wider view of geometry. Topics may include hyperbolic geometry, finite geometries and metric geometries other than Euclidean.
Prerequisites
MATH1400 or MATH2510, or instructor's approval.

MATH3530: Calculus III

Credits 4

A continuation of Calculus II. Partial differentiation, gradient and directional derivatives, multiple integrals, and topics in vector calculus including vector fields, curl, divergence as well as the integral calculus involving line and surface integrals. Green's Theorem, Stokes Theorem, and Gauss' Theorem are further topics to be studied. Students need to verify they have the prerequisite the first day of class.

Prerequisite Courses

MATH3540: Differential Equations

Credits 4

A first course in ordinary differential equations. Linear algebra will be introduced for systems of linear differential equations. Students need to verify they have the prerequisite the first day of class.

Prerequisite Courses

MATH3560: Numerical Analysis

Credits 3
Numerical solution of algebraic and transcendental equations and systems of linear equations, interpolation, finite differences, numerical differentiation and integration and solution of differential equations. Emphasis on methods most adaptable for computer use. Recommended: MATH3540 and a programming language.
Prerequisite Courses

MATH3570: Teaching Mathematics in the Secondary School

Credits 2
This course explores strategies for teaching math in secondary schools. A major focus of the class will be moving secondary students through enactive, iconic, and symbolic representation for concepts in the five major areas of math: algebra, functions, geometry, statistics/probability, and number/quantity. Other topics will include standards alignment, technology integration, and assessment. Field experience: 20-40 hours. (See EDUC3570.)
Prerequisites
Junior classification. Program admission.

MATH4100: History of Mathematics/Capstone

Credits 1
A study of the emergence of numeration methods, the invention of new mathematical systems, the development of geometry, algebra, calculus and related concepts, and the life stories of some of the persons involved. May be repeated for credit.
Prerequisite Courses

MATH4320: Modern Algebra I

Credits 4

The similarities between the algebraic structures arising in the study of number systems, modular arithmetic and polynomial operations will be used to introduce the study of groups, rings, fields, and their mapping. These structures will be applied to number theoretic and geometric problems.

Prerequisites

MATH3310 or MATH3320 , or instructor's approval.

MATH4510: Real Analysis I

Credits 4
Course one of a two-course sequence in the theory of calculus. Topics include limits, continuity, derivatives, integrals, sequence, series and series of function. An introduction to metric topology is given.
Prerequisite Courses