computer science banner
| Home | Contact | ECS Home | CSUF Home | Admissions
Skip Navigation Links. Skip Navigation LinksCS Home>Programs/Courses>MS in Computer Science>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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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 486 Game Programming (3 units)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer Prerequisite: CPSC 481.

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

CPSC 585 Artificial Neural Networks (3 units)
spacer 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)
spacer 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)
spacer 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)
spacer 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)
spacer 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.

This site is maintained by Department of Computer Science, California State University, Fullerton. Report any problem related to this website to: webmaster@ecs.fullerton.edu
This site may contain links to Web sites not administered by the Department of Computer Science, California State University, Fullerton. The Department of Computer Science, California State University, Fullerton, is not responsible or liable for the accuracy or the content of linked pages.