Department of Mathematics and Computer Science
Faculty
Jason Colwell, Dale Hamilton (Department Chair), Ed Korntved, Kevin McCarty, Barry Myers
Student Learning Outcomes
- Students will be able to master the basic knowledge in the field.
- Students will be able to apply knowledge appropriately.
- Students will be able to communicate subject content effectively.
- 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
-
Computer Science, Bachelor of Arts -
Mathematics, Bachelor of Arts -
Mathematics Education, Bachelor of Arts -
Computer Science, Bachelor of Science -
Mathematics, Bachelor of Science -
Computer Science, Minor -
Cybersecurity, Minor -
Mathematics, Minor -
Computer Science Second Endorsement, Endorsement
Courses
COMP1220: Introduction to Computer Science
Credits 3Provides 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.
An ACT Math score of 23 or its equivalent.
COMP2040: Introduction to Web Development
Credits 3Introduces 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.
COMP1220 or Instructor's approval
COMP2094: Special Topics in Computer Programming
Credits 1 4An intensive study of one programming language not covered in other courses. May be repeated for credit. Fee: Additional fee required.
COMP2220: Computer Programming I
Credits 3Further 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.
COMP2220L: Computer Programming I Laboratory
Credits 1A required laboratory associated with COMP2220. Fee: Additional fee required.
COMP2260: Event-Driven Programming
Credits 3An 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.
COMP2260L: Event-Driven Programming Laboratory
Credits 1A required laboratory associated with COMP2260. Fee: Additional fee required.
COMP2320: Introduction to Python Programming
Credits 3An 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 3An 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.
COMP2750: Data Structures
Credits 3Introduction to commonly used computer data structuring techniques. Topics include graphs, stacks, queues, lists, trees, sorting, searching, and memory management. Fee: Additional fee required.
COMP3094: Special Topics in Computing
Credits 1 4A study of some areas not covered in other computing courses. May be repeated for credit. Fee: Additional fee required.
COMP3130: Teaching Computer Science in Secondary Schools
Credits 3Course 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 EDUC3130) Fee: Additional fee required.
Junior Classification. Program Admission.
COMP3230: Spatial Analysis
Credits 3Introduction 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 3An 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.
COMP3330L: Database Design and Programming Laboratory
Credits 1A required laboratory associated with COMP3330. Fee: Additional fee required.
COMP3370: Systems Analysis and Design
Credits 3A 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.
COMP3430: Operating Systems I
Credits 3An 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.
COMP3430L: Operating Systems I Laboratory
Credits 1A required laboratory associated with COMP3430. Fee: Additional fee required.
COMP3440: Operating Systems II
Credits 3A continuation of COMP3430 Operating Systems I. Fee: Additional fee required.
COMP3470: Cybersecurity Principles
Credits 3This 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.
COMP3480: Cyber Defense
Credits 3This 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.
COMP3530: Computer Graphics
Credits 3An 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.
COMP3530L: Computer Graphics Laboratory
Credits 1A required laboratory associated with COMP3530. Fee: Additional fee required.
COMP3630: Networks and Data Communications I
Credits 3A 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.
COMP3640: Networks and Data Communications II
Credits 3A continuation of COMP3630 Networks and Data Communications I. Fee: Additional fee required.
COMP3830: Information Security
Credits 3An 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.
COMP3970: Introduction to Senior Project
Credits 1Presentation 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.
Junior classification, Computer Science major.
COMP4220: Artificial Intelligence
Credits 3The 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.
COMP4330: Machine Learning
Credits 3An 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.
COMP4340: Advanced Database Design and Programming
Credits 3The 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.
COMP4430: Compilers
Credits 3A 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.
COMP4470: Cyber Warfare
Credits 3This 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.
COMP4480: Cyber Forensics and Recovery
Credits 3This 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.
COMP3480, Students must be junior standing.
COMP4680: Software Development Project
Credits 4An 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.
COMP3970, Senior classification
COMP4750: Algorithm Analysis
Credits 3A 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.
COMP4810: Parallel Computation
Credits 3As 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.
COMP4970: Research
Credits 1 3Involves 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.
Instructor's approval
COMP4980: Senior Seminar/Capstone
Credits 1Required 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.
MATH0900: Essential Mathematics
Credits 3MATH0950: Intermediate Algebra
Credits 3MATH1100: Liberal Arts Mathematics
Credits 3MATH1300: College Algebra
Credits 3This course covers solving linear equations, including those with absolute values, as well as graphing and its various applications. Additional topics will include polynomial functions, focusing on their zeroes, division of polynomials, composition functions, complex numbers, and fundamental theorem of algebra. Graphing and solving problems involving logarithms and exponents will also be covered. This course prepares students to take MATH1400 and MATH2510.
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 3This course covers trigonometric identities, trigonometric equations, and the laws of sines and cosines. Additional topics include finding the area of triangles and an introduction to complex numbers. This course prepares students to take MATH2510.
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 3MATH2020: Fundamental Mathematical Structures II
Credits 3Includes probability and statistics, basic geometric concepts and measurement, constructions, congruence, Euclidean & Transformational Geometry. Laboratory activities are included.
MATH2010, or instructor's approval.
MATH2240: Elementary Statistics
Credits 3Emphasis on graphical and numerical descriptions of data, analyzing relationships between categorical variables, constructing and interpreting confidence intervals. Core topics include hypothesis testing, linear regression, and correlation, as well as an introduction to probability theory.
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 higher, or instructor's approval.
MATH2310: Discrete Mathematics
Credits 3This course introduces base representations of integers, concepts of divisibility, primes, and decomposition, and set theory. Topics also include modular arithmetic, an introduction to combinatorics, graph theory (network theory), and basic proof writing.
MATH1300 (a grade of C or better).
MATH2510: Calculus I
Credits 4The computation and application of derivatives, including those involving trigonometric functions, exponents, and logarithms. Practical applications of derivatives, such as optimization and motion problems, will be covered. Integrals and the relationship between a function, its derivative, and its antiderivative.
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 4This course covers applications of the integral and various techniques of integration. Additional topics include polar coordinates, the convergence of sequences and series, and Taylor series.
MATH3240: Probability and Statistics I
Credits 3This course covers sample spaces and probability, discrete random variables, general random variables, and limit theorems.
MATH3245: Probability and Statistics for Science and Engineering
Credits 3MATH3250: Probability and Statistics II
Credits 3This course covers transforms, Bernoulli & Poisson processes, and Bayesian Statistical Inference.
Continues into probability with classical statistical inference, Markov chains, and derived distributions.
MATH3280: Modeling and Operations Research
Credits 3This course covers linear programming, network analysis, queuing theory, and simulation techniques.
MATH3310: Methods of Proof
Credits 3MATH3320: Linear Algebra
Credits 3This course covers systems of linear equations, matrix operations, and linear transformations. Topics also include determinants, change of basis, and eigenvalues and eigenvectors.
MATH3410: Planar Geometry
Credits 3This course focuses on Euclidean planes, covering axioms and theorems, and the structure of mathematical proofs. Non-Euclidean geometries will also be introduced.
MATH3530: Vector Calculus
Credits 4This course covers multivariable limits, the Jacobian derivative, and changing the order of integration. Topics also include change of variables, parametric curves, and scalar/vector integrals for curves, surfaces, and solids. The course concludes with Gauss’, Green’s, & Stoke’s Theorem.
MATH3540: Differential Equations
Credits 4This course focuses on solving linear differential equations, series methods, and exact equations using integrating factors. Topics also include Picard's method of successive approximations and the Laplace transform.
MATH3560: Numerical Analysis
Credits 3This course covers floating-point representation and errors, locating roots of equations, polynomial interpolation, and numerical differentiation and integration. Additional topics include differential equations, splines, least squares, and Monte Carlo methods and simulation.
MATH3570: Teaching Mathematics in the Secondary School
Credits 2MATH4100: History of Mathematics/Capstone
Credits 1MATH4320: Abstract Algebra I
Credits 4This course focuses on number theory, including integers, rings, and fields.
MATH4330: Abstract Algebra II
Credits 2This course continues into abstract algebra including content on ideals groups, and Euclidean geometry.
MATH4510: Real Analysis I
Credits 4This course covers cardinality, sequences, series, and topology.
MATH4520: Real Analysis II
Credits 2This course focuses on proofs of calculus including continuity, differentiation, integration, sequences and series of functions.