May 18, 2024  
2014-2015 University Catalog (Revised 01-05-2015) 
    
2014-2015 University Catalog (Revised 01-05-2015) [ARCHIVED CATALOG]

Courses


 

Computer Information Systems

  
  • CIS 121 - Web Media 1 (2)


    Introduction to Web media 1, using personal computers. Topics are Web audio recording and editing and blogging. This is an online course.

    Component(s): 2 lectures/problem-solving.
    Grading: Mandatory credit/no credit grading basis.
  
  • CIS 122 - Web Media 2 (2)


    Introduction to Web Media 2, using personal computers. Topics are Web based video recording, editing and production. This is an online course.

    Component(s): 2 lectures/problem solving.
    Grading: Mandatory credit/no credit grading basis.
  
  • CIS 200 - Special Study for Lower Division Students (1-2)


    Individual or group investigation, research, studies or surveys of selected problems.

    Minimum/Maximum Units: Total credit limited to 4 units, with a maximum of 2 units per quarter.
    Note(s): Optional credit/no credit grading basis at the student’s request.
  
  • CIS 231 - Fundamentals of Computer Information Systems (4)


    Computer Information Systems as an academic and professional discipline. Principles and techniques of systems development life cycle. Development of digital student portfolios through prototyping and client developer interactions. Information systems careers and emerging trends in the IS field.

    Prerequisite(s): Computer Proficiency and a minimum grade of C (2.0) in STA 120  and ENG 103 , ENG 104 , ENG 107 , ENG 109 , or ENG 110 .
    Component(s): 4 lectures/ problem solving.
    Repeatable: May be taken a maximum of two times.
  
  • CIS 234 - Object-oriented Programming with Java (4)


    Introduction to computer programming of business information systems. Object concepts, programming, the Java language, and an integrated development environment. Business application projects.

    Prerequisite(s): Computer Proficiency and a minimum grade of C (2.0) in STA 120 , and ENG 104 or (ENG 102 and ENG 103).
    Component(s): 4 lectures/problem-solving.
    Repeatable: May be taken a maximum of two times.
  
  • CIS 284 - Programming with C++ (4)


    Foundations of C and C++. Language constructs emphasizing classes and object concepts. Operators, functions, arrays, structures, files, and classes. Business application projects.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 305 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 299/299A/299L - Special Topics for Lower Division Students (1-4/1-4/1-4)


    Group study of a selected topic, the title to be specified in advance.

    Prerequisite(s): permission of instructor.
    Component(s): Instruction is by lecture, laboratory, or a combination.
    Minimum/Maximum Units: Total credit limited to 8 units, with a maximum of 4 units per quarter.
  
  • CIS 304 - Intermediate Java Programming for Business (4)


    Data representation, inheritance, interfaces, data structures and matching algorithms. Graphics and file operations. Building business applications emphasizing complex sequence, iteration, and selection algorithms.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 231  and CIS 234 .
    Component(s): 4 lectures/problem-solving.
    Repeatable: May be taken a maximum of two times.
  
  • CIS 305 - Database Design and Development (4)


    Data modeling and normalization. Relational database design and development using entity relationship diagrams and CASE tools. Accessing and updating databases with SQL. Integrity and security issues.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 231 , CIS 234 , and CIS 310 .
    Component(s): 4 lectures/problem solving.
    Repeatable: May be taken a maximum of two times.
  
  • CIS 307 - Business Telecommunications (4)


    Telecommunications link components and functions, concentrators, multiplexors, telecom protocols, OSI model, telecom regulations, integrated traffic on WAN’s and LAN’s, network applications.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 231 , CIS 234 , CIS 310 , and MAT 125 .
    Component(s): 4 lectures/problem-solving.
    Repeatable: May be taken a maximum of two times.
  
  • CIS 310 - Management Information Systems (4)


    Management and development of information systems in modern businesses from the customer and the MIS perspective. Information as a strategic asset. Acquisition, analysis, integration, presentation of internal and external information. Information management in international and multinational enterprises. Ethical, social impacts.

    Prerequisite(s): ACC 207/207A , and Computer Proficiency.
    Component(s): 4 lectures/problem-solving.
  
  • CIS 311 - Interactive and Responsive Web Development (4)


    Design and development of web applications for business. Principles and applications of modern website design. Use of client-side scripting for website dynamics and interactivity. Development of server-side scripts for three-tier web applications.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 304  and CIS 305 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 315 - Introduction to Systems Analysis and Design (4)


    Introduction to object-oriented systems analysis and design using unified modeling language (UML). System development life cycle. Determination of information system requirements. Use cases, use case diagrams, domain models, interaction diagrams, and design class diagrams.

    Prerequisite(s): Minimum grade of C (2.0) or better in CIS 304  and CIS 305 .
    Component(s): 4 lectures/problem-solving.
    Repeatable: May be taken a maximum of two times.
  
  • CIS 338 - Client/Server Applications Development (4)


    Developing multi-tier business applications using Visual Basic and relational DBMS. Database updating using ODBC and SQL. Event-driven programming with graphical user interfaces. Practical problems requiring complex logic design incorporating classes, objects, and collections.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 311 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 345 - Data Modeling (4)


    Designing large databases using advanced data modeling concepts. Producing quality data models which follow corporate business plans, policies, and strategies of the enterprise. Analyzing data components for effective utilization. Extracting from the database to create data warehouses. Use of data mining for decision-making.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 305 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 347 - Telecommunications Networks (4)


    Analysis of hardware and software used in the design of local area networks. Analysis of transmission media, systems architectures, and cost/benefit tradeoffs. Analysis of specific vendor LAN’s. Interconnectivity issues.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 307 , CIS 305 , and CIS 311 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 400 - Special Study for Upper Division Students (1-2)


    Individual or group investigation, research, studies or surveys of selected problems.

    Minimum/Maximum Units: Total credit limited to 4 units, with a maximum of 2 units per quarter.
    Note(s): Optional credit/no credit grading basis at the student’s request
  
  • CIS 406 - Rapid Systems Development (4)


    Agile methods and practices supporting the agile philosophy using Extreme Programming. Emphasis on weekly prototyping approach to systems development and human/ergonomic factors in designing user interfaces. Use of 4GLs, user stories, project management tools, version control, coding standards, defect tracking and similar agile practices.

    Prerequisite(s): CIS 311  and CIS 315 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 415 - Advanced Object-oriented Systems Analysis and Design (4)


    Applying Unified Modeling Language to model complex business systems. Application of use cases in analysis and of patterns in design. Use of modeling tools and code generation. Written reports and case studies. 4 lectures/problem-solving. Written reports and case studies.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 305  and CIS 315 .
    Component(s): 4 lecture/problem-solving.
  
  • CIS 417 - Broadband and Multimedia Networks (4)


    Hardware and software concepts regarding wide area and voice networks. Analog and digital systems and their interconnection.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 305  and CIS 307 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 421 - Multimedia Applications on the Web (4)


    Design, development, publishing multimedia applications for business. Considerations for creation of graphical, photographic, video, sound, animation, multimedia authoring, virtual reality applications suitable for publication on WWW or other electronic media. Principles supporting critical analysis of multimedia design and content.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 311 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 424 - Advanced Java Programming for Business (4)


    Develop Java Web applications. Development environment, servers, and accessing databases using JDBC. Design patterns with UML.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 311  and CIS 315 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 427 - Mobile Communications and Wireless Networks (4)


    Fundamentals of mobile telecommunications and wireless network technology, regulation, standards, and management. Analysis of wireless local and wide area networks. Evaluation of service alternatives. Examination of emerging issues.

    Prerequisite(s): a minimum grade of “C” (2.0) in CIS 305  and CIS 307 .
    Component(s): 4 lectures/problem solving.
  
  • CIS 433 - Information Systems Auditing (4)


    Fundamentals of Information Systems (IS) auditing. Understanding IS Audits, risk assessment and concepts, and techniques used in IS audits. Includes case studies.

    Prerequisite(s): ACC 419  or a minimum grade of C (2.0) in CIS 307 , CIS 311 , and CIS 315 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 437 - Fundamentals of Network Management and Design (4)


    Administering and tuning telecommunications networks. Analysis of network components, traffic, security, and failures in the network. An examination of regulatory and legal issues in the field. Analyzing and directing a telecommunications project.

    Prerequisite(s): a minimum grade of “C” in CIS 305  and CIS 307 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 441 - Internship in Information Systems (1-8)


    Faculty-supervised on-the-job educational experiences in a real world data processing environment. Allocation of credit is dependent on the nature of the work done and the number of hours worked. Students usually receive pay for participation.

    Prerequisite(s): permission of the internship coordinator.
    Minimum/Maximum Units: Total credit limited to 8 units each.
  
  • CIS 442 - Internship in Information Systems (1-8)


    Faculty-supervised on-the-job educational experiences in a real world data processing environment. Allocation of credit is dependent on the nature of the work done and the number of hours worked. Students usually receive pay for participation.

    Prerequisite(s): permission of the internship coordinator.
    Minimum/Maximum Units: Total credit limited to 8 units each.
  
  • CIS 447 - Internetworking with Linux (4)


    Fundamentals of multivendor network standards. Hardware and software technologies, design, installation, types of services, performance monitoring and management of Intra and Extranets. Integrating heterogeneous networks, securing them with the firewalls and emerging issues.

    Prerequisite(s): a minimum grade of “C” (2.0) in CIS 305  and CIS 307 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 451 - E-commerce Application Development (4)


    Analysis of e-commerce architecture, practice, technology, and trends. Hands-on design and development of e-commerce solutions for business. Internet marketing and management of e-commerce applications.

    Prerequisite(s): a minimum grade of “C” (2.0) in CIS 311 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 466 - Systems Development Project (4)


    Application of computer programming and implementation concepts to a comprehensive group project. Management planning, scheduling, and reporting required. Documentation to include programming, testing and users manuals. Oral and written presentations required for all team members.

    Prerequisite(s): three CIS elective courses.
    Component(s): 4 lectures/problem-solving.
  
  • CIS 467 - Network Security (4)


    Fundamentals of network security in a business environment. Understanding IT Network Security Reviews, risk assessment and concepts, and techniques used in IT Network Security Reviews from a business perspective. Includes case studies.

    Prerequisite(s): a minimum grade of “C” (2.0) in CIS 305  and CIS 307 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 471 - Internet Security (4)


    Introduction to computer security in networked systems. Security issues and policies with regard to hardware, software development, databases, operating systems and networks. Common attacks on systems will be covered. Vulnerability assessment tools and techniques for defending systems will be explored in various projects. Professional responsibilities.

    Prerequisite(s): a minimum grade of C (2.0) in CIS 305 , CIS 307 , and CIS 311 .
    Component(s): 4 lectures/problem solving.
  
  • CIS 481 - Computer Forensics (4)


    Introduction to computer forensics in networked systems. Legal issues regarding seizure and chain of custody. Technical issues in acquiring computer evidence. Popular file systems are examined.

    Prerequisite(s): a minimum grade of “C” (2.0) in CIS 305 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 491 - Secure Web Applications (4)


    Fundamental design and development of hack-resilient Web applications. Analysis of Web application security models. Identification of Web application threats, vulnerabilities, and attacks. Formulation of strategies with implementation plan for countermeasures for secured Web applications. Development of appropriate security mechanisms in the logic, coding, testing, and debugging of Web applications.

    Prerequisite(s): a minimum grade of “C” (2.0) in CIS 311 .
    Component(s): 4 lectures/problem-solving.
  
  • CIS 499/499A/499L - Special Topics for Upper Division Students (1-4/1-4/1-4)


    Group study of a selected topic, the title to be specified in advance.

    Prerequisite(s): permission of instructor.
    Component(s): Instruction is by lecture, laboratory, or a combination.
    Minimum/Maximum Units: Total credit limited to 8 units with a maximum of 4 units per quarter.

Computer Science

For all CS courses with a prerequisite of MAT 105  and MAT 106 , MAT 112 , MAT 114 , MAT 115 , MAT 116 , MAT 214 , MAT 215 , or MAT 216 , the prerequisite may be satisfied by any of the subsequent MAT courses on this list.

  
  • CS 101 - Introduction to Computers for Non-CS Majors (4)


    Basic concepts of computer hardware and software. Computer Literacy. Detailed instruction in the use of a microcomputer software package including word processor, spreadsheet and database manager. Computer applications, impact of computers on society, responsibilities of the user.

    Component(s): 4 lectures/problem-solving.
    Note(s): Cannot be used for CS elective credit.
  
  • CS 128 - Introduction to C++ (4)


    Basic concepts of computer software and programming. Data types, expressions, control structures, functions, file and stream I/O. Use of pointers and dynamic storage allocation. Structured and abstract data types. Problem-solving techniques.

    Prerequisite(s): MAT 105  and MAT 106  with grades of C or better, or consent of instructor. Cannot be used for CS elective credit.
    Component(s): 4 lectures/problem-solving.
  
  • CS 130 - Discrete Structures (4)


    Fundamental topics for Computer Science, such as logic, proof techniques, sets, basic counting rules, relations, functions and recursion, graphs and trees.

    Prerequisite(s): eligibility for MAT 112  or minimum grade of C (2.0) or better in MAT 112 , or MAT 114 , or MAT 115 , or MAT 116 , or MAT 214 , or MAT 215 , or MAT 216 , or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 140 - Introduction to Computer Science (4)


    Basic concepts of Computer Science, including hardware and software. Problem-solving methods. Programming in an object-oriented language.

    Prerequisite(s): eligibility for MAT 114  or minimum grade of C (2.0) or better in MAT 114 , or MAT 115 , or MAT 116 , or MAT 214 , or MAT 215 , or MAT 216 , or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 141 - Introduction to Programming and Problem-Solving (4)


    Design, implementation, documentation and testing of programs in an object-oriented language. Modularization and reusability of software. File I/O and exception handling.

    Prerequisite(s): minimum grade of C (2.0) or better in CS 140  and MAT 114 , or MAT 115 , or MAT 116 , or MAT 214 , or MAT 215 , or MAT 216 , or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 200 - Special Study for Lower Division Students (1-2)


    Individual or group investigation, research, studies or surveys of selected problems.

    Minimum/Maximum Units: Total credit limited to 4 units, with a maximum of 2 units per quarter.
  
  • CS 210 - Computer Logic (4)


    Boolean algebra with applications to computers and logic design. The Arithmetic Logical Unit, logical properties of flip-flops and sequential machines. Applied projects.

    Prerequisite(s): CS 130  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 240 - Data Structures and Algorithms I (4)


    Abstract data types and their implementations. Linked and array-based data structures. Lists, stacks, queues. Recursion. Hashing and searching. Analysis of algorithms.

    Prerequisite(s): CS 130  and CS 141  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 241 - Data Structures and Algorithms II (4)


    Trees, priority queues, graphs, sets, and maps. Sorting algorithms. Random access, indexed and direct files. Indexing techniques.

    Prerequisite(s): CS 240  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 245 - Programming Graphical User Interfaces (4)


    Computer interfaces. Usability of interactive systems. GUI development processes. GUI components. Input and viewing devices. Event-handling. Animation use in GUIs. Problem-solving techniques.

    Prerequisite(s): CS 141  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures.
  
  • CS 256 - C++ Programming (4)


    Class encapsulation, inheritance, polymorphism, object storage management, and exception handling. Standard template library including template classes and generic algorithms. Software reuse and object-oriented programming.

    Prerequisite(s): CS 128  or CS 141  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 260 - Unix and Scripting (4)


    An introductory course that covers the fundamentals of the UNIX operating system and scripting. Emphasizing instruction in tools for file management, communication, process control, and program development.

    Prerequisite(s): Minimum grade of C (2.0) or better in CS 128  or CS 141  or consent of instructor.
    Component(s): 4 lectures.
  
  • CS 264 - Computer Organization and Assembly Programming (4)


    Von Neumann machine. Instruction set architecture. Addressing modes. Assembly programming. Arrays and records. Subroutines and macros. I/O and interrupts. Interfacing and communication.

    Prerequisite(s): CS 210  and CS 240  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 299/299A/299L - Special Topics for Lower Division Students (1-4/1-4/1-4)


    Group study of a selected topic, the title to be specified in advance.

    Prerequisite(s): consent of instructor.
    Component(s): Instruction is by lecture, laboratory or a combination.
    Minimum/Maximum Units: Total credit limited to 8 units, with a maximum of 4 units per quarter.
  
  • CS 301 - Numerical Methods (4)


    Error analysis, zeros of a function, systems of linear equations, interpolation, Chebyshev approximation, least squares approximation, numerical integration and differentiation, random processes.

    Prerequisite(s): MAT 208  and MAT 214  and either CS 128  or CS 240  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 311 - Formal Languages and Automata (4)


    Introduction to language translation. Regular expressions. Finite automata. Lexical analysis. Context-free grammars and push down automata.

    Prerequisite(s): CS 241  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 331 - Design and Analysis of Algorithms (4)


    Algorithm design techniques including divide-and-conquer, the greedy method, dynamic programming, backtracking, and branch-and-bound. Tractability. Complexity analysis using basic asymptotic notation.

    Prerequisite(s): CS 241  and MAT 208  with grades of C or better, or consent of instructor.
  
  • CS 352 - Symbolic Programming (4)


    Languages for processing symbolic data with emphasis on applications in artificial intelligence.

    Prerequisite(s): CS 241  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 356 - Object-Oriented Design and Programming (4)


    Elements of the object model. Abstraction, encapsulation, modularity and hierarchy. Structural and behavioral diagrams. Implementation and programming of system design. Comprehensive examples using a case study approach.

    Prerequisite(s): CS 241  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 365 - Computer Architecture (4)


    Data representations. Computer arithmetic. Data path and control unit design. Pipelining. Memory technology and hierarchy. I/O devices and interfacing. Multiprocessing and alternative architectures.

    Prerequisite(s): CS 210  and CS 264  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/ problem-solving.
  
  • CS 370 - Parallel Processing (4)


    The taxonomy of concurrent and parallel systems. Communication and synchronization, multicomputer and multiprocessor systems. Shared memory and message passing programming paradigms; parallel problem solving.

    Prerequisite(s): CS 256  and CS 331  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 375 - Computers and Society (4)


    Impact of computers on individuals and on society. Various current uses of computers, how these have evolved, and what the future might bring. Benefits and dangers of information technology. How the Internet and computers have fundamentally changed the way we work, play, and interact with others. Consequent rise of new social and legal issues, making it essential for everyone to acquire a working understanding of the role of computers in our daily lives. Course fulfills GE Interdisciplinary Synthesis B5 or D4.

    Prerequisite(s): Completion of GE Area A, two GE Area B sub-areas (1, 2, 3, or 4), and GE Area D (1, 2, and 3).
    Component(s): 4 lecture-discussions.
  
  • CS 380 - Computer Networks (4)


    Network architectures and standards. Layers and protocols. Circuit switching, packet switching and routing. Client-server concepts. Network security. Web computing. Privacy, intellectual property rights and acceptable use.

    Prerequisite(s): CS 241  and CS 264  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 400 - Special Study for Upper Division Students (1-2)


    Individual or group investigation, research, studies or surveys of selected problems.

    Minimum/Maximum Units: Total credit limited to 4 units, with a maximum of 2 units per quarter.
  
  • CS 408 - Programming Languages (4)


    Concepts in programming languages. Virtual machines and abstraction. Syntax and semantics. Declarations and types. Scoping and binding. Data abstraction. Control abstraction. Run-time organization. Programming paradigms.

    Prerequisite(s): CS 256 , CS 264 , and CS 311  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 411 - Compilers and Interpreters (4)


    Language translation systems. Parsing techniques. Run-time environments. Syntax-directed translation. Intermediate code generation and optimization.

    Prerequisite(s): CS 311  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 420 - Artificial Intelligence (4)


    Overview of the different application areas of AI. Introduction to basic AI concepts and techniques such as heuristic search, knowledge representation, automated reasoning. In-depth discussion of several AI application areas: their specific problems, tools and techniques.

    Prerequisite(s): CS 311  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 431 - Operating Systems (4)


    Overview of operating systems. Operating system structures. Process management. Concurrency and synchronization. Deadlock. Processor management. Scheduling and dispatch. Memory management. Virtual memory. Device management. File systems. Security, privacy and acceptable use.

    Prerequisite(s): CS 241  and CS 365  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 435 - Database Systems (4)


    Database system fundamentals. System components and architecture. Data models, including Entity-Relationship model, relational model and object-oriented model. Theory of database design and data manipulation processes using relational algebra and calculus. SQL in programming language environments. Introduction to concurrency, security, recovery, and transaction handling.

    Prerequisite(s): CS 241  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 445 - Computer Graphics (4)


    Basic concepts in 2D and 3D graphics. Graphics hardware. Drawing concepts in 2D and 3D graphics. Geometric transformations. Windowing and clipping algorithms. Simple hidden line and surface removal. Color models and applications. 3D modeling. Animation. OpenGL libraries.

    Prerequisite(s): CS 241  and CS 256  with grades of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 450 - Computability (4)


    Abstract models of computation, including Turing machines. Church- Turing thesis. Decidability. Theoretical and practical capabilities and limitations of computing machines.

    Prerequisite(s): CS 311  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 460 - Secure Communication (4)


    Public-key systems, digital signatures, ciphers, the Advanced Encryption Standard, access security, control of information flow.

    Prerequisite(s): CS 241  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 461 - Senior Project (2)


    Selection and completion of a project under faculty supervision. Projects typical of problems which graduates must solve in their fields of employment. Project results are presented in a formal report.

    Minimum/Maximum Units: Minimum of 120 hours total time.
  
  • CS 462 - Senior Project (2)


    Selection and completion of a project under faculty supervision. Projects typical of problems which graduates must solve in their fields of employment. Project results are presented in a formal report.

    Minimum/Maximum Units: Minimum of 120 hours total time.
  
  • CS 463 - Undergraduate Seminar (2)


    Technical presentations by students on current developments in computer science. Essays on seminar topics.

    Prerequisite(s): senior standing in computer science and a passing score on GWT.
    Component(s): 2 lecture discussions.
  
  • CS 470 - Game Development (4)


    Overview of game development processes. Game programming topics including: languages and architectures, mathematics, collision detection, physics, graphics, animation, artificial intelligence (AI), and audio.

    Prerequisite(s): Minimum grade of C (2.0) or better in CS 241  or consent of instructor.
  
  • CS 480 - Software Engineering (4)


    Models of the software development process and metrics. Software requirements and specifications. Methodologies, tools and environments. Human-computer interaction. Software design and architecture. Project management. Cost estimation. Testing and validation. Maintenance and evolution.

    Prerequisite(s): CS 241  with a grade of C or better, or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 481 - Software Engineering Practice (4)


    Team and project-oriented software engineering. Practice in the hands-on process of software production and quality control. Coverage of advanced topics such as embedded systems, real-time systems, and usage-oriented software design. Documentation and management methods for analysis, design, implementation and testing phases of software production. Survey and usage of CASE tools. Focus on issues of system integration and engineering, testing, and maintenance.

    Prerequisite(s): CS 435  and CS 480  with grades of C or better, or consent of instructor.
  
  • CS 490 - Honors (4)


    In-depth study of a topic of current interest to computer science. Students will be expected to perform individual research and projects and present their results in class. Enrollment is limited.

    Prerequisite(s): consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 499/499A/499L - Special Topics for Upper Division Students (1-4/1-4/1-4)


    Group study of a selected topic, the title to be specified in advance.

    Prerequisite(s): consent of instructor.
    Component(s): Instruction is by lecture, laboratory or a combination.
    Minimum/Maximum Units: Total credit limited to 8 units, with a maximum of 4 units per quarter.
  
  • CS 510 - Computer-Assisted Instruction (4)


    General techniques for designing computer systems to provide individualized instruction. Program structure, instruction layout, scoring systems and data organization methods. Existing CAI packages and development of new packages. Hardware requirements for audio-visual effects.

    Prerequisite(s): CS 420  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 515 - Automated Reasoning (4)


    Logical foundations, logical representation of knowledge, unification, theorem proving, deductive databases, logic programming, program verification and synthesis, nonstandard logics, epistemic logic, temporal logic.

    Prerequisite(s): CS 420  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 517 - Natural Language Processing (4)


    Grammatical structure and parsing of natural language, representations of meanings (semantics), story understanding and generation, applications.

    Prerequisite(s): CS 420  and PHL 202 , or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 519 - Computer Vision (4)


    Representation of images, image data acquisition, methods of object recognition, representation of visual knowledge, boundary detection, texture, motion, the problem of occlusion, applications.

    Prerequisite(s): CS 420  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 521 - Robotics (4)


    Software for intelligent robotics. Robot control paradigms. Robotic behaviors. Sensing. Navigation, planning, localization, and mapping.

    Prerequisite(s): CS 241 , CS 256  and senior or graduate standing.
    Component(s): 4 lectures/problem-solving.
  
  • CS 523 - Expert Systems (4)


    Expert systems construction. Knowledge representation, utilization and acquisition. Rule-based systems, fuzzy logic, knowledge engineering.

    Prerequisite(s): CS 420  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 525 - Advanced Computer Architecture (4)


    Architecture and organization of high performance computers. Principles of instruction sets. Pipelining, instruction level parallelism and multiprocessor. Memory, storage, and interconnection. Quantitative analysis and evaluation of design alternatives. Historical developments. Architectural tradeoffs and innovations.

    Prerequisite(s): CS 365  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 530 - Advanced Algorithm Design and Analysis (4)


    Advanced problem domains, including graph problems, pattern matching, compression, network flow and transforms. Amortized and average case analysis. Lower bounds. Approximation techniques. Probabilistic algorithms.

    Prerequisite(s): CS 331  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 531 - Computability and Complexity Theory (4)


    Formalizing problems and algorithms. Characterizations and properties of computability classes, undecidability. Complexity classes. NP-complete problems, proof of NP-completeness.

    Prerequisite(s): CS 311  and CS 331 , or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 535 - Parallel and Distributed Algorithms (4)


    Models of parallel and distributed computation. Design and analysis of algorithms for parallel and distributed systems. Basic techniques, classic problems. Parallel and distributed complexity classes. Hardware and software issues involved in parallel and distributed problem solving.

    Prerequisite(s): CS 331  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 537 - Scheduling Algorithms (4)


    The alpha/beta/gamma notation. Scheduling theory. Deterministic scheduling. Basic scheduling algorithms. Single machine models. Parallel machine models. Other scheduling models. Real-time scheduling. Applications.

    Prerequisite(s): CS 530  or consent of instructor.
    Component(s): 4 lectures.
  
  • CS 540 - Topics in Compiler Design (4)


    Code and loop optimization. Data flow analysis. Syntax-directed translation.

    Prerequisite(s): CS 411  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 541 - Programming Language Semantics (4)


    Operational, denotational and axiomatic semantics of programming languages. Vienna definition language, w-grammars, LISP definition.

    Prerequisite(s): CS 408  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 555 - Computer Image Processing (4)


    Digital picture processing. Mathematical preliminaries for image processing. Visual perception. Digitization and compression. Image enhancement, restoration and reconstruction.

    Prerequisite(s): MAT 214  and CS 331 , or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 560 - Bioinformatics for Computer Scientists (4)


    Overview of molecular biology including genomics and proteomics. Alignment, phylogenic tree and search algorithms. Survey of existing bioinformatics tools. Coverage of sequence search and alignment algorithms. Application of AI techniques including neural network, heuristics and genetic algorithms for problem solving. Usage of script languages for solving problems in bioinformatics. Visualization of biological and chemical data. Hardware and software aspects of microarray.

    Prerequisite(s): CS 420  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 565 - Advanced Computer Networks (4)


    Issues in network architectures and standards. Network design. Performance evaluation and monitoring. Network management and security. High-speed networking technologies. Wireless networks and mobile computing. System architecture and network programming.

    Prerequisite(s): CS 380  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 566 - Distributed Computing Systems (4)


    Processors and processes in distributed systems. Distributed operating systems. Transactions and distributed file servers. Fault tolerance. Performance analysis. Cluster computing. Prototypes and commercial distributed systems.

    Prerequisite(s): CS 380  and CS 431 , or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 570 - Human Computer Interaction (4)


    Principles of human factors, computer technology, and their interactions. Theory and practice of user interface design and evaluation. Special topics such as graphical user interfaces, graphics programming, multisensory systems, and computer-supported cooperative work.

  
  • CS 575 - Topics in Database Systems (4)


    Advanced SQL programming. Trigger and stored procedure. Relational, object-oriented, object-relational, and semi-structured modeling and databases. Techniques and algorithms of database design. Query languages for different database models. XML and Web data. Distributed database. Information integration. Data warehouses. Data mining.

    Prerequisite(s): CS 435  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 580 - Advanced Software Engineering (4)


    Software metrics and models. Software development methodologies. Advanced topics in object-oriented software engineering. Formal methods for modeling and specification. Software architecture. Software testing. Real-time software development. Recent developments in software engineering.

    Prerequisite(s): CS 480  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 585 - Software Verification and Validation (4)


    Techniques for evaluating software quality and integrity. Quality assessment, proof of correctness, testing methods.

    Prerequisite(s): CS 480  or consent of instructor.
    Component(s): 4 lectures/problem-solving.
  
  • CS 599/599A/599L - Special Topics for Graduate Students (1-4/1-4/1-4)


    Group study of a selected topic, the title to be specified in advance.

    Prerequisite(s): consent of instructor.
    Component(s): Instruction by lecture, activity, laboratory or combination.
  
  • CS 664 - Graduate Seminar (2)


    Topics chosen according to the interests and needs of the students.

    Prerequisite(s): Unconditional standing required.
    Repeatable: May be repeated for a maximum of 4 units.
  
  • CS 691 - Directed Study (1-3)


    Individual study program under supervision of master’s thesis advisor. Presentation of proposal for thesis in acceptable written form. Credit assigned upon acceptance of proposal by thesis committee. Open only to unconditional students with approval of thesis advisor.

    Repeatable: Must be repeated as appropriate.
    Minimum/Maximum Units: Total credit, 3 units.
  
  • CS 695 - Master’s Degree Project (1-2)


    Independent work on practical application of an existing methodology or procedure under supervision of a project advisor. Credit assigned upon successful completion of project and oral presentation.

    Prerequisite(s): Pass or waiver for the GWT and CS 691 .  Advancement to Candidacy and approval of project committee required.
    Minimum/Maximum Units: Total credit limited to 2 units, but may be repeated until completion.
 

Page: 1 <- 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15Forward 10 -> 40