
Small classes sizes and personal attention is one of the hallmarks of an NAU education.

Have the opportunity to work directly with faculty on advanced projects and independent studies to explore your own cutting edge interests.

CS 110 Introduction to Computer Science (3)
Introduction to algorithmic thinking and object-oriented programming for students with little or no prior computer programming experience. Emphasis on graphical programming, object-oriented problem solving, and basic Java concepts.
Corequisite: MAT 125, MAT125H or higher. Fall, Spring.
Contact: Mr. Pralle
Sample Syllabus
Informational Flyer (PDF)
CS 112 Introduction to the World Wide Web and Internet (3)
Provides a broad introduction to World Wide Web and Internet-related software, including email, HTML, telnet, and FTP. Includes discovery of ethical and privacy issues in e-commerce. 2 hrs. lecture, 2 hrs. lab.
Prerequisite: MAT 110. Fall, Spring.
Contact: Dr. Wang
Sample Syllabus
Informational Flyer (PDF)
CS 122 Programming for Engineering and Science (3)
Introduces computer programming for engineers, scientists, and math majors. Emphasis on problem solving, algorithms, and structured programming.
Corequisite: MAT 110. Fee required. Fall, Spring.
Contact: Mr. Pralle
Sample Syllabus
Core Topics
Informational Flyer (PDF)
CS 122H PROGRAMMING FOR ENGINEERING AND SCIENCE - HONORS (3)
Introduces computer programming for engineers, scientists, and math majors. Emphasizes problem solving, algorithms, and structured programming. Letter grade only. Course fee required. Prerequisite: (MAT 108 with a grade greater than or equal to C or Math Placement Test Results (ACT 17+; Accuplacer 40+; PLACE 43+; SATI 420+)) and Honors Student Group SAS
CS 122L PROGRAMMING FOR ENGINEERING AND SCIENCE LAB (1)
Provides guided practical experience with applied engineering and science-oriented programming problems. Letter grade only. Corequisite: CS 122
CS 123 PROGRAMMING IN FORTRAN (3)
Introduces computer programming in Fortran. Emphasizes problem solving through structured programming techniques and software design. Letter grade only. Course fee required. Prerequisite: MAT 108 with a grade greater than or equal to C or Math Placement Test Results (ACT 17+; Accuplacer 40+; PLACE 43+; SATI 420+)
CS 126 Computer Science I (3)
Introduces foundational principles of computer science including object-oriented fundamentals.
Prerequisite: MAT 125 (or satisfactory placement). Fee required. Fall, Spring.
Contact: Dr. Palmer
Core Topics
CS 126L COMPUTER SCIENCE I LAB (1)
Guided practical experience with applied programming problems, development environments, and development techniques and methodologies. Must be taken in conjunction with CS 126 lecture. Letter grade only. Corequisite: CS 126
CS 136 Computer Science II (3)
Intermediate computer science, emphasizing algorithm design, object-oriented programming, and data structures.
Prerequisite: CS 126. Fee required. Fall, Spring.
Contact: Dr. Georgas
Sample Syllabus
Core Topics
CS 136L COMPUTER SCIENCE II LAB (1)
Guided practical experience with applied programming problems, development environments, and development techniques and methodologies. Must be taken in conjunction with CS 136 lecture. Letter grade only. Corequisite: CS 136
CS 199 SPECIAL TOPICS (1-3)
Foundations of intellectual inquiry. In-depth study of a substantive problem. Letter grade only. May be repeated for a maximum of 6 units.
CS 200 Computer Organization (3)
Binary representation of information in digital computers. An introduction to digital logic design, computer architectures, microprocessor architectures and assembly language programming.
Prerequisite: CS 122 or CS 126. Fee required. Spring.
Contact: Mr. Pralle
Sample Syllabus
CS 248 FOUNDATIONS OF COMPUTER SCIENCE (3)
Design, analysis, and implementation of techniques of abstract data type; Finite and infinite models leading to an understanding of computability; Study of linguistic principles and mechanisms associated with diverse programming paradigms. Letter grade only. Prerequisite: CS 136 with grade greater than or equal to C
CS 212 Web Programming (3)
Introduces web programming. Emphasizes creating reactive, highly usable web sites. Introduces HTML forms, perl scripting, java applets, servletts, and JSP.
Prerequisite: CS 122 or CS 122H SAS. Fee required. Spring.
Contact: Dr. Palmer
CS 249 Data Structures (3)
Design, analysis, and implementation techniques of abstract data types such as sets, lists, trees, heaps, and graphs.
Prerequisite: CS 136. Fee required. Fall, Spring.
Contact: Dr. Li
Core Topics
Sample Syllabus
CS 299 SPECIAL TOPICS (1-3)
In-depth study of an aspect, concept, or problem. Letter grade only. May be repeated for a maximum of 6 units.
CS 301 Ethics In Computer Science (1)
Exploration of issues that deal with the ethical implications of widespread use of computer technology.
Prerequisite: CS 249. Fall.
Contact: Dr. Otte
CS 315 Automata Theory (3)
Finite and infinite models leading to an understanding of computability.
Prerequisite: MAT 226. Fall.
Contact: Dr. Doerry
Core Topics
Sample Syllabus
CS 345 Principles of Database Systems (3)
Basic concepts in database systems, including data manipulation language and data definition language. The relational model and its implementation will be covered in depth together with an overview of SQL.
Prerequisite: CS 249 with a grade of C or better. Offered every two years.
Contact: Dr. Li
Sample Syllabus
CS 386 Engineering Design: Software Architectures (3)
Structuring the software architecture of complex computer programs. Individualized writing, oral presentation tasks, and ethical issues.
Prerequisites: CS 249. Fee required. Spring.
Contact: Dr. Otte
Core Topics
CS 389 COOPERATIVE EDUCATION (1-12)
Individualized preplanned cooperative employment experience related to your field of study or career objectives. Fee required. Pass-fail only. May be repeated for a maximum of 12 units.
CS 396 Principles of Languages (3)
Intensive study of the underlying linguistic principles, constructs, and mechanisms associated with diverse programming paradigms.
Prerequisite: CS 249. Fee required. Spring.
Contact: Dr. Doerry
Sample Syllabus
Core Topics
CS 399 SPECIAL TOPICS (1-3)
In-depth study of an aspect, concept, or problem within a program of study. Letter grade only. May be repeated for a maximum of 6 units.
CS 408 FIELDWORK EXPERIENCE (1-12)
Individualized supervised field experience in an appropriate agency or organization. Fee required. Pass-fail only. May be repeated for a maximum of 12 units.
CS 413 Virtual Worlds (3)
Explores the data modeling, visualization, and simulation of abstract environments. Topics include data organization, freeform and tile-based 2D and 3D graphics techniques, collision physics, AI, and networked game infrastructures.
Prerequisite: CS 249. Fee required. Offered every two years.
Contact: Mr. Pralle
Sample Syllabus
CS 421 Algorithms (3)
Order notation; design techniques such as divide and conquer, greedy, and dynamic programming; advanced data structures; and time- and space-complexity analysis. Introduces NP completeness.
Prerequisite: CS 396. Fee required. Spring.
Contact: Dr. Palmer
CS 430 Computer Graphics (3)
Explores algorithms and geometric models for two and three dimensional objects and surfaces including geometric transformations, subdivision surfaces, implicit surfaces, fractals, particle systems, ray tracing and real time rendering techniques.
Prerequisite: CS 249. Fee required. Offered every two years.
Contact: Dr. Palmer
CS 445 Data Mining (3)
This course will provide an introduction to the main topics in data mining and knowledge discovery, including: data preparation, association rule mining, classification, and clustering.
Prerequisite: CS 249 with a grade of C or better. Offered every two years.
Contact: Dr. Li
Sample Syllabus
CS 450/550 INTRODUCTION TO PARALLEL COMPUTING (3)
Flynn's classification, performance measures, paradigms of parallel computing, fundamental techniques to devise-parallel algorithms and programming, and survey of commercial parallel machines. Letter grade only. Course fee required. Prerequisite: CS 249 with a grade greater than or equal to C
CS 460/560 Computer Networks (3)
Concepts and implementation of computer networks: applications, architecture, protocol layers and protocols.
Prerequisite: CS 249. Fall, Spring.
Contact: Dr. Wang
CS 465/565 Distributed Systems (3)
Concepts and implementation of distributed systems: distribution of application logic and resources/resource access, notion of time, coordination and consistency, middleware, case studies. Prerequisite: CS 460/560.
Contact: Dr. Otte
Sample Syllabus
CS 470 Introduction to Intelligent Systems (3)
Introduces fundamental principles of fuzzy systems, artificial neural networks, and genetic algorithms.
Prerequisite: CS 249. Fee required. Offered every two years.
Contact: Dr. Palmer
CS 476C APPLIED CAPSTONE DESIGN (4)
Implementation of applied software project culminating in an oral presentation, product demonstration, and formal report. Topics include project management, software architecture and design, software implementation, testing, and documentation. Must be taken in the year you graduate. 2 hrs. lecture, 6 hrs. lab. Letter grade only. Prerequisite: CS 386 CAP
CS 477/577 Advanced User Interfaces (3)
Explores design and construction of modern graphical user interfaces, including event models, client-server interaction, and interface design and usability evaluation. Coconvenes with CS 477.
Prerequisite: CS 249. Fall, alternate years.
Contact: Dr. Doerry
Sample Syllabus
CS 480 Operating Systems (3)
Theory behind operating systems; scheduling, memory management, I/O, and concurrency. Prerequisite: CS 249
Prerequisite: CS 249. Offered every two years.
Contact: Dr. Wang
Sample Syllabus
CS 481 Compilers (3)
Theory and techniques of constructing compilers for programming languages.
Prerequisites: CS 315 and 396. Fee required.
Contact: Mr. Pralle
Sample Syllabus
CS 485 Undergraduate Research (1-6)
Original research under the supervision of a research adviser. May not exceed 6 hours of credit. Letter grade or pass-fail. Fee required.
CS 486C Capstone Experience (4)
Implementation of sponsor-accepted proposal culminating in an oral presentation, product demonstration, and formal report. Topics include project management, software architecture and design, software implementation, testing, and documentation. Must be taken in the year in which you graduate. 2 hrs. lecture, 6 hrs. lab.
Prerequisites: CS 15, 386, 396. Fee required. Spring.
Contact: Dr. Doerry
Sample Syllabus
Core Topics
CS 497 Independent Study (1-6)
Individualized approach to selected topics by guided reading and critical evaluation. May not exceed 6 hours of credit. Letter grade or pass-fail.Fee required.
CS 499 CONTEMPORARY DEVELOPMENTS (1-3)
Examines recent trends and investigations in a selected area of a particular major field of study. Letter grade only. No repeat limit.
CS 555 REACTIVE SYSTEMS (3)
Building complex simulations with active subject tasks in Ada or other languages with multi-tasking. Letter grade only. Prerequisite: CS 249. Prerequisite: Admission to Egr-Civil Egr (MEng) or Egr-CompSci & Egr (MEng) or Egr-ElectEgr (MEng) or Egr-EnvEgr (MEng) or Egr-IndProgStdy (MEng) or Egr-MechEgr (MEng) or Egr (MEng) or Master of Engineering TriU or Engineering (MS) or Non-Degree Graduate.
CS 599 CONTEMPORARY DEVELOPMENTS (1-3)
Examines recent trends and investigations in a selected area of a particular field of study. May be offered no more than three times before being submitted for a permanent course number. May be repeated for credit. Letter grade only.
CS 685 GRADUATE RESEARCH (1-6)
Individualized directed research on selected topics. Pass-fail or letter grade, depending on department policy.
CS 690 MASTER'S PROJECT (1-6)
Focuses on a real-world problem or theoretical issue with immediate relevance to current computer science or computer engineering practice. Pass-fail only. May be repeated for up to 6 hours of credit.
CS 697 INDEPENDENT STUDY (1-3)
Pass-fail or letter grade, depending on departmental policy. Department Consent.
CS 699 THESIS (1-9)
Individualized directed research, writing, and oral defense of selected thesis topic. May be repeated as needed. Department consent. Prerequisite: Admission to master's program.

Enjoy the modern classrooms in our brand new Engineering Building!


Student have 24-7 accesss to quiet workspace in our "Internet Cafe" area.