| |
|
NOTE: In order to enroll in any baccalaureate-level Mathematics or Computer Science course, freshmen must satisfy the Entry-Level Mathematics (ELM) requirement. Transfer students must also pass the ELM if they have not completed a course above the level of Intermediate Algebra with a grade of "C" or better.
UNDERGRADUATE COURSEWORK
GRADUATE COURSEWORK
Course Descriptions
Undergraduate Coursework
Computers, their use and place in modern society. Computer organization
and hardware, computer software. Introduction to use of the computer,
operating system commands, word processing, database management, other
applications, and computer programming. Internet and its use. Ethical
and societal issues.
Prerequisite: Satisfaction of the Entry Level Math (ELM) requirement. No prior
computer experience necessary; course recommended for students of any major
who want to learn about computers and how to use them.
CS 1060 Introduction to
Computer Programming and Bioinformatics (4)
Introduction to computers, problem solving, algorithms, and program
design; control structures, arrays, functions, input/output, files
(C++ or other language). Introduction to tools for the Internet and
operating systems (UNIX, etc.), with emphasis on methods useful for
bioinformatics.
Prerequisite: MATH 1300; CS 1020 recommended for those
without computer experience.
CS 1160 Introduction to Computer Science and Programming Methods. (4)
An introduction to computers, problem solving, algorithms and program design.
Use of University computing facilities. Programming done in C++.
Topics include control structures, arrays, functions, input and output.
Prerequisite: MATH 1300 or equivalent; students with no
computer experience are encouraged to take CS 1020 as preparation for
the course.
CS 2170 C Language Programming (2)
Programming in the C language, especially in a Unix Environment. Not open for credit to students with a previous course in C or C++ programming.
Prerequisite: A previous course in programming.
CS 2360 Programming Methods and Intro to Software Engineering (4)
A systematic approach to the design, construction and management of large computer programs, emphasizing programming style, documentation, debugging techniques and testing. Includes files, structured data types, information hiding, pointers, and linked lists.
Prerequisite: CS1160
CS 2430 Computer Organization and Assembly Language Programming (4)
Functional organization of digital computers and programming in machine and assembly language. Internal representation of data, binary arithmetic, machine instructions, addressing modes, subroutine linkage, macros. Introduction to assemblers, linkers, and loaders.
Prerequisite: An introductory programming course.
CS 3120 Programming Language Concepts (4)
Survey and critical comparison of a variety of computer languages. Issues include syntax, semantics, control structures, data representation. Discussion of both design and implementation; of both imperative and declaritive languages.
Prerequisite: CS 2360, CS 2430
CS 3240 Data Structures and Algorithms (4)
Definition, design, implementation of abstract data structures, including stacks, queues, generalized lists; implementation as contiguous or linked structures. Structures include tables,hashing, trees and graphs. Algorithms for manipulating structures, searching, sorting; introduction to the analysis of these algorithms. Prerequisites: MATH 2150, CS 2360, CS 2430
CS 3340 Introduction to Object Oriented Programming and Design(4)
Programming in an object-oriented language, using object-oriented techniques and concepts. Classes, operator overloading, information hiding, inheritance, and polymorphism. Memory management. Parameterized classes. Exception handling. Object-oriented design of programs.
Prerequisites: CS 3240, and knowledge of C or C++.
CS 3430 Computer Architecture and Algorithms (4)
Logical design of digital computers. Boolean algebra, combinatorial and sequential circuits, computer arithmetic, memories, integrated circuits, control processors, input/output.
Prerequisites: MATH 2150, CS 2430 (No electronics experience needed)
CS 3432 Digital Design Lab (4)
Design assembly and test of combinational and sequential circuits.
Digital systems design using computer-aided-design tools and
programmable logic devices.
Prerequisite: CS 3430
CS 3434 Microprocessor Lab (4)
Microprocessor organization and operation; hardware/software interaction;
memory, serial and parallel I/O port interfacing; interrupt-handling.
Prerequisite: CS 3430
CS 3520 Web Site Development (4)
Web servers and browsers. HTML, images, audio and video files, indexer, forms, CGI scripts, Java programming, Java script.
Prerequisite: CS 3240
CS 3560 Introduction to Systems Programming (4)
Introduction to systems programming in a modern environment. Introduction to fundamental concepts of operating systems; analysis of a particular operating system (organization, interfaces, system calls, files, process control and communication, resource sharing) Shell and C programming. Development tools.
Prerequisite: CS 2360
CS 3590 Data Communications and Networking (4)
Fundamentals of data communications: media, transmission, encoding and processing, interfacing, error detection and handling, link control, multiplexing, circuit and packet switching. Introduction to network architecture and topology: local and wide area networks.
Prerequisites: CS 3430 and knowledge of C or C++
CS 3750 Numerical Analysis II (4)
Basic numerical methods and analysis; practical solutions of problem from engineering, science and mathematics. Computer representation of real numers, errors, root finding, interpolation, numerical integration, ordinary differential equations.
Prerequisites: CS 1160, MATH 2101 and MATH 2304
CROSS-LISTED: MATH 3750
CS 3752 Introduction to Digital Signal Processing (4)
Mathematical modeling of signals and systems.
Continuous and discrete signals, with applications to audio, images,
video, communications, and control. Frequency domain modeling and
frequency response. Sampling of continuous-time signals. A
simulation-based laboratory is part of the course.
Prerequisites: MATH 1304, MATH 2101, CS 1160
CROSS-LISTED: ENGR 3752
CS 3860 Computer Music Programming (4)
Introduction to the concepts and software techniques of computer music. Students write programs to produce sounds, process sounds, and organize sounds into musical structures. Fundamentals of digital audio. Synthesis techniques. Reverberation and sound spatialization. Algorithmic composition. Computer languages for synthesis and scoring. The MIDI standard.
Prerequisities: MATH 1300 and CS 1160
CS 3898 Cooperative Education (2)
Supervised work experience in which student completes academic assignments integrated with off-campus paid or volunteer activities. May be repeated for up to 8 units. A maximum of 4 units will be accepted towards the Computer Science major. CR/NC grading only.
Prerequisites: at least 2.0 GPA; departmental approval of activity; completion of lower division Computer Science major requirements, and upper division standing.
CS 4020 Computing and Social Responsibility (4)
Social impact and ethical aspects of computing: responsibility of practicing professionals, effects on privacy, security, property rights of individuals and institutions, etc. Topics include system reliability, intellectual property, computer crime, attacks on computer systems, and societal dependence on computers.
Prerequisites: CS 3240 or permission of instructor
CS 4110 Compiler Design (4)
Design and construction of high-level language translators. Formal language theory, parsing algorithms, interpreting, code generation, optimization. Construction of a small compiler.
Prerequisites: CS 3120 and CS 3240
CS 4170 Theory of Automata (4)
Formal models of automata, language, and computability and their relationships. Finite automata and regular languages. Push-down automata and context-free languages. Turing machines, recursive functions, algorithms and decidability.
Prerequisites: MATH 2101, MATH 2150, MATH 2304
CROSS-LISTED: MATH 4170
CS 4245 Analysis of Algorithms (4)
Design, analysis and implementation of algorithms. Methods of algorithm design, including recursion, divide and conquer, dynamic programming, backtracking. Time and space complexity analyses in the best, worst, average cases. NP-completeness; computationally hard problems. Applications from several areas of Computer Science.
Prerequisites: MATH 2101, MATH 2304, CS 3240
CROSS-LISTED: MATH 4245
CS 4310 Software Engineering I (4)
Concepts and issues in the development of large software projects.
Systematic approaches to requirements, analysis, design,
implementation, testing, and maintenance of high-quality software. Prerequisitie: CS 3240
CS 4311 Software Engineering II (4)
Continuation of Software Engineering I with emphasis on the object-oriented design
to implementation stages of the life cycle. Design methodologies including the
Unified Modeling Language, illustrated with example design patterns. Implementation
in Java. Topics include standards, documentation, instrumentation, testing.
Prerequisities: CS 3340, CS 4310
CS 4320 Software Testing and Quality Assurance (4)
Concepts and issues in the testing and quality control of large
software projects. Topics include white box, black box, unit,
integration, and validation testing; quality assurance through
planning, review, and use of software metrics.
Prerequisite: CS 3240
CS 4330 Building Secure Software (4)
Security and safety analysis in software design and development.
Vulnerability detection and avoidance. Topics include authentication,
principle of least privilege, buffer overflows, race conditions,
time-of-check vs. time-of-use, trust management, access control,
and other security relevant issues.
Prerequisite: CS 3240
CS 4430 Computer Architecture II (4)
Advanced computer organization and design. Topics chosen from among RISC architectures, computer arithmetic, pipelining, cache memory and parallel processors.
Prerequisite: CS 3430; recommended: knowledge of C programming.
CS 4432 VLSI Circuit Design (4)
Fundamental design techniques for VLSI (Very Large Scale Integrated) circuits. Theory of implementing complex integrated circuits on a microchip. Use of computer aided design tools.
Prerequisites: CS 3430 and CS 3432
CS 4560 Operating Systems (4)
Prerequisites: CS 3240 and CS 3430
CS 4525 Principles of Network Security (4)
Computer network security fundamentals. Cryptography (Symmetric key algorithms and
Public key algorithms). Authentication and identification, message integrity techniques.
Access control and key management. Wireless security. Discussion of particular protocols,
e.g., IPSEC, TLS, PGP, S/MIME, etc.
Prerequisite: CS 3590
CS 4560 Operating Systems (4)
Principles of operating system design and implementation. Concurrent processes, interprocess communication, job and process scheduling; deadlock. Issues in memory management (virtual memory, segmentation, paging) and auxiliary storage management (file systems, directory structuring, protection mechanisms). Performance issues. Case studies.
Prerequisites: CS 3240 and CS 3430
CS 4590 Computer Networks (4)
Computer network analysis, design, and implementation. Detailed study of specific standard models (e.g. ISO) implementations (e.g. SNA, DECNET), and protocols (e.g. IP, TCP, TLI). Emphasis on network to application layers. Remote procedure calls. Programming assignments using TCP/IP.
Prerequisites: CS 3590 and CS 4560
CS 4592 Network Operations and Administration (4)
Network operations, administration, and management. Management
Information Base (MIB). Standards including SNMP, CMIP, ASN-1.
Network management programming. Network Management of Ethernet,
TCP/IP, ATM. Survey and applications of existing network
management systems.
Prerequisites: CS 3590, CS 4594 and CS 4590
CS 4594 Broadband Networks and Communications (4)
Principles of broadband networks and communications. Telephone system structure, signaling, services, and protocols. Circuit, packet and cell switching. Broad-band signaling and traffic management. Advanced switch technology. Case studies: SONET, SDH, frame relay, B-ISDN, Asynchronous mode Transfer (ATM), IP and multimedia over ATM. Prerequisite: CS 3590
CS 4596 Wireless and Mobile Networking (4)
Network protocols and mechanisms to support mobility, e.g.,
Mobile-IP, M-RSVP, proxies. Issues including routing, tunneling,
security, and handoffs. Wireless communication standards,
including AMPS, IS-95, GSM, PCS, and satellite standards.
Underlying technologies including multiplexing and coding.
Prerequisite: CS 3590
CS 4660 Database Architecture (4)
Relational, network, and hierarchical data models. Data description and data manipulation languages. Schemas, query processing, database system architecture. Integrity, concurrency, and security techniques. Distributed databases.
Prerequisite: CS 3240
CS 4665 Database Operations and Administration (4)
Topics in the operation and administration of databases, including database creation, account maintenance, data import and export, system backup, and performance tuning. Hands on experience administering an Oracle database.
Prerequisite: CS 4660
CS 4750 Numerical Analysis II (4)
Continuation of MATH 3750. Numerical solutions of linear systems, matrix norms, approximation of functions, algebraic eigenvalues.
Prerequisite: CS/MATH 3750
CROSS-LISTED: MATH 4750
CS 4810 Artificial Intelligence (4)
"Intelligent" computer programs and models of human intelligence. Game playing, robotics, computer vision, understanding natural language, knowledge engineering, computer learning.
Prerequisite: CS 3240
CS 4835 Human-Computer Interaction (4)
Human-centered software development and evaluation, human performance
models, accommodating human diversity, principles of good design and good
designers, introduction to usability testing. HCI aspects of multimedia
systems, information systems, and collaboration and communication. Course
work includes programming projects and fieldwork.
Prerequisites: CS 3120 or CS 3340; CS 3240, or consent of instructor
CROSS-LISTED: ENGR 4835, PSYC 4835
CS 4840 Computer Graphics (4)
Survey of computer graphics hardware, algorithms, techniques, and standards. Software development on a color-mapped raster-scan computer graphics system.
Prerequisites: MATH 2101, MATH 2304, CS 3240, CS 3430
CS 4845 Fuzzy Sets and Fuzzy Logic (4)
Fuzzy set theory, fuzzy logic, approximate reasoning and relations between fuzzy set theory,
probability theory, belief theory, and possibility theory. Fuzzy aggregation operators,
fuzzy relations, and fuzzy clustering. Class project options: decision making, pattern
recognition, databases, control, data mining.
Prerequisites: CS 1160, MATH 2150, and a course in probability or statistics; or permission of instructor.
CS 4848 Computer Animation Programming (4)
Principles and techniques used to produce software for computer-generated animations. Survey of traditional animation techniques. Issues in 3-D viewing, rendering, and modeling. Motion specification and interpolation. Physically-based and behavioral modeling.
Prerequisite: CS 4840
CS 4849 Game Programming (4)
Survey of technologies for programming computer games.
Topics include: mathematics, data structures, graphics (rendering,
animation, cinematography), game logic, scripting, networking and
server design, audio, aritficial intelligence.
Prerequisites: CS 4810 or CS 4840; or equivalent experience.
CS 4865 Graphical User Interface Programming using a Rapid Application Development Tool (4)
Event-driven driven programming in a windowed Graphical User Interface environment using a Rapid
Application Development tool set. Pull-down menus, tool bars and other standard control objects,
pointing devices, object hierarchy, standard dialogs, connecting to databases, state table programming.
Prerequisite: CS 3340
CS 4900 Independent Study (1-5)
Prerequisites: Permission from Instructor and Dept Chair
Graduate Coursework
- Enrollment in these courses is restricted to `Classified' and `Conditionally Classified Graduate' students. Others may enroll
with permission of the Department.
- CS 6000 Research Methodologies (2)
Seminar in recent research in Computer Science. Use of periodical and non-periodical literature for research in computer science. Students read, analyze, present, and discuss papers of current interest in Computer Science.
Prerequisite: "Classified Graduate" standing in Computer Science M.S. degree program and permission of instructor
- CS 6005 Teaching Computer Science at the University Level (1)
Theory, methodology, and practical experience in the teaching of computer science
at the university level. Includes discussion of lecturing techniques,
analysis of tests and supporting material, preparation and grading of
examinations, and related topics. Required of departmental teaching associates.
May be repeated for credit but only two units can be used toward the M.S. degree.
Prerequisite: permission of department (normally available to
teaching associates only)
- CS 6110 Theory and Design of Compilers (4)
Grammars and parsing techniques, advanced theory and methods of code generation, code optimization, error recovery, use of compiler-generator tools.
Prerequisite: CS 4110
- CS 6140 Language Design (4)
Topics in design and use of programming languages: object oriented languages, functional and applicative languages. Exception handling, parallel processing and concurrency control. Fourth generation languages.
Prerequisites: CS 3120 and CS 4110
- CS 6170 Automata and Formal Languages (4)
Deterministic and nondeterministic finite automata. Regular grammars, languages, and expressions. Kleene's Theorem, algebraic characterizations. Chomsky hierarchy. Languages: regular, context free, context sensitive, recursive, type 0. Normal forms, pushdown automata, pumping lemmas, closure. Time and tape bounded Turing machines. Decision problems.
Prerequisites: MATH 2101, MATH 2150, MATH 2304
- CS 6245 Combinatorial Algorithms (4)
Design and analysis of efficient combinatorial algorithms. Graph theory and algorithms: flows in networks, max flow/min cut theorem. Theorems of Menger, Hall, Tutte, Dilworth. Examples of algorithms drawn from matching, max-flow, min-cost flow, Hitchcock Problem, weighted matching, linear programming. NP-complete problems, approximation algorithms.
Prerequisites: CS 4245 and MATH 4151 (recommended)
- CS 6260 Computational Complexity (4)
Languages and algorithms; decision problems; Turing machines and Turing-Completeness;
decidability; measures and classes of time and space complexity (e.g. P, NP, PSPACE);
NP-Completeness.
Prerequisites: CS 4170 (or CS 6170) and CS 4245; or permission of instructor
CROSS-LISTED: MATH 6260
- CS 6310 Advanced Software Engineering (4)
Advanced concepts of object-oriented and architectural design, along with implementation.
Pattern-based design of software using the Unified Modeling Language.
Design patterns as re-usable architecture.
Prerequisite: CS 3340
- CS 6315 Object-Oriented Software Development for Telecommunications (4)
Networking and telecommunications APIs. Class libraries for
networking and distributed services. Object-oriented software
development tools, languages, and techniques. Programming
exercises.
Prerequisites: CS 3240, CS 3590
- CS 6320 Software Engineering of Web-Based Systems (4)
Current practices and trends in software design, development, and deployment of web-based systems, with particular emphasis on e-commerce.
Projects include the latest technologies and techniques used by the Internet community.
Prerequisites: CS 3520, CS 3340 or permission of instructor
- CS 6340 Advanced Topics in Object-Oriented Programming and Design (4)
Advanced topics in Object-Oriented programming and design using the Java
platform. Threads, Platform-independent Network Programming, Distributed
Objects, Remote Method Invocation, CORBA, Data Base Connectivity,
Persistence and Serialization, Java Beans, Enterprise Java Beans,
Advanced GUI Design.
Prerequisite: CS 3340
- CS 6360 Formal Specification and Verification (4)
Fundamental techniques of program specification and verification. Inductive methods for proving program correctness, including invariant, inductive and intermittent assertion methods and subgoal, structural and computational induction.
Prerequisites: CS 3240, MATH 2150 (or upper division mathematics course in which theorems are proved)
- CS 6425 Digital Design using Verilog HDL (4)
Traditional and contemporary design paradigms; top down design
methods using Hardware Descriptive Languages (HDL); examples
ranging from simple circuits to complex design; other topics
include logic synthesis, timing analysis, design for
testability, comparison of Verilog HDL and VHDL.
Prerequisites: CS 3240, CS 4560
- CS 6430 Computer System Architecture (4)
Processor design: register transfer, processor control, microprogramming. Design of instruction sets. Pipelining. Microprocessor-based architectures. RISC architectures. Memory hierarchies and organization: cache, RAM, mass storage. Addressing mechanisms, I/O organization: polling, interrupts, DMA. Highly parallel architectures
Prerequisites: CS 3430, CS 3432 and/or CS 3434 recommended
- CS 6432 VLSI Systems Design (4)
The use of a highly integrated suite of CAD (Computer Aided Design) tools to design and test a bit sliced microprocessor that implements concepts from CS 6430, Computer System Architecture.
Prerequisites: CS 3430 and CS 3432 or consent of instructor
- CS 6458 Optical Fiber Technologies (4)
Theory of light propagation in optical fibers, bandwidth and
attenuation of fiber optic systems, principles of semiconductor
lasers and photodiodes, noise in optical receivers, modulation
techniques, coherent optical communication systems.
Prerequisite: TC 6101 CROSS-LISTED: TC 6458
- CS 6520 Cryptography and Data Security (4)
Cryptographic theory with applications to data and file access security. Substitution ciphers, stream and block cyphers, algebraic codes, error correcting codes, Shannon's theorem. Cryptosystems, including public key. The Data Encryption Standard. Issues of privacy, authenticity, integrity. Implementation issues, including key management and chaining.
Prerequisites: CS 4560, CS 4170 or CS 4245, and a course in probability; or permission of instructor.
- CS 6522 Advanced WWW Software Development (4)
Advanced WWW system architecture and software development. Database
access, 2- and 3-tier systems, objects and components, ORB,
CORBA, COM, ActiveX, Java Beans. Programming exercises.
Prerequisites: CS 3340 and either CS 3520 or TC 3320; or permission of instructor.
- CS 6525 Network Security (4)
Principles of secure network communications. Techniques of
authentication and identification, cryptographic key distribution
and management, assurances of data integrity. Access control.
Security policy; conformance of implementation to policy.
Particular systems, protocols, and utilities, e.g., Kerberos,
firewalls, various commercial standards.
Prerequisite: TC 6205
- CS 6560 Operating Systems Design (4)
Theory of operating systems. Process synchronization, concurrency, resource management, security, performance evaluation, analytic models, human interfaces. Implementation issues.
Prerequisite: CS 4560
- CS 6570 Distributed Computation (4)
Classical problems which abstract real-world network problems. Process synchronization and communication using message-passing systems. Topics may include mutual exclusion, leader election, global snapshots, Byzantine generals, consensus, shared registers, common knowledge and distributed spanning trees.
prerequisite: CS 4560
- CS 6580 Distributed Systems(4)
Issues in the design and implementation of distributed systems. Network layers, architectures, and topologies. Distributed process management, concurrency control, deadlock, and recovery.
Prerequisites: CS 4560 and CS 4590
- CS 6591 Communication Network Analysis and Design (4)
The practice of network analysis and design. Topics include estimation of traffic demand,
requirements specification, topology design, network cost analysis, routing, wired and
wireless technologies, design tools, fault tolerance, and design of a LAN or WAN.
Prerequisite: CS 4590
- CS 6592 Network Management (4)
Computer network management concepts, protocols, and industry standards.
SNMP, CMIP, and web management. Management applications including fault, performance,
configuration, accounting, and security management. Management tools and network modeling.
Prerequisites: CS 4590
- CS 6596 Wireless and Mobile Network Architecture (4)
Wireless network architectures including cellular, WLAN, and satellite systems.
Signal propagation models and reception techniques. Mobile computing issues including
location management, routing, transport, and mobile application design.
Prerequisite: CS 3590
- CS 6660 Database Systems (4)
Design issues in current database systems: data models, storage management and access, distributed systems, query languages and query optimization, database integrity and security, encryption and decryption, concurrency control. Prerequisites: CS 4560, CS 4660
- CS 6665 Database Systems Administration (4)
Database system architecture and issues in administration. Advanced techniques in database security, object management, performance analysis, SQL tuning, backup and recovery. Hands on experience administering an Oracle database.
Prerequisite: CS 4660
- CS 6715 Data Compression (4)
Algorithms for data compression. Huffman coding, arithmetic
coding, Lev-Zimpel coding. Adaptive variations of compression
algorithms. Lossless and lossy compression. Transform methods
and image compression. Coding theory and infor- mation-theoretic
bounds. Applications to data transmission.
Prerequisites: CS 3240, Stat 3401 or 3502
- CS 6750 Topics in Advanced Numerical Analysis (4)
Topics selected from approximation theory; spline theory; numerical linear algebra; the algebraic eigenvalue problem; numerical solutions to non-linear systems of equations, partial differential equations, and boundary value problems. May be repeated for credit with consent of Mathematics Graduate Studies Committee.
Prerequisites: MATH 4750 and MATH 3301 or consent of instructor
CROSS-LISTED: MATH-6750
- CS 6752 Digital Signal Processing (4)
Linear systems and complex numbers, Fourier and Z transforms,
A/D and D/A conversion techniques, Discrete Fourier Transform,
Fast Fourier Transform, linear prediction, digital filters,
speech processing.
Prerequisites: MATH 1304, MATH 2101 and CS 3240
- CS 6800 Topics Seminar (4)
Presentation of selected topics beyond regular courses. Subjects will vary.
Prerequisites: "Classified Graudate" standing in Computer Science M.S. degree program and consent of instructor
- CS 6810 Topics in Artificial Intelligence (4)
Knowledge representation and reasoning. Theory and advanced
programming techniques. Topics selected from areas of expert
systems, natural language processing, image understanding,
machine learning, games, and robotics.
Prerequisite: CS 3240
- CS 6815 Artificial Intelligence in Telecommunications (4)
Overview of TMN architectures and requirements to knowledge based
models in telecommunications. Knowledge representation models:
semantic networks, production rules, frames. Learning models:
case-based reasoning and artificial neural networks. Distributed
AI. Intelligent agents. Implications to network management:
fault maintenance, configuration planning, intelligent routing,
learning traffic and filtering traffic patterns. Hands-on
practice and laboratories with ART* Enterprise object-oriented
environment for designing distributed knowledge based systems.
Prerequisite: TC 6101. Cross-listed with TC 6815.
- CS 6820 Machine Learning (4)
Advanced topics in Artificial Intelligence, including induction, decision trees, ensemble learning; current-best-hypothesis search, knowledge representation, explanation-based learning, relevance information, inductive logic programming; Bayesian networks, instance-based learning; neural networks and genetic algorithms; reinforcement learning, and adaptive dynamic programming.
Prerequisite: CS 4810 or CS 6810
- CS 6825 Computer Vision (4)
Mathematical and algorithmic approaches to the problem of computing
properties of the 3-D world from one or more digital images.
Imaging, image processing, feature detection, calibration, stereopsis,
motion, object recognition, tracking.
Prerequisites: MATH 2101, MATH 2304 and CS 3240
- CS 6830 Genetic Algorithms and Evolutionary Programming (4)
Theoretical and practical foundations of the design, complexity and correctness of
genetic programs and classifier systems; the formal properties of various evolutionary
approaches; the design of new genetic operators, representations and fitness functions
for specific practical and scientific applications.
Prerequisite: CS 4810
- CS 6835 Pattern Recognition (4)
Fundamentals of characterizing and recognizing patterns in numerical data.
Signal recognition problems in user modeling; affect recognition, speech
recognition and understanding, and more. Topics include: decision theory,
statistical classification, maximum likelihood/Bayesian estimation,
non-parametric methods, unsupervised learning, and clustering.
Prerequisites: Ability to program and STAT 3601 or equivalent
- CS 6840 Principles of Computer Graphics (4)
Advanced graphics algorithms including viewing, scan conversion, hidden line, hidden surface, ray tracing, shading and lighting, fractals. Solid modeling. Software packages, development, and standards. Software development on advanced graphics workstations.
Prerequisite: CS 4840
- CS 6844 Digital Image Processing (4)
Digital image acquisition, display, analysis, manipulation,
and transmission. Color space conversion, convolution,
geometric transformations, and compression. Programming
exercises.
Prerequisite: TC 6161. Cross-listed with TC 6844.
- CS 6865 Topics in Graphical User Interface Programming (4)
Topics from event-driven programming using a windowed Graphical User Interface environment
and Rapid Application Development tools. Standard control objects and more.
Interaction design issues and human-computer interaction.
Prerequisite: CS 3340.
- CS 6870 Computer Simulation (4)
Introduction to construction and analysis of models by computer simulation. Study of one discrete and one continuous simulation language. Application to modeling biological, industrial, and physical processes.
Prerequisites: MATH 3100, MATH 3331, and a course in computer programming
CROSS-LISTED: MATH 6870
- CS 6900 Independent Study (1-4)
Prerequisites: Permission from Instructor and Dept Chair
- CS 6909 Department Thesis (1-4)
Development and writing of a research paper for submission to the department, which specifies its format. Supervision by a departmental committee, at least one of which must be a CSUEB faculty member. May be repeated for a maximum of 5 units.
Prerequisites: CS 6000, advancement to candidacy, and approval of thesis proposal by advisor and departmental committee.
(See also, University Thesis Writing Guide)
|