Computer & Info Science (CIS)
CIS 500 Selected Topics (1-6 Credits)
Engineering & Comp Sci
Exploration of a topic (to be determined) not covered by the standard curriculum but of interest to faculty and students in a particular semester.
Repeatable
CIS 531 Compiler Construction (3 Credits)
Engineering & Comp Sci
Programming a small compiler. Lexical analysis, tokens, finite automata, hashing. Syntax analysis, grammars, syntax trees, error recovery. Scope and type analysis, symbol tables. Run-time stack, variable addressing, expression evaluation, procedure activation, recursion. Code generation, 0ptimization, portability.
Prereq: CIS 351
CIS 535 Assembly Language (3 Credits)
Engineering & Comp Sci
CIS 536 Comp Prog Tech (3 Credits)
Engineering & Comp Sci
CIS 543 Control of Robots (3 Credits)
Engineering & Comp Sci
Cross-listed with ELE 516
Kinematics, dynamics, and control of mobile and/or manipulator robots. Path planning, actuators, sensors, human/machine interface. Two hours lecture and two hours laboratory weekly. Design project.
CIS 545 Introduction to Combinatorics (3 Credits)
Engineering & Comp Sci
Cross-listed with MAT 545
Permutations, combinations, recurrence relations, generating functions, inclusion-exclusion and applications, introductory graph theory.
Shared Competencies: Scientific Inquiry and Research Skills
CIS 553 Software Systems Implementation (3 Credits)
Engineering & Comp Sci
Organization, analysis, and documentation of a sophisticated implementation project in a prominent high-level language, such as ADA, C, or Modular-2. Substantial programming assignments and analytical documentation. Language and project may vary from year to year.
Prereq: CIS 453
CIS 554 Object Oriented Programming in C++ (3 Credits)
Engineering & Comp Sci
Pointers, dynamic memory management, data abstraction, classes, derived classes, inheritance, types, structures and templates. Threaded programming, standard template library, interfaces. Substantial programming assignments.
Shared Competencies: Information Literacy and Technological Agility
CIS 563 Introduction to Data Science (3 Credits)
Engineering & Comp Sci
Fundamentals of the knowledge discovery and data mining process. Basics of supervised and unsupervised learning. Applications (recommendation and collaborative filtering) and computational tools for carrying out predictive/descriptive modeling. Additional work required for graduate students.
Prereq: MAT 503
Shared Competencies: Critical and Creative Thinking; Information Literacy and Technological Agility
CIS 565 Introduction to Artificial Neural Networks (3 Credits)
Engineering & Comp Sci
Perceptrons and the Perceptron Convergence Theorem; non-linear optimization, gradient descent methods; neural net architecture, conjugate-gradient and recurrent networks; Hopfield networks, Kohonen's feature maps; non-neural clustering algorithms.
CIS 567 Knowledge Representation and Reasoning (3 Credits)
Engineering & Comp Sci
Applications of mathematical methods to knowledge bases. Methods include nonclassical, fuzzy logic and statistical inference. Application topics include planning, temporal and physical reasoning, attitudes, the frame problem, preference, constraints, qualitative differential equations, situation theory.
CIS 570 Experience Credit (1-6 Credits)
Engineering & Comp Sci
Participation in a discipline or subject related experience. Student must be evaluated by written or oral reports or an examination. Permission in advance with the consent of the department chairperson, instructor, and dean. Limited to those in good academic standing.
Repeatable
CIS 573 Computability Theory (3 Credits)
Engineering & Comp Sci
CIS 580 International Course (1-12 Credits)
Engineering & Comp Sci
Offered through SUAbroad by educational institution outside the United States. Student registers for the course at the foreign institution and is graded according to that institution's practice. SUAbroad works with the S.U. academic department to assign the appropriate course level, title, and grade for the student's transcript.
Repeatable
CIS 581 Concurrent Programming (3 Credits)
Engineering & Comp Sci
Processes, events, alphabets, and trace sets. Process equivalence. Divergence, dead-lock, fairness, and termination. Message channels, buffers, pipelines, trees, rings, grids, recursive nets. Mutual exclusion, semaphores, conditional critical regions, monitors, remote procedures. Programming exercises in Joyce.
CIS 590 Independent Study (1-6 Credits)
Engineering & Comp Sci
Exploration of a problem, or problems, in depth. Individual independent study upon a plan submitted by the student. Admission by consent of supervising instructor(s) and the department.
Repeatable
CIS 600 Selected Topics (1-6 Credits)
Engineering & Comp Sci
Exploration of a topic (to be determined) not covered by the standard curriculum but of interest to faculty and students in a particular semester.
Repeatable
CIS 607 Mathematical Basis for Computing (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 607
Mathematical logic including predicate calculus, induction, theories with equality relations and groups. Mathematical logic applied to structures like nonnegative integers, tuples, lists, and trees.
CIS 612 Cloud Computing (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 612
Virtualized data centers, including virtual machine management, power management, and networking; cloud computing applications; and mobile cloud computing.
CIS 623 Assured Programming with Formal Methods (3 Credits)
Engineering & Comp Sci
Reasoning about programs and secure systems. Specification-based, test-driven program development and verification. Development of programs using software tools for secure software systems.
CIS 624 Fundmntls (3 Credits)
Engineering & Comp Sci
CIS 625 Computer Graphics (3 Credits)
Engineering & Comp Sci
Graphics programming. User interfaces. Modeling and viewing transformations. Shading techniques. Representations of three-dimensional models. Curves and non-planar surfaces. Ray tracing and radiosity. Antialiasing. Programming project required.
CIS 626 Theoretical Foundations of Computer Science (3 Credits)
Engineering & Comp Sci
Computability and decidability, first-order logic, lambda calculus systems, program verification, semantics of programming languages, theory of language.
Advisory recommendation Prereq: CIS 607
CIS 628 Introduction to Cryptography (3 Credits)
Engineering & Comp Sci
Classical and public-key cryptography. Topics include classical cryptosystems and their cryptanalysis, RSA and other public key cryptosystems, pseudo-random sequences, zero-knowledge protocols, related ethical and social concerns.
CIS 629 Blockchain: Foundation and Applications (3 Credits)
Engineering & Comp Sci
Cross-listed with FIN 629
Bitcoin principles, Blockchain foundation, peer-to-peer networks, distributed ledgers and blockchain programming. Programming-oriented topics include transactions, smart contracts, token applications, and efficiency. Domain applications include financial intermediaries, supply-chains and other emerging areas. Basic programming/scripting skills (e.g., python or javascript) are required.
CIS 631 Compiler Design (3 Credits)
Engineering & Comp Sci
Development of the logical design of a compiler: lexical analyzer, parser, symbol table, error routines, code generator, and code optimizer. Analysis of formal algorithms for each component, description of overall compiler-construction techniques.
CIS 632 Modeling Concurrent Systems (3 Credits)
Engineering & Comp Sci
Formal methods for specifying, modeling, and analyzing concurrent systems, and mathematical basis for such methods. Automated and semi-automated tools to apply these methods to analyze emergent behavior of computing related applications.
CIS 634 Assurance Foundations (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 634
Foundational theory, concepts, and computer-assisted reasoning tools necessary for assurance. Topics include functional programming, theorem proving, and logic for reasoning about access control, security, and trust.
CIS 635 Adv Comp Programming (3 Credits)
Engineering & Comp Sci
CIS 637 Multiagent Systems: Concepts and Programming (3 Credits)
Engineering & Comp Sci
Double-numbered with CIS 437
Algorithms for multiagent systems. Environment types for agent systems. Communications, game theoretical models, automatic auctions, utility and decision theory for multiagent systems, relationships between distributed systems and multiagent systems, Belief-Desire-Intention architecture, logic-based agent models, and agent simulations. Additional work required for graduate students.
Shared Competencies: Information Literacy and Technological Agility
CIS 640 Topics in Mobile Programming (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 640
Double-numbered with CIS 440
A variety of subjects surveyed or a particular subject in depth. Additional coursework required of graduate students.
Repeatable 3 times for 9 credits maximum
CIS 645 Graph Theory (3 Credits)
Engineering & Comp Sci
Cross-listed with MAT 645
Fundamentals of graph theory and special topics including networks, matching, connectivity, planarity, and automorphism groups.
Advisory recommendation Prereq: MAT 531
CIS 646 Enumeration, Designs, and Matroids (3 Credits)
Engineering & Comp Sci
Cross-listed with MAT 646
Generating functions, Polya enumeration, set systems, design parameters, finite projective planes, matroids.
Advisory recommendation Prereq: MAT 531
CIS 651 Mobile Application Programming (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 651
Development of applications for different mobile devices. Creating effective user interfaces, efficient use of persistent storage, network services, GPS, maps and sensors. Additional work required of graduate students.
CIS 652 Building Assured Components (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 652
Development of system components with provable functional properties. Students gain hands-on experience walking the virtuous cycle of executable specifications, formal verification, and translation of specifications into a mainstream language.
Advisory recommendation Prereq: CIS 634
CIS 655 Computer Architecture (3 Credits)
Engineering & Comp Sci
Computer-architecture characteristics and their effect on the design and performance of programs. Price-performance tradeoffs, instruction set design, memory hierarchies, pipelining, storage systems, selected topics in parallel architectures. Architecture of specified computers.
Advisory recommendation Prereq: CIS 341
CIS 656 Concepts in Concurrent Programming (3 Credits)
Engineering & Comp Sci
Introduction to concurrent programming. Programming-language features for expressing concurrent execution (processes), process communication, and process synchronization; methods of proving properties of concurrent programs, techniques for implementing concurrent systems.
Advisory recommendation Prereq: CIS 623
CIS 657 Principles of Operating Systems (3 Credits)
Engineering & Comp Sci
Design and implementation of operating systems. Process and memory management, resource scheduling, synchronization, file system management, I/O and kernel services and structuring.
Advisory recommendation Prereq: CIS/CSE 486
CIS 661 Logic Programming 1 (3 Credits)
Engineering & Comp Sci
Formal logic as a programming language. Use of theorem prover as interpreter for programming languages, particularly Horn clause systems. Representation of problem transformations of programs. Applications, including natural-language processing, database representation, and query and expert systems; extensions of Horn clause formalisms.
CIS 662 Introduction to Machine Learning & its Algorithms (3 Credits)
Engineering & Comp Sci
Linear regression, logistic regression, classification, clustering, and tree-based machine learning; feature extraction and selection; bias-variance trade-off; probabilistic and statistical analyses of learning models and algorithms. Programming assignments.
CIS 663 Biometrics (3 Credits)
Engineering & Comp Sci
Foundational principles, concepts, and the formulation of algorithms used in biometrics. Analysis of fingerprint, face, gait, keystrokes, etc. Pattern recognition approach to design and analysis of biometric systems. Security of biometric systems.
CIS 665 Computer Vision (3 Credits)
Engineering & Comp Sci
Image formation, edge detection, filtering, stereo vision, surface orientation. Optical flow, boundary detection, region growing, texture, motion analysis, representation of two- and three-dimensional objects. Knowledge representation issues for computer vision.
CIS 666 Expert Systems (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 683
Production rules, forward/backward chaining, Rete algorithm, structured objects, introduction to an expert system language/shell, probabilistic inference networks, fuzzy logic, knowledge acquisition, and explanation generation. Programming project or term paper required.
CIS 667 Introduction to Artificial Intelligence (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 684
Double-numbered with CIS 467
Shared Competencies: Critical and Creative Thinking
CIS 668 Natural Language Processing (3 Credits)
Engineering & Comp Sci
Double-numbered with CIS 468
Linguistic and computational aspect of natural language processing technologies. Lectures, readings, and projects in the computational techniques required to perform all levels of linguistic processing of text. Additional work required of graduate students.
CIS 669 Data Science Capstone (3 Credits)
Engineering & Comp Sci
Capstone course for MS in Data Science students. Focus on solving real-world and industry-inspired problems and generating professional data products.
CIS 670 Experience Credit (1-6 Credits)
Engineering & Comp Sci
Participation in a discipline or subject related experience. Student must be evaluated by written or oral reports or an examination. Permission in advance with the consent of the department chairperson, instructor, and dean. Limited to those in good academic standing.
Repeatable
CIS 671 Introduction to the Theories of Computation and Complexity (3 Credits)
Engineering & Comp Sci
Graduate- level survey of regular languages, finite state machines, elementary theory of computation, classification of unsolvable problems, elementary computational complexity theory, NP-completeness, and related notions.
Advisory recommendation Prereq: CIS 607
CIS 672 Mathematical Logic I (3 Credits)
Engineering & Comp Sci
First order logics and interpretations. Godel-Henkin completeness theorem, Herbrand's Theorem, compactness theorem, and the Lowenheim-Skolem Theorem. Basic model theory with applications to the theory of fields. Categoricity in power.
CIS 675 Design and Analysis of Algorithms (3 Credits)
Engineering & Comp Sci
Asymptotic analysis and recurrences; classical numeric algorithms; advanced data structures; graph algorithms; divide-and-conquer, greedy choice, dynamic programming, and other computational strategies; NP-completeness.
CIS 678 Quantum Computing (3 Credits)
Engineering & Comp Sci
Purpose of QC; quantum registers; quantum state transitions; classical vs quantum models of computation; quantum cellular automata and Hilbert Space 12; no-cloning theorem; quantum teleportation; quantum logic.
CIS 681 Software Modeling and Analysis (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 681
Project-based course covering software modeling, architecture, design, and implementation using diagramming, analysis tools, and common sense engineering methods to analyze performance of concurrent, message-driven systems.
CIS 685 Simulation & Modelling (3 Credits)
Engineering & Comp Sci
Use of the digital computer for simulation systems. Modeling, construction of flowcharts, fixed-time increment and time-status register methods of simulating, simulation languages, generation of random numbers, experimental design, and analysis of simulated data.
CIS 686 Discrete Event Systems (3 Credits)
Engineering & Comp Sci
A spectrum of discrete event models used to describe and analyze discrete event systems will be covered including automata, Petri nets, Markov chains, and introductions to queuing models and discrete event simulation.
CIS 687 Object Oriented Design (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 687
Basic methods of object oriented software design and implementation. Object oriented software engineering methodologies: specification, hierarchical decomposition, reuse and extensibility. Implementation of projects in object oriented programming language and analysis of design case studies.
CIS 688 Internet Programming (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 686
A laboratory projects course. Programming models on web clients and servers. Topics include: browser and server object models, tagged languages, emphasizing HTML and XML, ASP programming, and database connectivity.
CIS 689 Mobile Systems Security (3 Credits)
Engineering & Comp Sci
Double-numbered with CIS 489
Components in Mobile OS; basic mobile app development; sandbox mechanism; permission enforcement; vulnerabilities; malware attacks. Additional work required of graduate students.
CIS 690 Independent Study (1-6 Credits)
Engineering & Comp Sci
In-depth exploration of a problem or problems. Individual independent study upon a plan submitted by the student. Admission by consent of supervising instructor or instructors and the department.
Repeatable
CIS 700 Selected Topics In CIS (1-6 Credits)
Engineering & Comp Sci
A variety of subjects surveyed or a particular subject in depth.
Repeatable 4 times for 12 credits maximum
CIS 712 Data Parallel Computing (3 Credits)
Engineering & Comp Sci
Languages and algorithms for massively parallel computation on SIMD architectures. Illustrations drawn from applications such as shortest path determination, connected components, N-body problems, graphics, differential equations, simulated annealing, calculation in finite fields. Substantial programming project.
Advisory recommendation Prereq: CIS 623
CIS 731 Artificial Neural Networks (3 Credits)
Engineering & Comp Sci
Perceptrons and feedforward networks. Backpropagation. Self-organizing feature maps and Boltzmann machines. Deep networks, convolutional networks, recurrent networks, adversarial networks, sparse networks. Attention mechanism, transformers, and generative models. Applications of neural networks.
Advisory recommendation Prereq: CIS 662
CIS 735 Machine Learning for Security (3 Credits)
Engineering & Comp Sci
Foundational principles of machine learning (ML) algorithms as applied to security. Feature extraction and selection; supervised and unsupervised learning classifiers; performance evaluation and vulnerability analysis of ML algorithms; and case studies of ML application to security.
Prereq: CIS 675
CIS 752 Wireless Network Security (3 Credits)
Engineering & Comp Sci
Wireless communication technologies, wireless LAN, mobile IP, mobile ad-hoc networks, wireless sensor networks, secure routing, secure locationing, key management, trust management, group communication, energy efficiency.
Advisory recommendation Coreq: CIS/CSE 758 or CIS/CSE 785
CIS 760 Topics Comp & Comp Logic (3 Credits)
Engineering & Comp Sci
Repeatable
CIS 767 Mathematical Theory of Computation (3 Credits)
Engineering & Comp Sci
The classical theory of effective computability, primarily concerned with the existence of computer methods. Topics: Turing machines, computable functions, recursion, unsolvable problems, degrees of unsolvability, applications.
Advisory recommendation Prereq: CIS 521
CIS 774 Principles of Distributed Access Control (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 774
Specification, verification, and design of secure networks using formal logic. Includes historical access control models, role-based access control, and logics for reasoning about authentication, authorization, audit, delegation, and trust.
CIS 775 Distributed Objects (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 775
Design and implement software components using the Component Object Model (COM). Students will develop programs with COM components, ActiveX controls, and distributed applications.
CIS 776 Design Patterns (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 776
A seminar course based on the book "Design Patterns." Object oriented design methods emphasizing conceptual understanding rather than software development projects.
CIS 778 Advanced Windows Programming (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 778
Seminar/projects course including: MFC library; windows architecture Graphics Device Interface; common, ActiveX, and Explorer controls; bitmaps; property sheets; toolbars; and status bars.
CIS 784 Software Engineering Studio (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 784
Applied software engineering and project management. Students are expected to analyze, plan, design, implement, test, and evaluate original software system to stand alone or be integrated into an existing environment. All work performed in teams.
CIS 787 Analytical Data Mining (3 Credits)
Engineering & Comp Sci
Cross-listed with CSE 787
Knowledge discovery process, data warehouses, OLAP, data mining inference based on statistics and machine learning, rule generation; emphasis on analytical aspects; applications.
CIS 790 Independent Study (1-6 Credits)
Engineering & Comp Sci
Exploration of a problem, or problems, in depth. Individual independent study upon a plan submitted by the student. Admission by consent of supervising instructor(s) and the department.
Repeatable
CIS 890 Independent Study (1-6 Credits)
Engineering & Comp Sci
Exploration of a problem, or problems, in depth. Individual independent study upon a plan submitted by the student. Admission by consent of supervising instructor(s) and the department.
Repeatable
CIS 970 Experience Credit (1-6 Credits)
Engineering & Comp Sci
Participation in a discipline or subject related experience. Student must be evaluated by written or oral reports or an examination. Permission in advance with the consent of the department chairperson, instructor, and dean. Limited to those in good academic standing.
Repeatable
CIS 990 Independent Study (1-6 Credits)
Engineering & Comp Sci
Exploration of a problem, or problems, in depth. Individual independent study upon a plan submitted by the student. Admission by consent of supervising instructor(s) and the department.
Repeatable
CIS 996 Master's Project (3 Credits)
Engineering & Comp Sci
Analysis and specification of a substantial programming exercise from a precise software definition. Top-down, modular design of algorithms and data structures. Complete and professional documentation of full implementation, including verification and performance analysis.
CIS 997 Masters Thesis (1-6 Credits)
Engineering & Comp Sci
Repeatable
CIS 999 Dissertation (1-15 Credits)
Engineering & Comp Sci
Repeatable