Course Catalogs

Computer & Info Science (CIS)

CIS 100  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 151  Fundamentals of Computing and Programming  (3 Credits)  
Engineering & Comp Sci  
Principles and practice of programming. Computing fundamentals: variables, types, scope, objects, classes, functions, parameter passing, input/output, conditionals, and iteration. Defensive programming techniques, including exceptions. Program testing and debugging. Includes programming laboratory.
CIS 180  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 SU academic department to assign the appropriate course level, title, and grade for the student's transcript.
Repeatable  
CIS 182  Intro to Comput Prog:Apl  (1-2 Credits)  
Engineering & Comp Sci  
CIS 183  Intr to Comp Prog:Fortran  (1 Credit)  
Engineering & Comp Sci  
CIS 187  Intro to Comp Prog:Pascal  (1 Credit)  
Engineering & Comp Sci  
CIS 200  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 205  Survey of Comp & Info Sci  (0-3 Credits)  
Engineering & Comp Sci  
CIS 223  Statistical Reasoning and Practice  (3 Credits)  
Engineering & Comp Sci  
Methods for exploratory data analysis. Graphical and numerical summaries of numerical and categorical data. Drawing conclusions from data. Basic probability, correlation, estimation and testing. Concepts of study design.
Prereq: MAT 194  
CIS 252  Elements of Computer Science  (4 Credits)  
Engineering & Comp Sci  
Introduction to key computer-science concepts through functional programming. Recursion, data representation, data abstraction, and computational patterns. Algebraic data types and higher-order functions. Models of computation. Three hours of lecture and one hour of computer laboratory.
Prereq: CIS 151 or CPS 196  
CIS 270  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 280  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 285  Computer Applications  (0 Credits)  
Engineering & Comp Sci  
CIS 290  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 300  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 321  Introduction to Probability and Statistics  (4 Credits)  
Engineering & Comp Sci  
Double-numbered with CPS 621  
Programming-oriented introduction to fundamentals in statistics and probability; elementary statistics, graphical and numerical representation; probability distributions; tests and confidence intervals; regression, and correlation. CPS 621 adds Journalism applications of statistical methods.
Prereq: MAT 295  
CIS 341  Computer Organization & Programming Systems  (3 Credits)  
Engineering & Comp Sci  
Digital logic, data types and their representations, instruction set architecture, assembly language, program construction, processors, memory hierarchy, traps and interrupts, privilege and security, input-output subsystems.
Prereq: CIS 351  
CIS 342  Introduction to Systems Programming  (1 Credit)  
Engineering & Comp Sci  
Input and output, including error handling, file descriptors and interface to OS. Pointers and pointer arithmetic. Structures. Memory functions and storage allocation. Makefiles, header files, libraries, compilation, and linking.
Prereq: CIS 351; Coreq: CIS 341  
CIS 351  Data Structures  (3 Credits)  
Engineering & Comp Sci  
Abstract data structures including arrays, lists, trees, binary search trees, priority queues, graphs. Algorithm analysis. Examples include data structures used for security-related applications.
Prereq: CIS 252 or CSE 283  
CIS 352  Programming Language: Theory & Practice  (3 Credits)  
Engineering & Comp Sci  
Environments, stores, scoping, functional and imperative languages, modules, classes, data encapsulation, types, and polymorphism. Implementation of these constructs in a definitional interpreter.
Prereq: CIS 252, 375, and 351  
CIS 355  Intrm Prog/High Levl Lang  (0 Credits)  
Engineering & Comp Sci  
CIS 370  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 375  Introduction to Discrete Mathematics  (3 Credits)  
Engineering & Comp Sci  
Basic set theory and symbolic logic. Methods of proof, including mathematical induction. Relations, partitions, partial orders, functions, and graphs. Credit cannot be given for both MAT 375 and CIS 375.
Prereq: PHI 251  
Shared Competencies: Critical and Creative Thinking  
CIS 380  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 381  Programming Systems  (3 Credits)  
Engineering & Comp Sci  
CIS 383  Cmp Appl & Prog/Soc Rsrch  (3 Credits)  
Engineering & Comp Sci  
CIS 386  Principles of Computer System Design  (3 Credits)  
Engineering & Comp Sci  
Fundamental design principles for computer and information systems. Concurrency, race conditions, complexity, modularity, abstraction, layering, hierarchy, iteration, emergent properties, organization, virtualization, performance, atomicity, fault tolerance, consistency, and security.
Prereq: ECS 102 and CIS 351  
CIS 390  Honors Seminar in Computer & Information Science  (3 Credits)  
Engineering & Comp Sci  
Specific topics in computer and information science suitable for honors-thesis research.
Repeatable  
CIS 400  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 415  Intro Comp Linguistics  (0 Credits)  
Engineering & Comp Sci  
CIS 425  Introduction to 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.
Prereq: CIS 351 or CSE 382  
CIS 428  Introduction to Cryptography  (3 Credits)  
Engineering & Comp Sci  
Classical cryptosystems and their cryptanalysis, RSA and other public-key cryptosystems, pseudo-random sequences, zero-knowledge protocols, related ethical and social concerns.
Prereq: CIS 477 or MAT 534 or 541  
CIS 437  Multiagent Systems: Concepts and Programming  (3 Credits)  
Engineering & Comp Sci  
Double-numbered with CIS 637  
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.
Prereq: CIS 375 and CIS 351  
CIS 440  Topics in Mobile Programming  (3 Credits)  
Engineering & Comp Sci  
Double-numbered with CIS 640, CSE 640  
A variety of subjects surveyed or a particular subject in depth. Additional coursework required of graduate students.
Repeatable 3 times for 9 credits maximum  
Prereq: CIS 351  
CIS 442  Introduction to Virtual Reality  (3 Credits)  
Engineering & Comp Sci  
Fundamental aspects of virtual environments: applications, methods, and technologies. Development of 3D applications such as games, animations, and immersive virtual worlds. Aspects of 3D graphics (3D transformations and physics) and interactive systems (human perception and motion tracking).
Advisory recommendation Prereq: CIS 351 or CSE 283  
CIS 444  Mobile Application Programming  (3 Credits)  
Engineering & Comp Sci  
Cross-listed with CSE 444  
Double-numbered with CIS 651, 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.
Prereq: CIS 351 or CSE 382  
CIS 445  Finite Mathematics  (3 Credits)  
Engineering & Comp Sci  
CIS 451  Modern Programming in Java  (3 Credits)  
Engineering & Comp Sci  
Programming in Java with generic classes. Defining generic classes. Specifying types and inheritance. Verifying correctness of Java methods and classes. Managing concurrency, remote method invocation, and performance considerations.
CIS 453  Software Specification and Design  (3 Credits)  
Engineering & Comp Sci  
Software engineering process models. Software requirements analysis, including object-oriented methodology. Behavioral and nonbehavioral requirements. Development of specification documents. Unified Modeling Language. High-level design and software architecture. Team projects.
Prereq: CIS 351 or CSE 382  
CIS 454  Software Implementation  (3 Credits)  
Engineering & Comp Sci  
Detailed design of software. Implementation and software testing. Developing software implementations from UML specifications and design documents. Software development methodologies, including agile development. Ethics and social responsibility. Team projects.
Prereq: CIS 453  
CIS 458  Data Networks: Basic Principles  (3 Credits)  
Engineering & Comp Sci  
Cross-listed with ELE 458, CSE 458  
Data communication networks, multilayer network architecture, data transmission fundamentals, network protocols, local and wide area networks, transport and application protocols.
Prereq: CIS 321 or MAT 521  
CIS 467  Introduction to Artificial Intelligence  (3 Credits)  
Engineering & Comp Sci  
Double-numbered with CIS 667, CSE 684  
Knowledge representation, production systems, search algorithms, game playing, uncertainty handling, learning, automated reasoning, computer vision, and natural language processing. Programming project or term paper required for CIS 667, not for CIS 467.
Prereq: CIS 375 and 321 and (CIS 351 or CSE 382)  
Shared Competencies: Critical and Creative Thinking  
CIS 468  Natural Language Processing  (3 Credits)  
Engineering & Comp Sci  
Double-numbered with CIS 668  
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 470  Experience Credit  (1-6 Credits)  
Engineering & Comp Sci  
Participation in a discipline- or subject-related experience. Students must be evaluated by written or oral reports or an examination. Limited to those in good academic standing.
Repeatable  
CIS 471  Optimization Methods  (3 Credits)  
Engineering & Comp Sci  
Classical methods of minimum and maximum, gradient methods, conjugate direction methods, linear programming and simplex algorithm, integer programming, non-linear optimization, random search algorithms.
CIS 473  Automata and Computability  (3 Credits)  
Engineering & Comp Sci  
Countable and uncountable sets; diagonalization proofs; finite state automata; regular, context-free, context-sensitive, recursive, and r. e. languages; Turing machines; relationships between classes of languages and machines; the halting problem; proof methods for decidability and undecidabilty.
Prereq: CIS 375 or MAT 375  
CIS 477  Introduction to Analysis of Algorithms  (3 Credits)  
Engineering & Comp Sci  
Mathematical modeling of computational problems; searching and sorting algorithms; search trees, heaps, and hash tables; divide-and-conquer, dynamic programming, and greedy choice design techniques; graph algorithms; cryptographic algorithms; NP-completeness; and selected topics.
Prereq: CIS 375 and 351  
CIS 478  Introduction to Quantum Computing  (3 Credits)  
Engineering & Comp Sci  
Purpose of QC; simple Markov processes; quantum registers; quantum state transitions; classical vs quantum models of computation; measurement and superposition; no-cloning theorem; quantum teleportation; quantum logic.
Prereq: CIS 375 and (MAT 397 or 331)  
CIS 480  International Course  (1-6 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 1 times for 6 credits maximum  
CIS 487  Access Control, Security and Trust  (3 Credits)  
Engineering & Comp Sci  
Cross-listed with CSE 487  
Analytical/logical basis for trusting systems. Access requests, authorizations, certificates, credentials, jurisdiction, and delegation. Applications include distributed access control, process isolation and sharing, and access policies.
Prereq: CIS 375  
CIS 489  Mobile Systems Security  (3 Credits)  
Engineering & Comp Sci  
Double-numbered with CIS 689  
Components in Mobile OS; basic mobile app development; sandbox mechanism; permission enforcement; vulnerabilities; malware attacks. Additional work required of graduate students.
Prereq: CIS 486 or CSE 486  
CIS 490  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 499  Honors Capstone Project  (1-3 Credits)  
Engineering & Comp Sci  
Completion of an Honors Capstone Project under the supervision of a faculty member.
Repeatable 3 times for 3 credits maximum  
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.
Prereq: CIS 375 or MAT 375  
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.
Prereq: CIS 351 or CSE 382  
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  
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