Computer Science M.S.
Courses
COURSE OFFERINGS IN COMPUTER SCIENCE (CSCI)
Upper Division
500. Introduction to Formal Languages and Automata (W)
Introduction to formal language theory. Finite state machines, regular grammars, context-free grammars, context-sensitive grammars, push-down automata, closure properties. Prerequisite: CSCI 331 or consent of instructor. (4 units)
510. Advanced Computer Architecture (W)
High performance computer architectures and algorithms including pipeline, vector, array, multi-processor computer designs, applications, and programming. Also covered are data flow and systolic machines, interconnection networks, and graph and parallel graph algorithms. Formerly CSCI 410. Three hours lecture and two hours laboratory. Prerequisite: CSCI 401. (4 units)
511. Expert Systems
Expert systems components, problems and applications. Knowledge bases, inference "engines," and their integration within expert systems. Tools for building expert systems, system algorithms as related to hardware, implementation languages and examples of systems in operation. Prerequisite: CSCI 330. (4 units)
512. Introduction to Artificial Intelligence (W)
Problems and issues of artificial intelligence, current techniques and methods, and future prospects of machine intelligence. Three hours lecture and two hours activity laboratory. Formerly CSCI 411. Prerequisite: CSCI 330. (4 units)
513. Advanced Artificial Intelligence (S)
Advanced issues and techniques in artificial intelligence; intelligent agents for problem solving, reasoning and learning; advanced artificial intelligence programming in LISP. Three hours lecture and two hours activity laboratory. Prerequisite: CSCI 512 or consent of instructor. (4 units)
515. Automated Reasoning (F)
Study of deduction algorithms for expert systems and the limitations thereof, propositional calculus, quantification theory, completeness and incompleteness theorems, Hebrand-Godel computability, resolution principle, equality and inequality relations. Prerequisite: CSCI 431. (4 units)
520. Advanced Computer Graphics (S)
Advanced computer graphics concepts, theory and implementation techniques. Topics include shading models, parametric curves and surfaces, hidden edge and surface removal, and anti-aliasing. Prerequisites: CSCI 420, and either CSCI 535 or MATH 213. (4 units)
521. Field Programmable Gate Array Design
FPGA design rules, timing, latency, optimzations, ASIC conversion, state machines, implementing arithmetic, counters, memory, error detection and correction, simulation, and layout. Materials fee required. Three hours lecture and three hours laboratory. Prerequisite: CSCI 401. (4 units)
524. Supercomputing and Visualization (F)
Design and implementation of scientific applications on high performance computers emphasizing graphics and visualization techniques. Topics include parallel algorithm development, multiprocessor and multicomputer programming, and real-time visualization programming of computationally intensive problems in the sciences. Prerequisite: CSCI 202 or consent of instructor. (4 units)
525. Parallel Algorithms and Programming (S)
Topics include algorithm design, analysis, and programming of high performance computers. Also covered are control-parallel versus data-parallel approaches, PRAM algorithm design, and selected parallel programming languages. Four hours lecture. Prerequisite: CSCI 401. (4 units)
530. Data Communications and Networks (F)
Topics include baseband and broadband signals and modulation schemes. Error detecting and correcting codes, ISO protocol standard, packet switching and various local network schemes. Formerly CSCI 430. Three hours lecture and two hours activity laboratory. Formerly CSCI 430. Prerequisites: CSCI 313 or 498 and 330. (4 units)
531. High Performance Networks
High performance network methodologies. Methods to develop network performance measures and models. Introduction to path cost estimation and service reliability issues. Three hours lecture and two hours laboratory. Formerly a topic under CSCI 594. Prerequisite: CSCI 530 or consent of instructor. (4 units)
535. Numerical Computation
Introduction to scientific computing. Algorithms related to approximations, zero findings, numerical differentiation and integration, data fitting and interpolation, nonlinear equations. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: senior standing or consent of instructor. (4 units)
540. System Simulation (F)
Theory and implementation of computerized modeling. Examples will include administrative, physical and biological systems. Prerequisite: CSCI 330 or consent of instructor. (4 units)
546. Introduction to Theory of Computation (S)
Deterministic and non-deterministic Turing machines, decidable and undecidable problems, complexity classes P and NP. Formerly CSCI 505. Prerequisite: CSCI 431. (4 units)
550. Advanced Bioinformatics I: Sequence Analysis
Pairwise and multiple sequence alignment of strings and relations to biology. Building phylogenetic trees from sequences. Predicting and analyzing RNA secondary structure. Three hours discussion and two hours activity. Prerequisites: CSCI 431 and senior standing or consent of instructor. (4 units)
555. Advanced Bioinformatics II: Numerical Modeling
Numerical techniques for the modeling and simulation of biological and chemical systems using ordinary and partial differential equations, and stochastic variables. Three hours discussion and two hours activity. Prerequisite: CSCI 535. (4 units)
556. Introduction to Formal Methods, Models and Languages (W)
Applications of logic and mathematics in documenting problems, requirements, specifications, designs, and software. Formal modeling languages. Diagrammatic, algebraic, and tabular models. Model checking. Students prepare, check, and present models using techniques in the literature. (Also offered as CSCI 656. Students may not receive credit for both.) Three hours lecture and two hours activity laboratory. Prerequisites: CSCI 320 and 330. (4 units)
565. Systems Programming (W)
Concepts of, and implementation techniques for systems software such as assemblers, editors, interpreters, linkers, loaders and operating systems. Formerly CSCI 450 and 465. Prerequisite: CSCI 460. (4 units)
570. Compilers (S)
Interpreter and compiler structures. Topics include symbol tables, lexical and syntactic scanners, and object code generation. Three hours lecture and two hours activity laboratory. Formerly CSCI 470. Prerequisites: CSCI 313, 320 and 330. (4 units)
572. Database Systems (F)
Basic concepts of database design and theory, including underlying storage structures and alternative approaches to database models (relational, object-relational, network and hierarchical). Hands-on applications with one or more commercial database management systems. Three hours lecture and two hours activity laboratory. Materials fee required. Formerly CSCI 480. Prerequisite: CSCI 330. (4 units)
575. Internship in Computer Science
Supervised work and study in private or public organizations. Graded credit/no credit. Prerequisite: a minimum overall grade point average of 3.0, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken. (4 units)
580. Advanced Database Systems (W)
Advanced study of components of general database systems and other topics such as implementation methods, query language design, reliability, integrity, performance measures, distributed database systems and database machines. Three hours lecture and two hours activity laboratory. Prerequisite: CSCI 572. (4 units)
594. Topics in Computer Science (S)
An in-depth consideration of selected areas of computer science. May be repeated for credit as topics change. Formerly CSCI 494, credit may not be received twice for the same topic. Prerequisite: CSCI 431 (or 331) or consent of instructor. (4 units)
595. Independent Study
Laboratory and/or library research conducted under the direction of a faculty member. A total of four units in CSCI 595 may be applied toward the computer science major. May not be counted toward the B.S. in Computer Science or B.A. in Computer Systems. Prerequisites: a minimum overall grade point average of 3.0, consent of instructor and departmental approval of a written proposal of a project submitted on a standard application filed in advance of the quarter in which the course is to be taken. (1-4 units)
598. Foundations of Computer Architecture (FS)
Boolean algebra and logic gates; combinational and sequential logic; processor design; data path design; control design; memory organization; and system organization. May not be counted toward the B.S. in Computer Science or B.A. in Computer Systems. Prerequisites: CSCI 202, MATH 272, and consent of instructor. (4 units)
599. Foundations of Software Systems (W)
Software development process which includes software life-cycles, software techniques and technologies used to produce large software systems; operating systems including processes, input/ output, memory management, and file systems. May not be counted toward the B.S. in Computer Science or B.A. in Computer Systems. Prerequisites: CSCI 330 and consent of instructor. (4 units)
Graduate/Post-Baccalaureate
May not be taken by undergraduate students.
600. Formal Languages and Automata Theory (W)
Formal models in computer science including context free grammars, finite automata, regular expressions, pushdown automata and Turing machines. May not be taken for credit by students who have received credit for CSCI 500. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
610. Modern Computer Architecture (W)
Study of the elements and construction of advanced computer systems, including parallel systems, vector processors, network scheduling, neural networks, pipelining, array processors, and systolic arrays. May not be taken for credit by students who have received credit for CSCI 510 (or 410). Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
611. VLSI Circuit Design (F)
Fundamental design techniques for Very Large Scale Integrated (VLSI) circuits; physics of semi-conductor devices; design rules and circuit layouts; use of computer-aided design tools for design, layout and testing. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
620. Programming Languages Theory (W)
Theory of programming languages, including implementation details, the required machine and data structures needed for user interfaces, coded parallelism, distributed processing facilities, functional and object oriented programming languages. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
621. Contemporary Computer Graphics (S)
Theory and practice of modern graphics techniques. Topics include 3-D modeling, interaction, ray tracing, object representation, visualization, and animation techniques. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
624. Distributed Computer Systems (F)
Open Systems Interconnection (OSI) transport, presentation and application layers; distributed control; access methods; reliability; heterogeneity; resilience; applications in network operating systems, distributed operating systems and distributed database systems. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
625. Multiprocessor and Parallel Processing (S)
Tightly and loosely coupled multiprocessors; interconnection network; parallel programming languages; scheduling; problem decomposition; operating systems; performance; synchronization and communication; user-interface and programming environment; multiprocessor machine programming. May not be taken for credit by students who have received credit for CSCI 525. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
630. Theory of Algorithms and Their Analysis (S)
Algorithmic techniques, algorithm construction, algorithmic time and space complexities, properties of algorithms' taxonomic classes; survey of processing algorithms for graphs, trees, sets, and sequences; algebraic, numeric and geometric analysis techniques. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
631. Advanced Data Communications (W)
Topics include high bandwidth networks, formal models of network performance, traffic and congestion control, formal routing theory, quality of service, and internet protocol suite adaptations to high bandwidth networks. May not be taken for credit by students who have received credit for CSCI 531. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: CSCI 530 or consent of instructor. (4 units)
634. Neural Networks (F)
Theory and applications of neural networks; current developments; perceptrons; Hopfield networks; self-organizing mappings and content-addressable memories; multi-layer networks. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
635. Numerical Algorithms and Simulation
Scientific computing and simulation. Systems of liner equations, linear least squares, backward error analysis and numerical stability, stiff equations, simulation, sparse matrices. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: CSCI 535 or equivalent. (4 units)
640. Artificial Intelligence (S)
Knowledge representations; heuristics; theory of problem solving; adaptive systems; natural language understanding; automatic theorem proving; learning and robotics systems. Three hours lecture and two hours laboratory. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
646. Theory of Computation (S)
Theoretical foundations of computer science; models of computation; recursive functions; Church's thesis and undecidable problems; complexity classes P, NP, CO-NP and PSPACE. May not be taken for credit by students who have received credit for CSCI 546 (or 505). Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
655. Software Engineering Concepts (F)
Analyses of software requirements definitions, software systems design, implementation issues, verification and validation, and software maintenance techniques; rapid prototyping procedures; operational and transformational paradigms of software development; software engineering models and CASE tools including reverse engineering and module reusability concepts; applications in object-oriented programming languages. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
656. Formal Methods, Models and Languages (W)
Applications of logic and mathematics in documenting problems, requirements, specifications, designs, and software. Formal modeling languages. Diagrammatic, algebraic, and tabular models. Model checking. Students prepare, check, and present models using techniques in the literature for a research paper. Students may not receive credit for both CSCI 556 and 656. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: classified status. (4 units)
657. Structured Systems Analysis and Design (W)
Systems life cycle; function and data flows; entity-relationship models; objects and life histories; requirements specification and prototypes; conceptual, essential logical, and physical designs. Three hours lecture and two hours laboratory. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
660. Operating Systems Concepts and Theory (S)
Operating system concepts and scheduling practices, including memory management, virtual machine architectures, job and task scheduling, multitasking, interrupt handling, message passing, multiprocessing, resource sharing, file systems and peripherals access scheduling; distributed processing environments and parallel processing facilities. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
670. Compiler Design Theory (S)
Compiler design for block structures, general purpose programming languages; automatic generation of lexical analyzers and parsers; error detection and correction; code optimization. Three hours lecture and two hours laboratory. Materials fee required. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
671. Advanced Compilers (F)
Intermediate code generation, optimization, object code generation and architecture and optimized compiler co-design. Prerequisite: graduate standing in computer science or consent of instructor. An introductory course in compilers is recommended. (4 units)
680. Distributed Database Management Systems (W)
Distributed database issues including methods of data distribution, types of remote database access, concurrency management, extensions to Structured Query Language (SQL) for remote databases, cooperative processing, database machines and intelligent databases. May not be taken for credit by students who have received credit for CSCI 580. Three hours lecture and two hours activity laboratory. Materials fee required. Prerequisite: graduate standing in computer science or consent of instructor. (4 units)
689. Comprehensive Examination
Unsupervised study in preparation of the comprehensive examination. Topics include the material covered in the core courses: formal language and automata theory, computer architecture, algorithms, software engineering, and operating systems. May be repeated only once. Graded credit/no credit. Prerequisites: CSCI 600, 610, 630, 655, 660 and consent of graduate coordinator. (1 unit)
690. Master's Project
Independent graduate project conducted under the guidance of a major advisor; total of at least five units of CSCI 690 must be taken in contiguous quarters. Prerequisites: advancement to candidacy and consent of department major advisor. (2-5 units)
695. Graduate Independent Study
Independent graduate research in computer science. A total of four units in this course may be applied toward the M.S. degree. Prerequisites: graduate standing in computer science, consent of instructor, and approval of a written proposal of the research by the department graduate program coordinator. (2-4 units)
698. Continuous Enrollment for Graduate Candidacy Standing
Independent study leading to completion of requirements (other than course work) for the master's degree. To retain classified standing in the master's program, a student must enroll in 698 each quarter until the project or thesis is accepted or the comprehensive examination passed. Cannot be used to satisfy degree requirements. Students who enroll in 698 through the university have full use of all university facilities. See Page 343, Culminating Experience: Exam, Thesis, or Project. Prerequisites: advancement to candidacy and approval of program graduate coordinator or, if an interdisciplinary studies major, consent of the Dean of Graduate Studies. (0-6 units)
699. Thesis
Independent graduate research conducted under the guidance of a major advisor; total of at least nine units for CSCI 699 must be taken in contiguous quarters. Prerequisites: advancement to candidacy and consent of department major advisor. (2-6 units)
Please refer to the University catalog at http://catalog.csusb.edu for official information.