May 10, 2024  
2020-2021 Catalog 
    
2020-2021 Catalog [ARCHIVED CATALOG]

Course Descriptions


Course Numbering System

The first digit in each course designation is intended to indicate the level of the course. In addition, the first digit also roughly indexes the student’s year of study at the University.
Courses numbered 001 to 099 are non-baccalaureate developmental courses.
Courses numbered 100 to 299 are lower-division.
Courses numbered 300 to 499 are upper-division.
Courses numbered 500 to 599 are graduate level, and may be taken by advanced upper-division, post-baccalaureate, or graduate students for undergraduate or graduate credit.
Courses numbered 600 to 699 are graduate level. These courses may be taken by undergraduate students only on an individual basis, and only with prior, case-by-case approval of the program director of the program offering the course (or his/her designee).
Courses numbered 700 to 799 are doctoral level.
Courses numbered 1000 and above not listed in this catalog because these are professional-level courses carrying University credit, which do not typically apply to credentials or degrees offered by the University. These courses are recorded on student transcripts.
Students should consult relevant sections of this catalog, as well as college and program advising staff, in order to determine which courses are appropriate for their level of study, and which courses satisfy degree requirements for various programs of study.
 

Communication

(CTM) = Communication Theory and Methods
(CCSC) = Communication, Culture and Social Context
(MC) = Mass Communication

  
  • COMM 499C - Independent Study

    Units: 3
    May be used by students who desire to do special individualized projects with an instructor. Number of units to be decided between the student and the instructor. May be repeated for a total of six 6 units. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.


Computer Information Systems

  
  • CIS 300 - Computer Information Fluency

    Units: 3
    Knowledge work productivity concepts; advanced software functionality to support personal and group productivity; organization and management of data via spreadsheets and database tools; accessing organizational and external data; information search strategies; algorithmic and critical thinking; Web page design and programming; effective presentation and delivery. Enrollment Restrictions: For students matriculating prior to Fall 2018, enrollment is restricted to students who have completed the Entry-Level Mathematics (ELM) requirement. For students matriculating in Fall 2018 or later, enrollment is restricted to students in Mathematics/Quantitative Reasoning Placement Categories I and II, or who have completed MATH 101 or MATH 105 with a grade of C (2.0) or better.

  
  • CIS 341 - Computer System Analysis and Design

    Units: 3
    Covers the systems development life cycle, compares traditional methods of systems development to newer, emerging methods, process and data models for an information system, user interface for an information system, feasibility study and cost benefit analysis.

    Prerequisite(s): CS 211 .
  
  • CIS 444 - Web Programming

    Units: 3
    Methods, software architecture, and standards for Internet-scale software infrastructure (services and applications). Includes foundations of the Web; distributed systems; client server architectures from 2-tier to n-tier and through Web Applications Design; and distributed object-based systems and associated technologies.

    Prerequisite(s): CS 443 .
  
  • CIS 490 - Project Management and Practice

    Units: 3
    Advanced CIS majors operating as a high-performance team will engage in and complete the design and implementation of a significant information system. Project management, management of the CIS function, and systems integration will be components of the project experience.

    Prerequisite(s): CIS 444 .

Computer Science

  
  • CS 100 - Computer Basics

    Units: 1
    Serves as an introduction to the potential of microcomputers, social, historical perspectives, word processing, spreadsheets, communications, operating systems, editors, and networking. Grading Basis: Graded Credit/No Credit. Credit may not be counted toward the computer science major.

  
  • CS 105 - Media-Propelled Computational Thinking

    Units: 3
    A media-propelled introduction to computation. Programming languages such as Alice, Java, Python, or Jython are studied and programming techniques are used to examine first the basic functions that draw objects, including lines and curves, and later to explore familiar physical, biological, or other scientific processes. Mathematical competence necessary for academic success will be enhanced. May not be taken for credit by students who received credit for: CS 200 -2. Enrollment Restrictions: For students matriculating prior to Fall 2018, enrollment is restricted to students who have completed the Entry-Level Mathematics (ELM) requirement. For students matriculating in Fall 2018 or later, enrollment is restricted to students in Mathematics/Quantitative Reasoning Placement Categories I and II, or who have completed MATH 101 or MATH 105 with a grade of C (2.0) or better.

    Satisfies GE area: B4
  
  • CS 111 - Computer Science I

    Units: 4
    Emphasizes programming methodology and problem-solving. A high-level language such as C++ will be used for the specification and implementation of algorithms. Includes principles and applications of software engineering, numerical computing, artificial intelligence, databases and user interface. Students lacking basic computer literacy skills are encouraged to take CS 105  first prior to CS 111.

    Prerequisite(s)/Corequisite(s): MATH 160 .
    Satisfies GE area: B4
  
  • CS 200 - Selected Topics in Computing

    Units: 1-3
    Selected topics in computing and information technology. Credit may not be counted toward the Computer Science major. May be repeated for a total of twelve (12) units as topics change. Students should check the Class Schedule for listing of actual topics. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.

  
  • CS 211 - Computer Science II

    Units: 4
    A continuation of program design and development. Introduction to data structures: stacks, queues, linear lists, trees, and sets. Includes pointers recursion, and implementation and analysis of sorting and searching algorithms. Extensive programming is required. Includes introduction to parallel models and algorithms, problem state space, relational database, and numerical approximation methods. Three hours of lecture. Three hours of laboratory.

    Prerequisite(s): CS 111  and MATH 160 . 
  
  • CS 231 - Assembly Language and Digital Circuits

    Units: 4
    The structure of computers, number and character representation, word and instruction formats, and flowcharting. Machine and assembly language programming, address modification, indexing, indirect addressing, subroutines, and mnemonic interpreting systems. Includes digital logic, analysis and synthesis of circuits, and circuits of commonly used computer components. Three hours of lecture

    Prerequisite(s): CS 111 .
  
  • CS 301 - Computer Mastery

    Units: 3


    An introduction to the applications of computers, such as word processing, spreadsheet, database management, networking communications, operating systems, editors, societal issues, and historical perspectives of computer usage; algorithmic and critical thinking and computer programming in:
    A. ASP (recommended to future teachers)
    C. C++
    B. PERL for Biological Sciences and Chemistry majors
    J. Java

      May not be repeated. May not be taken for credit by students who received credit for: CS 301 (A) May not be taken for credit by students who have received credit for EDUC 422A  and EDUC 422C . A grade of C+ or above in CS 301(A) can be used to fulfill EDUC 422A  and EDUC 422C . Credit may not be counted toward the Computer Science Major. Enrollment Restrictions: Enrollment restricted to students who have completed the Entry-Level Mathematics (ELM) requirement.

    Satisfies GE area: BB

  
  • CS 305 - Problem Solving with Java Programming

    Units: 3
    An introduction to algorithmic and critical thinking through problem solving and Java programming. Various problems are solved through many case studies and computer solutions are produced to solve these problems through the platform of web programming on the Internet. Enrollment Restrictions: For students matriculating prior to Fall 2018, enrollment is restricted to students who have completed the Entry-Level Mathematics (ELM) requirement. For students matriculating in Fall 2018 or later, enrollment is restricted to students in Mathematics/Quantitative Reasoning Placement Categories I and II, or who have completed MATH 101 or MATH 105 with a grade of C (2.0) or better.

    Satisfies GE area: BB
  
  • CS 306 - Introduction to Computer Animation

    Units: 3
    Introduction to the design and implementation of computer animation. The technical and creative aspects of both linear and interactive animation are investigated. Special attention is paid to the design of and production of 2-D and 3-D animations for the Internet. Enrollment Restrictions: For students matriculating prior to Fall 2018, enrollment is restricted to students who have completed the Entry-Level Mathematics (ELM) requirement. For students matriculating in Fall 2018 or later, enrollment is restricted to students in Mathematics/Quantitative Reasoning Placement Categories I and II, or who have completed MATH 101 or MATH 105 with a grade of C (2.0) or better.

    Satisfies GE area: BB
  
  • CS 311 - Data Structures and Algorithms

    Units: 3


    A thorough understanding of several advanced methods for implementing the abstract data types and the time used by each method.  Includes abstract data types such as dictionary, priority queues, matrices, and relations, foundation of recursive algorithms, complexity analysis, complexity classes, sorting and searching, computability and undecidability, problem-solving strategies, heuristic search, modeling and components of database systems, and graphics software systems.   

     

    Prerequisite(s): CS 211 .
    Prerequisite(s)/Corequisite(s): MATH 270  or MATH 370.

  
  • CS 331 - Computer Architecture

    Units: 3
    A study of the functional organization and sequential operation of digital computers. The major components of a computer will be discussed. Introduction to machine instruction architecture and design. The study of the internal operations during program execution. Several computer architectures will be studied.

    Prerequisite(s): CS 231 .
  
  • CS 351 - Programming Languages

    Units: 3
    Important features and concerns of implementation design on programming languages in common use today will be studied and analyzed. Includes data and control structures, run-time storage management, context-free grammars, language translation systems, programming paradigms, and distributed and parallel programming constructs.

    Prerequisite(s)/Corequisite(s): CS 311 , and MATH 270  or 370.
  
  • CS 403 - Social and Organizational Impacts of Computing

    Units: 3
    Analyzes the social opportunities and problems raised by new information technologies. Emphasizes the dangers of incorrectly implemented software and hardware systems and relates them to the responsibilities of computing professionals. Effects of personal safety, quality of life, education, employment, personal privacy, organizational productivity, organizational structure, ethical values and regulations will be discussed. May not be taken for credit by students who received credit for: CS 303.

    Prerequisite(s): CS 311 .
  
  • CS 421 - Theory of Computing

    Units: 3
    Regular and context-free languages, and other formal languages, push down and finite-state automata, and other finite machines. Turning machine computability, halting problems. May not be taken for credit by students who received credit for: CS 521.

    Prerequisite(s): CS 351 .
  
  • CS 433 - Operating Systems

    Units: 3
    Operating system design and implementation, process coordination and scheduling, deadlocks, interface devices, memory and device management, networks and security, distributed and real-time systems. May not be taken for credit by students who received credit for: CS 533.

    Prerequisite(s): CS 231  and CS 311 .
  
  • CS 435 - Real-Time Concepts for Embedded Systems

    Units: 3
    Introduction to the high-level abstract modeling concepts and the lower-level fundamental programming aspects of real-time embedded systems development. The primary focus is in the design, development and validation of microprocessor-based real-time embedded systems. Course topics will include real-time operating system design, real-time scheduling theory, general-purpose microprocessors, common bus architectures, memory management, device driver development, interrupts, general purpose peripherals: such as timers and counters, I/O subsystems along with some embedded system design problems and engineering issues.

    Prerequisite(s): CS 231  and CS 311 .
  
  • CS 436 - Introduction to Networking

    Units: 3
    Covers the fundamentals of networking concept and technology, which includes data communication, OSI 7-layer model, TCP/IP protocol stacks and the Internet, the features of LAN, MAN and WAN, network security, and basic CGI programming and web applications.

    Prerequisite(s): CS 311 .
  
  • CS 441 - Software Engineering

    Units: 3
    Principles, techniques, and tools used to effect the orderly production of medium- and large-scale computer software will be studied. Includes review of problem-solving concepts, software development process, software requirements and specifications, verification, and validation. These techniques will be applied to programming projects with students working in teams and managing all phases of a programming project. Social, professional, and ethical issues will be discussed. May not be taken for credit by students who received credit for: CS 541.

    Prerequisite(s): Must have passed at least two CS courses at the 400-level with a C (2.0) or better in each.
  
  • CS 443 - Database Management Systems

    Units: 3
    Study of the concepts and structures necessary to design and implement database management systems. File organization, index organization, security, data integrity and reliability, data description and query languages will be studied within hierarchical, network, and relational models. A commercially available relational database management system will be used. May not be taken for credit by students who received credit for: CS 543.

    Prerequisite(s): CS 311 .
  
  • CS 445 - Digital Embedded Systems Design with HDL

    Units: 3
    Concepts, technologies, and programming languages used in modern digital embedded systems. Technologies of reconfigurable computing systems such as Field Programmable Gate Arrays, design flow and implementation in reconfigurable systems, Hardware Description Languages, such as VHDL (Very high speed integrated circuits Hardware Description Language) programming. Structure and syntax of VHDL and implementation of combinatorial and sequential circuits in VHDL. Complex digital operations and subsystems implemented in dedicated hardware such as FPGAs. May not be taken for credit by students who received credit for: CS 497 -5. Cross-listed: CS 445 and EE 406  are cross-listed. Students may not receive credit for both. Two hours lecture. Two hours activity.

    Prerequisite(s): CS 331 or EE 301  or PHYS 301 .
  
  • CS 446 - Cloud Computing

    Units: 3
    Introduction to fundamental technologies that enable cloud computing, such as software defined architectures, virtualization, and containers. Includes web middleware technologies and different levels of cloud services. Students will gain hands-on experience through developing new cloud services based on public cloud infrastructures.

    Prerequisite(s): CS 443  with a minimum grade of C (2.0).
  
  • CS 452 - Introduction to Computer Security

    Units: 3


    Introduces students to the principles of computer security, with emphasis on applied encryption, software/system security, and web security. Subjects such as encryption algorithm, access control, authentication, buffer overflow, SQL injection and cross-site scripting attack will be covered. Both theoretical and practical knowledge will be provided to enhance understanding of computer security issues. May not be taken for credit by students who received credit for: CS 497-8.

    Prerequisite(s): CS 433 .

     

  
  • CS 455 - Logic Programming

    Units: 3
    Declarative programming techniques: formal specification of the problem itself rather than of a solution algorithm. Survey of logic programming languages such as Prolog, applications, theoretical foundations propositional logic, predicate calculus, resolution, theorem proving, non-determinism, meta-programming. May not be taken for credit by students who received credit for: CS 555 .

    Prerequisite(s): CS 351 .
  
  • CS 464 - Numerical Analysis and Computing

    Units: 3
    Computer arithmetic, solution of a single algebraic equation, solution of systems of equations interpolating polynomials, numerical integration, numerical solution of ordinary differential equations; error analysis and computational effort of numerical algorithms. Combines theoretical ideas with hands-on laboratory experience. Cross-listed: CS 464 and MATH 464  are cross-listed. Students may not receive credit for both.

    Prerequisite(s): CS 111  and MATH 162 .
  
  • CS 471 - Introduction to Artificial Intelligence

    Units: 3
    An introduction to the objectives and techniques used by practitioners and researchers in artificial intelligence. Explores a number of aspects of computational models of intelligence including problem solving (uninformed and informed strategies), game playing, knowledge representation, reasoning, planning, natural language processing (text and speech), and learning. There will be a number of hands-on assignments that will allow the students to become familiar with the practice of building intelligence systems. May not be taken for credit by students who received credit for: CS 571 .

    Prerequisite(s): CS 311 .
  
  • CS 473 - Artificial Neural Networks

    Units: 3
    Theory, algorithms and applications of artificial neural networks, their applications including pattern and speech recognition, system identification, signal processing, time series prediction, financial analysis and trading. May not be taken for credit by students who received credit for: CS 573.

    Prerequisite(s): CS 311 .
  
  • CS 478 - Introduction to Deep Learning

    Units: 3
    Introduces use or application of software to cover fundamental topics of classification, regression and clustering, and a number of corresponding learning models such as the multi-layer perceptron and its gradient-based training through the backpropagation algorithm. Fully connected neural networks will be followed by more specialized neural network architectures such as convolutional neural networks (for images), recurrent neural networks (for sequences), and memory-augmented neural networks. Recommended Preparation: MATH 374  or MATH 264 ; MATH 260 ; and MATH 342 .

    Prerequisite(s): CS 311  and MATH 242  with grades of C (2.0) or better.
  
  • CS 480 - Introduction to Optimization

    Units: 3
    Study of Linear Programming, Goal Programming and Integer Programming. Programming methods include the simplex method and the Big M method. Theoretical aspects include optimality conditions, sensitivity analysis and duality. Cross-listed: CS 480 and MATH 480  are cross-listed. Students may not receive credit for both. Enrollment Requirement(s): CS 211 .

    Prerequisite(s): MATH 374 .
  
  • CS 481 - Introduction to Mobile Programming

    Units: 3
    Introduces students to the fundamentals of developing applications for mobile devices including smart phones and tablets. Common issues and special consideration for programming on mobile devices will be discussed. Software engineering principles in project design and human-computer interaction will be applied. Students will also learn about the development cross-platform mobile Web applications. May not be taken for credit by students who received credit for: CS 497 -2.

    Prerequisite(s): CS 351  or CIS 444 .
  
  • CS 485 - Game Programming

    Units: 3
    Introduction to the concepts of game development and game modeling and programming through developing playable 2D/3D games using a modern game engine. Includes the framework and roles in a team for game development, programming skills of using a game engine and modeling skills of creating 3D models with animation tools.

    Prerequisite(s): CS 311 .
  
  • CS 488 - Introduction to Internet of Things

    Units: 3
    Concepts, technologies, applications and programming of Internet of Things (IoT). Includes resource-constrained computer systems, sensing technologies, mobile app development, security issues of IoT systems and network connectivity using low energy communication protocols such as Bluetooth Low Energy (BLE). High-level programing tools will be introduced as a way to integrate the entire system, with demonstrator applications such as a smartphone remote controlled weather station. CS 688 and CS 488 are dual-listed. The course may be taught together by the same instructor.  May not be taken for credit by students who received credit for: May not be taken for credit by students who have received credit for CS 688 or CS 697-1.

    Prerequisite(s): CS 311  with a minimum grade of C (2.0).
  
  • CS 497 - Topics in Computer Science

    Units: 3
    Introductory or advanced topics in Computer Science for undergraduate students. May be repeated as topics change for a total of six 6 units. Students should check the Class Schedule for listing of actual topics. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.

  
  • CS 498A - Individual Study in Computer Science

    Units: 1
    Individually directed reading and study in Computer Science literature. May be repeated for a maximum of three (3) units. Enrollment Restrictions: Enrollment restricted to students with Senior standing in Computer Science. Enrollment restricted to students who have obtained consent of supervising instructor.

  
  • CS 498B - Individual Study in Computer Science

    Units: 2
    Individually directed reading and study in Computer Science literature. May be repeated for a maximum of three (3) units. Enrollment Restrictions: Enrollment restricted to students with Senior standing in Computer Science. Enrollment restricted to students who have obtained consent of supervising instructor.

  
  • CS 498C - Individual Study in Computer Science

    Units: 3
    Individually directed reading and study in Computer Science literature. May be repeated for a maximum of three (3) units. Enrollment Restrictions: Enrollment restricted to students with Senior standing in Computer Science. Enrollment restricted to students who have obtained consent of supervising instructor.

  
  • CS 499A - Independent Research in Computer Science

    Units: 1
    Designed for students capable of independent and original research. May be repeated for a maximum of three (3) units. Enrollment Restrictions: Enrollment restricted to students with Senior standing in Computer Science. Enrollment restricted to students who have obtained consent of supervising instructor.

  
  • CS 499B - Independent Research in Computer Science

    Units: 2
    Designed for students capable of independent and original research. May be repeated for a maximum of three (3) units. Enrollment Restrictions: Enrollment restricted to students with Senior standing in Computer Science. Enrollment restricted to students who have obtained consent of supervising instructor.

  
  • CS 499C - Independent Research in Computer Science

    Units: 3
    Designed for students capable of independent and original research. May be repeated for a maximum of three (3) units. Enrollment Restrictions: Enrollment restricted to students with Senior standing in Computer Science. Enrollment restricted to students who have obtained consent of supervising instructor.

  
  • CS 511 - Introduction to Bioinformatics

    Units: 3
    Application of computer technology to the management of biological information. Introduces computer algorithms that are used to gather, store, analyze and integrate biological and genetic information which can then be applied to gene-based drug discovery and development. Enrollment Requirement(s): for graduate students CS 311 .

    Prerequisite(s): for undergraduate students CS 311 .
  
  • CS 512 - Introduction to Data Mining

    Units: 3
    Illustrates the process of analyzing data from different perspectives and summarizing it into useful information so as to increase revenue, or cut costs. Introduces Data Mining software analytical tools that are used for analyzing data. Tools allow users to analyze data from many different dimensions or angles, categorize the data, and summarize the relationships identified. Enrollment Requirement(s): for graduate students CS 443 .

    Prerequisite(s): for undergraduate students CS 443 .
  
  • CS 513 - Analysis and Intractability of Algorithms

    Units: 3
    Study of algorithms; efficient, optimal algorithms and analysis for best, worst, and average performance; computational complexity theory; algorithmic time and space bounds; levels of intractability including polynomial-time reducibility, NP-complete and NP-hard problems, and Co-NP; applications. A core course in the Computer Science M.S. program. Undergraduates must obtain consent of instructor to enroll. Enrollment Requirement(s): for graduate students: CS 311 .

    Prerequisite(s): for undergraduate students CS 311 
  
  • CS 531 - Advanced Computer Architectures

    Units: 3
    Comparative studies of computer system components: CPU, memory, and I/O devices; analytical modeling techniques to allow comparative evaluation of different computer architectures; multiprocessors, and array processors, vector processes multiprocessors, pipeline and super-pipeline processors, supercomputers, dataflow machines; parallelism, scalability, and programmability. Enrollment Requirement(s): for graduate students CS 331 .

    Prerequisite(s): for undergraduates CS 331 .
  
  • CS 535 - Introduction to Computer Graphics

    Units: 3
    Introduces basic theory and programming in computer graphics. Includes graphics pipeline, rasterization, windowing and clipping, OpenGL programming, theory of domain transformations, mathematics of three-dimensional graphics involving rotation, scaling, translation and perspective projection, curve and surface modeling, lighting and shading, texture mapping, visibility algorithms, shading languages, and ray-tracing. 

    Prerequisite(s): CS 311  and either MATH 264  or MATH 374  with a minimum grade of C (2.0). 
  
  • CS 536 - Introduction to 3D Game Graphics

    Units: 3
    Introduction to graphics algorithms and skills related to 3D game programming. The emphasis is on developing 3D graphics engines. Subjects covered include graphics hardware, rendering pipeline, OpenGL programming, geometric transformations, lighting and shading, texture mapping, shadowing, collision detection, animation, and other interactive computer graphics techniques. Enrollment Requirement(s): MATH 264  or MATH 374 , and for graduate students: CS 311 .

    Prerequisite(s): for undergraduates CS 311 .
  
  • CS 537 - Data Communication and Computer Networks

    Units: 3
    Introduces TCP/IP network architecture with emphasis on upper-layer protocols and a detailed investigation into TCP and IP. It also covers local area networks, internetworking, and network programming. A core course in the Computer Science M.S. program. Undergraduates must obtain consent of instructor to enroll. Enrollment Requirement(s): for graduate students CS 436 .

    Prerequisite(s): for undergraduates CS 436 .
  
  • CS 538 - Cryptography and Network Security

    Units: 3
    Introduction to cryptographic techniques and their applications to real-world networks security problems. Covers fundamental concepts of protecting confidentiality, end-to-end authentication, integrity and availability of information in computer systems and networks. Subjects include cryptographic methods and algorithms containing symmetric key systems, public key systems, and hash functions; computational issues in cryptography; security of wired and wireless network protocols; common network attacks and defenses. 

    Prerequisite(s): CS 311  with a minimum grade of C (2.0), or graduate standing in CSIS.
  
  • CS 539 - Client/Server Computing

    Units: 3
    State-of-the-practice on client/server computing, the key enabling technologies and their inter-relationships, development and implementation of client/server/ applications, emerging technologies that may affect the future practice within the client/server environment. Enrollment Requirement(s): for graduate students CS 441 .

    Prerequisite(s)/Corequisite(s): for undergraduates CS 441 .
  
  • CS 542 - Design Patterns and Object-Oriented Analysis

    Units: 3
    Studies object-oriented analysis and design and their roles in software development. Many documented patterns in program designs will be introduced and analyzed. Advanced topics in software engineering such as software metrics, software architecture and software reuse are also discussed. A core course in the Computer Science M.S. program. Undergraduates must obtain consent of instructor to enroll. Enrollment Requirement(s): for graduate students CS 441 .

    Prerequisite(s): for undergraduates CS 441 .
  
  • CS 551 - Advanced Programming Languages

    Units: 3
    Formal syntax of programming languages such as Backus-Naur form and its variations, attribute grammars, two-level grammars, formal semantics of programming languages, including operational semantics, denotational semantics, and axiomatic semantics. A core course in the Computer Science M.S. program. Undergraduates must obtain consent of instructor to enroll. Enrollment Requirement(s): for graduate students: CS 351  and CS 421 .

    Prerequisite(s): for undergraduates CS 351  and CS 421 .
    Prerequisite(s)/Corequisite(s): CS 421 .
  
  • CS 553 - Compilers

    Units: 3
    Study of lexical scanning, parsing methods, intermediate code generation, error detection, and recovery. Included will be the design and implementation of a simple compiler or components of an actual compiler. May not be taken for credit by students who received credit for: CS 453. Enrollment Requirement(s): for graduate students: CS 351  and CS 421 .

    Prerequisite(s): for undergraduates: CS 351  and CS 421 .
  
  • CS 555 - Logic Programming

    Units: 3
    Declarative programming techniques: formal specification of the problem itself rather than of a solution algorithm. Survey of logic programming languages such as Prolog, applications, theoretical foundations propositional logic, predicate calculus, resolution, theorem proving, non-determinism, meta-programming. Enrollment Requirement(s): for graduate students CS 351  and MATH 270  or 370.

    Prerequisite(s): for undergraduates CS 351  and MATH 270  or 370.
  
  • CS 571 - Artificial Intelligence

    Units: 3
    A comprehensive study of basic concepts techniques and a number of detailed algorithms used by researchers and practitioners of artificial intelligence. Subjects covered include problem-solving, knowledge representation and reasoning, planning, uncertainty reasoning and decision-making, machine-learning, and natural language processing. A core course in the Computer Science M.S. program. Enrollment Restrictions: Enrollment restricted to graduate students and to undergraduates who have obtained consent of instructor. Enrollment Requirement(s): for graduate students CS 421 .

    Prerequisite(s): for undergraduates CS 421 .
  
  • CS 572 - Artificial Intelligence and Games

    Units: 3
    A comprehensive study of artificial intelligence techniques and their application to computer games. Analysis of the algorithms that work on a character-by-character basis. Analysis and study of an artificial intelligence-based game model split into three components: strategy, decision-making, and movement. Additionally, this course will provide the background for students interested in graphics applied to computer games development. Enrollment Requirement(s): for graduate students CS 351 .

    Prerequisite(s): for undergraduates CS 351 .
  
  • CS 574 - Intelligent Information Retrieval

    Units: 3
    In-depth discussion of recent approaches in the field of the indexing, processing, retrieval, and ranking of textual data. Study of classic and current retrieval models, algorithms, and information retrieval system implementations. Practical applications using existing information retrieval systems. Advanced topics will address “intelligent” IR, including Natural Language Processing techniques, “smart” Web agents, and cross-linguistic information retrieval. Enrollment Requirement(s): for graduate students CS 311 .

    Prerequisite(s): for undergraduates CS 311 .
  
  • CS 575 - Machine Learning Systems

    Units: 3
    Discusses important machine learning algorithms, systems, theory and practices including decision-tree learning, artificial neural networks, Bayesian approaches, genetic algorithms and programs, reinforcement learning, computational learning theory, etc. May not be taken for credit by students who received credit for: CS 475. Enrollment Requirement(s): for graduate students: CS 311 .

    Prerequisite(s): for undergraduate students: CS 311 .
  
  • CS 577 - Intelligent Tutoring Systems

    Units: 3
    Study of concepts and structures necessary to design and implement intelligent tutoring systems. Comparison with non-intelligent systems. Includes knowledge representation techniques for the pedagogical model, domain model, and student model. Interface issues will be discussed. A small tutoring system will be implemented. Enrollment Requirement(s): for graduate students CS 421 .

    Prerequisite(s): for undergraduates CS 421 .
  
  • CS 578 - Introduction to Text Mining

    Units: 3
    An introduction to the study of classical and current approaches in the field of the processing, extraction and classification of textual data. The approaches include natural language processing, statistical models of language, algorithms in machine learning use applied in text mining. Analysis of current applications in static data collections and dynamic data collections such as the web will be carried out. Enrollment Requirement(s): for graduate students CS 311 .

    Prerequisite(s): for undergraduate students CS 311 .
  
  • CS 590 - Introduction to Research and Publishing in Computer Science

    Units: 3
    Introduces research techniques and technical writing styles in Computer Science. Designed to help graduate students prepare for their CS 698  and CS 699 course in which independent research abilities and technical writing skills are required. By passing this course, the Graduate Writing Requirement is satisfied. Enrollment Restrictions: Enrollment restricted to graduate students.

  
  • CS 597 - Advanced Topics in Computer Science

    Units: 3
    Advanced topics in computer science for graduate students or advanced undergraduate students. May be repeated for credit as topics change for a total of six 6 units. Students should check the Class Schedule for listing of actual topics. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.

  
  • CS 612 - Data Mining in Bioinformatics

    Units: 3
    Introduces the Data Mining approaches suited for Bioinformatics. Shows that mining biological data helps to extract useful knowledge from massive datasets gathered in biology, and in other related life sciences areas such as medicine and neuroscience.

    Prerequisite(s): CS 513 .
  
  • CS 613 - Advanced Computational Complexity

    Units: 3
    In-depth discussion of computational complexity theory including models of computation, polynomially bounded, NP-completeness, reducibility, and beyond NP-completeness, and intractable problems. NP-complete problems in various areas will be discussed.

    Prerequisite(s): CS 513 .
  
  • CS 614 - Algorithms in Bioinformatics

    Units: 3
    Covers the computational models and algorithms in bioinformatics research. The topics include sequence assembly, sequence alignment, motif searching, pattern matching, DNA microarray analysis, clustering and evolutionary trees, and Hidden Markov Models. Enrollment Requirement(s): CS 311  and MATH 242 .

    Prerequisite(s): CS 513 .
  
  • CS 633 - Advanced Operating Systems

    Units: 3
    Current research and methodology in operating systems for operating system designers. Advance study includes topics of synchronization, deadlock, virtual memory, security, distributed systems and control, and modeling and analysis. Enrollment Requirement(s): CS 433 .

  
  • CS 635 - Advanced Computer Graphics

    Units: 3
    Covers advanced concepts and methods of three-dimensional computer graphics. Studies the recent developments in rendering, modeling, animation, and visualization. Provides students with sufficient background to write advanced computer graphics applications.

    Prerequisite(s): CS 535  or CS 536 .
  
  • CS 637 - Advanced Computer Networks

    Units: 3
    Broadband integrated services digital networks, high-speed networks, radio and satellite networks, lightwave networks; multimedia communications, wireless communications, high-speed communications; network design, network architectures, traffic and admission control, routing and flow control, performance issues, traffic characteristics. Enrollment Requirement(s): CS 433 .

    Prerequisite(s): CS 537 .
  
  • CS 643 - Advanced Database Management Systems

    Units: 3
    Advanced data models such as object-oriented databases, distributed databases, deductive databases, and multimedia databases, abstractions, dependencies, normalizations, query optimizations, implementations, languages, database machines, and other advanced topics.

    Prerequisite(s): CS 443 .
  
  • CS 673 - Artificial Neural Networks and Forecasting

    Units: 3
    Includes forecasting using statistical methods such as Box-Jenkins ARIMA models for time series analysis and forecasting with artificial neural networks. Applications include financial forecasting for stock prices, commodity trading volumes, or currency exchange rates, and other forecasting such as electric load, ocean temperature, river flow volume, and traffic flow. Current state-of-art forecasting methodologies from journals, conference proceedings, and books will be discussed.

    Prerequisite(s): CS 571 .
  
  • CS 677 - Development of Intelligent Tutoring Systems

    Units: 3
    Study of issues related to design, implementation and evaluation of intelligent tutoring systems. Students will work in teams to develop tutoring systems and produce plans to evaluate these systems.

    Prerequisite(s): CS 571 .
  
  • CS 678 - Text Mining

    Units: 3
    In-depth discussion of selected subjects in Text Mining with emphasis on the design, implementation and testing of approaches and algorithms in the field. Approaches and algorithms included are the following: Finite-state Automata, Hidden Markov Models, Support Vector Machines, and Conditional Random Fields.

    Prerequisite(s): CS 571 .
  
  • CS 688 - Advanced Internet of Things

    Units: 3
    Concepts, technologies, applications and programming of Internet of Things (IoT). Includes review of current challenges and recent advances in IoT field, resource-constrained computer systems, sensing technologies, edge computing, cloud computing, mobile app development, security issues of IoT systems and network connectivity using low energy communication protocols such as Bluetooth Low Energy (BLE). Advanced high-level programming tools will be used to integrate the entire system, with demonstrator applications such as a smartphone remote controlled weather station. CS 488 and CS 688 are dual-listed. The courses may be taught together by the same instructor.  May not be taken for credit by students who received credit for: CS 488 or CS 697-1.

    Prerequisite(s)/Corequisite(s): CS 537 
  
  • CS 696A - Graduate Individual Study in Computer Science

    Units: 1
    Individually directed reading and study in Computer Science literature for graduate students, focusing on advanced topics. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.

  
  • CS 696B - Graduate Individual Study in Computer Science

    Units: 2
    Individually directed reading and study in Computer Science literature for graduate students, focusing on advanced topics. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.

  
  • CS 696C - Graduate Individual Study in Computer Science

    Units: 3
    Individually directed reading and study in Computer Science literature for graduate students, focusing on advanced topics. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.

  
  • CS 697 - Graduate Topics in Computer Science

    Units: 3
    Advanced topics of current interest in computer science for graduate students. Students should check the Class Schedule for listing of actual topics. May be repeated for credit as topics change for a total of six 6 units. Enrollment Restrictions: Enrollment restricted to students who have obtained consent of instructor.

  
  • CS 698 - Master’s Research Project

    Units: 3
    Faculty-supervised investigation, to culminate in a written report for the master’s degree. It may be repeated, but only three (3) units count toward the master’s degree. Grading Basis: Graded Credit/No Credit. Enrollment Requirement(s): An officially appointed advisory committee with a project advisor and advancement to candidacy.

  
  • CS 699A - Master’s Thesis

    Units: 1
    Preparation of a thesis for the master’s degree. May be repeated but only six 6 units count toward the master’s degree. Grading Basis: Credit/No Credit. Enrollment Requirement(s): An officially appointed thesis committee with a thesis advisor as the chair of the committee and advancement to candidacy.

  
  • CS 699B - Master’s Thesis

    Units: 2
    Preparation of a thesis for the master’s degree. May be repeated but only six 6 units count toward the master’s degree. Grading Basis: Credit/No Credit. Enrollment Requirement(s): An officially appointed thesis committee with a thesis advisor as the chair of the committee and advancement to candidacy.

  
  • CS 699C - Master’s Thesis

    Units: 3
    Preparation of a thesis for the master’s degree. May be repeated but only six 6 units count toward the master’s degree. Grading Basis: Credit/No Credit. Enrollment Requirement(s): An officially appointed thesis committee with a thesis advisor as the chair of the committee and advancement to candidacy.

  
  • CS 700A - Thesis Extension

    Units: 1
    Registration is limited to students who have received a grade of Satisfactory Progress (SP) in CS 699 and who expect to use the facilities and resources of the University to work on or complete the thesis. Also, students must be registered in CS 700 when the completed thesis is granted final approval. May be repeated for a total of three (3) units, but credit will not be counted toward the Master of Science in Computer Science. Grading Basis: Graded Credit/No Credit.

  
  • CS 700B - Thesis Extension

    Units: 2
    Registration is limited to students who have received a grade of Satisfactory Progress (SP) in CS 699 and who expect to use the facilities and resources of the University to work on or complete the thesis. Also, students must be registered in CS 700 when the completed thesis is granted final approval. May be repeated for a total of three (3) units, but credit will not be counted toward the Master of Science in Computer Science. Grading Basis: Graded Credit/No Credit.

  
  • CS 700C - Thesis Extension

    Units: 3
    Registration is limited to students who have received a grade of Satisfactory Progress (SP) in CS 699 and who expect to use the facilities and resources of the University to work on or complete the thesis. Also, students must be registered in CS 700 when the completed thesis is granted final approval. May be repeated for a total of three (3) units, but credit will not be counted toward the Master of Science in Computer Science. Grading Basis: Graded Credit/No Credit.


Convergent Journalism

  
  • CJRN 401A - Convergent Journalism Practicum

    Units: 1
    Provides support for reporting, editorial, and leadership positions in campus student news outlets (e.g., the student newspaper, hard copy and online) and provides opportunities to apply advanced skills in convergent journalism, with special emphasis on producing convergent content for student news outlets. May be repeated for credit for a total of nine (9) units. Grading Basis: Graded Credit / No Credit.

  
  • CJRN 401B - Convergent Journalism Practicum

    Units: 2
    Provides support for reporting, editorial, and leadership positions in campus student news outlets (e.g., the student newspaper, hard copy and online) and provides opportunities to apply advanced skills in convergent journalism, with special emphasis on producing convergent content for student news outlets. May be repeated for credit for a total of nine (9) units. Grading Basis: Graded Credit / No Credit.

  
  • CJRN 401C - Convergent Journalism Practicum

    Units: 3
    Provides support for reporting, editorial, and leadership positions in campus student news outlets (e.g., the student newspaper, hard copy and online) and provides opportunities to apply advanced skills in convergent journalism, with special emphasis on producing convergent content for student news outlets. May be repeated for credit for a total of nine (9) units. Grading Basis: Graded Credit / No Credit.


Cultural Competency in Healthcare

  
  • CCHC 500 - Clinical Care and Cultural Competency

    Units: 2
    Explores how cultural backgrounds of patients and providers impact the healthcare encounter. Examines how clinical healthcare settings and organizations can act as barriers to providing effective services to diverse communities. Reviews standards, laws, and accreditation mandates relevant to the health care of culturally- and linguistically diverse communities.

  
  • CCHC 510 - Special Populations and Health Care

    Units: 2
    Examines the ways in which special populations are defined, their access to care, and questions of health equity. Covers major issues influencing health services and delivery to special populations, focusing on disparities and strategies to address healthcare needs. Focus includes special populations’ service provision, advocacy, patient/client-centered care, social aspects of disease and wellness, health promotion, and education. Reviews history of health and social welfare programs. Examines social and environmental determinants of health as well as the health service needs of special population.

  
  • CCHC 520 - Ethics and Culture in Medicine

    Units: 2
    Reviews the concepts, principles, and methods of medical ethics, emphasizing issues of cultural difference, identity, and cross-cultural translation. Examines mainstream ethical principles through case studies involving diverse cultural settings, belief systems, and moral traditions. Themes include practitioner-patient communication, informed consent, end-of-life issues, family dynamics, standards of medical decision-making, normative concepts of medicine, appropriate treatment, and ethical intervention and care.

  
  • CCHC 530 - Cross Cultural Health Communication

    Units: 2
    Examines how language and communication impact delivery of health care services to culturally- and linguistically-diverse communities. Reviews standards, policies, and accreditation mandates impacting language access. Focuses on strategies for cross-cultural communication, effective ways to ensure language access, and health literacy for diverse communities.

  
  • CCHC 540 - Palliative Care in Diverse Communities

    Units: 2
    Explores palliative care and end-of-life issues as manifested in culturally-diverse communities. Examines how diverse communities perceive, use, and assess palliative care. Addresses barriers to palliative care in relation to language, social, and cultural needs, and introduces best practices to improve access and utilization of services.

  
  • CCHC 550 - Practicing Cultural Competency in Health Care

    Units: 2
    Covers the design, delivery, and evaluation of strategies that promote cultural competence and increase health promotion and illness prevention in diverse communities. Concepts of community assessment, program planning, and illness prevention are applied to develop a cultural competency plan for a particular area of the healthcare system.


Dance

  
  • DNCE 101 - Introduction to Dance

    Units: 3
    Survey of dance on the stage and off, in the studio as well as in the club, and performed by everyday and famous people. Focusing primarily on movement in the United States, investigates dance as a cultural and historical phenomenon. Course includes: lectures, demonstrations, dance performances, research papers, and collaborative presentations.

    Satisfies GE area: C1
  
  • DNCE 124 - Introduction to Dance Through Film

    Units: 3
    Lecture course that surveys various genres of dance through classic, contemporary, and experimental films and videos. A range of documentary, dance-for-the-camera, and popular culture works that offer diverse perspectives on dance and cultural identity will be viewed.

    Satisfies GE area: C1
  
  • DNCE 130 - Topics in Dance Practice

    Units: 1-3
    Studio practice in various movement genres challenge and awaken students physically and artistically. Subjects may include Ballroom, Salsa, Latin, Capoeira, Ballet, Jazz, Somantics, West African, Hula, Butoh, etc. Depending on units, course may also include quizzes, papers, and performances. May be repeated for a total of eight (8) units.

  
  • DNCE 200 - Movement Awareness

    Units: 3
    Investigates functional movement through internal observation alongside dance improvisation to enhance spontaneous creativity and artistic research. Open to all levels of abilities. Course assignments focus on ways to articulate sensorial observations through written response papers and projects that focus on the body and cultural identity. May not be taken for credit by students who received credit for: DNCE 130 -1.

    Satisfies GE area: C1
  
  • DNCE 201 - Contemporary Dance Technique I

    Units: 3
    Studio course focusing on alignment and dance phrases alongside composition and improvisation. Practice will increase strength, flexibility, and body awareness, and also investigate choreographic theories of dance based on diverse approaches to contemporary dance. Includes guest artists, live performances, and research paper/projects. May be repeated for a total of six 6 units. One hour lecture and three hours studio work.

 

Page: 1 <- 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12Forward 10 -> 29