Skip to Content (Press Enter)

 California State University, Fullerton



Text Size: Small Text Medium Text Large Text

MS Course Description

These course descriptions were taken from the Graduate Handbook, which contains a complete description of the Master’s Degree program.

CPSC 431 Database and Applications (3 units)

Prerequisite: CPSC 332 and EPP (see page 25).

Advanced database design concepts and application development techniques. Topics include advanced database design including schema refinement and physical database design, query processing and optimization, tuning, transaction concepts, real-world database programming techniques, and comprehensive database application development techniques.

CPSC 433 Data Security and Encryption Techniques (3 units)

Prerequisites: CPSC 311, CPSC 351, and MATH 270B.

System security and encryption. Current issues in security, encryption and privacy of computer based systems.

CPSC 440 Computer System Architecture II (3 units)

Prerequisites: CPSC 240.

Computer performance, price/performance, instruction set design and examples. Processor design, pipelining, memory, hierarchy design, and input/output subsystems.

CPSC 451 Advanced Operating Systems (3 units)

Prerequisite: CPSC 351.

The course covers internal structures of a modern operating system. The specific topics include processing, process communication, file systems, networking, and the I/O system. There are several programming assignments which include system calls, and other low level interfaces.

CPSC 459 Micro-Computer Software Systems (3 units)

Prerequisite: CPSC 351.

The design and implementation of software. Analysis of a micro-computer operating system and work on a team to implement a significant programming assignment.

CPSC 462 Software Design (3 units)

Prerequisites: CPSC 362.

Introduce basic concepts of software modeling, software process and some tools. Object-oriented analysis and design and Unified Process will be covered. Some computer-aided software engineering (CASE) tools will be recommended to use for doing homework assignments. (2 hours lecture, 2 hours laboratory)

CPSC 463 Software Testing (3 units)

Prerequisites: CPSC 362.

Introduce software testing techniques, reporting problems effectively and planning testing projects. Students apply what they learned, throughout the course, to a sample application that is either commercially available or under development.

CPSC 464 Software Architecture (3 units)

Prerequisites: CPSC 362.

Introduce basic principles and practices of software design and architecture. It will cover high-level design, software architecture, documenting software architecture, software architecture evaluation, software product lines, and some considerations beyond software architecture.

CPSC 466 Software Process (3 units)

Prerequisites: CPSC 362.

Introduce practical guidance for improving the software development and maintenance process. Students will learn how to establish, maintain, and improve software processes. They will also be exposed to some common process models, such as CMM, CMMI, PSP, and TSP.

CPSC 471 Computer Communications (3 units)

Prerequisite: CPSC 351.

Introduction to digital data communications. Terminology, networks and their components, common-carrier services, telecommunication facilities, terminals, error control, multiplexing and concentration techniques.

CPSC 473 Web Programming and Data Management (3 units)

Prerequisite: CPSC 431

Various techniques for developing Web-based database applications using software engineering methodology. Introduce concept and architecture of Web servers, Web database design techniques, client/server side programming, and Web application tools and techniques.

CPSC 474 Distributed Computing using Web Service and .NET Remoting (3 units)

Prerequisites: CPSC 473.

Introduces the concepts of distributed computing and Web services, the applications of XML and Web services, distributed applications development techniques with Web services and .NET Remoting.

CPSC 476 Java Enterprise Application Development (3 units)

Prerequisites: CPSC 223J and 351.

Introduces concepts and architecture of the J2EE platform, component technologies, platform roles, platform services, services technologies, communication technologies, Enterprise Java Beans (EJBs), and Java enterprise application development using Web logic or Web sphere.

CPSC 481 Artificial Intelligence (3 units)

Prerequisite: CPSC 335.

Use of computers to simulate human intelligence. Topics include production systems, pattern recognition, problem solving, searching game trees, knowledge representation, and logical reasoning. Programming in AI environments.

CPSC 483 Data Mining and Pattern Recognition (3 units)

Prerequisites: CPSC 335.

Classification techniques, discriminant functions, training algorithms, potential function theory, supervised and unsupervised learning, feature selection, clustering techniques, multidimensional rotations and rank ordering relations.

CPSC 484 Principles of Computer Graphics (3 units)

Prerequisite: EPP (see page 25), Math 270B, and Math 150B.

Examination and analysis of computer graphics; software structures, display processor organization, graphical input/output devices, display files. Algorithmic techniques for clipping, windowing, character generation and viewpoint transformation.

CPSC 485 Computational Bioinformatics (3 units)

Prerequisites: upper-division standing, Biology 101 and Computer Sci 131.

Algorithmic approaches to biological problems. Specific topics include motif finding, genome rearrangement, DNA sequence comparison, sequence alignment, DNA sequencing, repeat finding and gene expression analysis.

CPSC 486 Game Programming (3 units)

Prerequisites: CPSC 386.

Corequisite: CPSC 484.

Introduce foundations of game programming (basically 2D game development techniques) and multimedia entertainment techniques (sound, animation, etc.).

CPSC 487 Advanced Game Programming (3 units)

Prerequisites: CPSC 486.

Intermediate and advanced game programming techniques including 3D game development, real-time rendering, physic simulation, etc.

CPSC 489 Game Development Project (3 units)

Prerequisites: CPSC 487

Corequisite: CPSC 481.

Individual or team develops realistic games based on the theories and techniques, present and demonstrate their work regularly.

CPSC 491T Variable Topics in Computer Science (1-3 units)

Prerequisites: Junior/Senior standing and consent of the instructor.

Lectures and/or workshops covering various current Computer Science topics. Course may repeat for up to 3 units. Course topics maybe taken only once.

CPSC 495 Internship in Computer Science (1 - 3 units)

Prerequisite: Computer Science or related major, and consent of instructor.

Practical experience and service learning relevant to computer science in industry or organizations. Written and oral reports are required.

CPSC 531 Advanced Database Management Systems (3 units)

Prerequisite: CPSC 431.

Database design and implementation techniques for query processing. Transaction management. Introduction to different databases such as object-oriented databases, temporal databases, real-time databases, parallel databases, distributed databases, spatial databases, multimedia databases, deductive databases, active databases plus recent database technology such as data warehousing, OLAP, Data mining.

CPSC 541 Systems and Software Standards and Requirements (3 units)

Prerequisite: CPSC 362 or equivalent work experience.

This class serves as the foundation for other process-oriented classes by outlining the benefits of Software Engineering Standards. The students will be introduced to the SESC framework and the IEEE Software Engineering Standards. The course will cover establishing of the following standards: Software Life Cycle Processes, Work Product Standards, Process Standards, Requirement Analysis and Management, and System Integration. Additionally, the framework of CMMI will be introduced, and a number of practical lessons discussed.

CPSC 542 Software Verification and Validation (3 units)

Prerequisite: CPSC 362 or equivalent work experience.

The students will learn how to ensure that a high quality software product is developed. The course will cover the theory and practice of V&V methods such as walkthroughs, inspections, and CleanRoom. It will show how to create functional test cases, using boundary value analysis and equivalence classes, and how to create structural test cases, determine degrees of coverage, and perform data flow analysis.

CPSC 543 Software Maintenance (3 units)

Prerequisite: CPSC 362 or equivalent work experience.

The Student will learn the principles of generating maintainable software. The course will also cover Theory and practice of maintaining large scale software and application of maintenance metrics In this course, we will cover the problems in maintaining software systems, building software in view of the maintenance problems, the activity of maintenance and some management issues in maintenance.

CPSC 544 Software Process Definition (3 units)

Prerequisite: CPSC 362 or equivalent work experience.

This course provides practical guidance for improving the software development and maintenance process. We focus on understanding and managing the software process because this is where software organizations encounter the most serious problems. In the class, students will learn how to establish an effective software process for an organization, and how to make existing process better.

CPSC 545 Software Design and Architecture (3 units)

Prerequisites: CPSC 362 or equivalent work experience.

The students will learn how to analyze and design large scale software and apply different architecture styles to software design. Case studies and projects are assigned as a practical component of the course.

CPSC 546 Software Project Management (3 units)

Prerequisite: CPSC 362 or equivalent work experience.

The students will learn how to plan and control the development activities of a project. The course will cover schedule and cost (staffing) estimation. It will show how to develop a master program plan, define task interrelationships, identify the critical path, and track the progress of a project using methods such as Earned Value Analysis.

CPSC 547 Software Measurement (3 units)

Prerequisite: CPSC 362 or equivalent work experience.

This course explores current software measurement practices. Topics include measuring software specifications and designs; measuring software code and implementation; measuring software testing and evaluation. The course stresses a practitioner-based approach to systematic measurement process model and outlines major paradigms for selecting measures.

CPSC 548 Professional, Ethical and Legal Issues for Software Engineers (3 units)

Prerequisite: CPSC 362 or equivalent work experience.

This course explores professional, legal and ethical issues pertaining to software engineering. Topics include professional codes of ethics, intellectual property laws, computer privacy, and human-computer interaction. The course presents relevant regulatory documents and their applications in analyzing case studies.

CPSC 551 Operating Systems Design (3 units)

Prerequisite: CPSC 351.

Design and evaluation techniques for controlling automatic resource allocation, providing efficient programming environments and appropriate user access to the system, and sharing the problem solving facilities.

CPSC 558 Advanced Computer Networking (3 units)

Prerequisite: CPSC 471.

System-oriented view of computer network design, protocol implementation, networking, high-speed networking, network management, computer network performance issues.

CPSC 566 Advanced Computer Graphics (3 units)

Prerequisite: CPSC 484.

Three dimensional reflective models, shading techniques, rendering process, parametric representation, ray tracing, radiosity, texture, anti aliasing, animation, color science.

CPSC 583 Expert Systems Design Theory (3 units)

Prerequisite: CPSC 481.

Knowledge representation and search strategies for expert systems; logic programming; expert system tools. Project.

CPSC 585 Artificial Neural Networks (3 units)

Prerequisite: CPSC 481.

Principles of neural networks, neural networks paradigms with supervised and unsupervised learning laws. Software implementations and applications. Project.

CPSC 589 Seminar in Computer Science (3 units)

Prerequisites: At least one 400 level course in computer science and the Examination in Writing Proficiency (EWP).

Research methods in computer science. Student presentations covering current topics in research, updating of concepts and verifications of principles of computer science. (Examples: graphic user interface design, database systems, computer networks, wireless communication, Web based application development, Web application framework, distributed systems, large-scale parallelism, security, modeling and analysis techniques, neural networks, expert systems, pattern recognition, Petri nets.)

CPSC 597 Project (3 units)

Prerequisites: classified graduate standing, approval of the computer science graduate adviser and CPSC 589. (Project definition proposal must be approved prior to the last day of class instruction of the preceding semester.)

CPSC 598 Thesis (3 units)

Prerequisites: classified graduate standing, approval of the computer science graduate adviser and CPSC 589. (Thesis definition proposal must be approved prior to the last day of class instruction of the preceding semester.)

CPSC 599 Independent Graduate Research (1–3 units)

Prerequisites: classified graduate standing, approval of the Computer Science Department Chair.

Special topic in computer science, selected in consultation with and completed under supervision of a full-time faculty member.