2007-2009 Catalog
skip navigation
** NOTE, all CSUF area codes are now 657**
Home Page > Academic Departments : Computer Science Department Page
skip navigation
Catalog Home
Degree Listing
Catalog Search
Course Search
Order Catalog
About the University
Academic Departments
Student Affairs
Academic Advisement
Admissions & Registration
University Regulations
Graduate Regulations
Academic Services
Academic Programs
Faculty & Administration
CSUF Map
Course Updates
2007-2009 PDF Catalog
Previous Catalogs
Other

Computer Science Banner

Introduction | B.S. in Computer Science
Minor in Computer Science | M.S. in Computer Science
M.S. in Software Engineering | Computer Science Courses
Dept Homepage

DEPARTMENT CHAIR
James Choi

VICE CHAIR
Mariko Molodowitch

DEPARTMENT OFFICE
Computer Science 522

DEPARTMENT WEBSITE
http://www.fullerton.edu/ecs

PROGRAMS OFFERED
Bachelor of Science in Computer Science
Master of Science in Computer Science
Minor in Computer Science
Master of Science in Software Engineering

FACULTY
Susamma Barua, Ning Chen, James Choi, Hwang Chung, Bin Cong, Spiros Courellis, David Falconer, Allen Holliday, Floyd Holliday, Chang-Hyun Jo, Barbara Laguna, Demetrios Michalopoulos, Mariko Molodowitch, Tae Ryu, and Xiong Wang

INTRODUCTION
The undergraduate computer science program at Cal State Fullerton offers students a comprehensive foundation that will permit them to adapt to new technologies and new ideas. The program spans a wide range, from its theoretical and algorithmic foundations to cutting-edge developments in bioinformatics, communications systems, databases, robotics, intelligent systems, software engineering, and other exciting areas.

The program provides students with a comprehensive background to take on varied categories of work. They are offered the necessary theories, principles, and practices to design and implement software which permits them to take on challenging programming jobs. They have the opportunity to become well-equipped to devise new ways to use computers. Computer scientists working in research and development are striving to make robots practical aides which demonstrate some aspects of intelligence, are using databases to discover new knowledge, and are using computers to help map human DNA as well as the DNA of other animals. The theoretical background available in the program provides the background to help develop effective ways to solve computing problems. This background allows students to determine the best possible ways to store information in databases, send data over networks, and display complex images.

The bachelor’s program is accredited by the Computing Accreditation Commission (CAC) of the Accreditation Board for Engineering and Technology (ABET).

Back to Top

MISSION
The mission of the Computer Science Department is to provide students with a strong fundamental knowledge of Computer Science and the practical skills to adapt as technology changes.

EDUCATIONAL OBJECTIVES
The Computer Science program is designed to provide the student with the foundations of the discipline as well as the opportunity for specialization. Six objectives are addressed:
  • development of the ability to work effectively as an individual or as a team member to produce correct, efficient, well-organized and documented programs in a reasonable time
  • development of the ability to recognize problems that are amenable to computer solutions, and knowledge of the tools necessary for solving such problems
  • development of the ability to assess the implications of work performed
  • development of an understanding of basic computer architecture and operations
  • preparation to pursue in-depth training in one or more application areas, or further education in computer science
  • development of the ability to communicate effectively

Back to Top

Students working at computer terminal

BACHELOR OF SCIENCE IN COMPUTER SCIENCE
Each Computer Science major is required to complete a minimum of 124 units including general education. The degree program assumes that the student has already obtained a working knowledge of personal computing fundamentals and applications, including word processing, spreadsheets, database systems, e-mail systems, and presentation graphics.

Computer Science Placement Examination
A Computer Science student with prior course work in computer programming should take the Computer Science Placement Examination. This exam is given three times per semester and is used to assess the student’s background and assure proper enrollment in the appropriate course. Students new to programming should enroll in CPSC 120.

Computer Science Core (46 units)
Lower-Division Core (18 units)
Computer Sci 120 Introduction to Programming (3)
Computer Sci 121 Programming Concepts (3)
Computer Sci 131 Data Structures Concepts (3)
Computer Sci 223H Visual Basic Programming (3)
OR Computer Sci 223J Java Programming
OR other approved language course (3)
Computer Sci 240 Computer Organization and Assembly Language (3)
Approved UNIX and Open Source Systems course (3)


Upper-Division Core (28 units)
Students must take and pass the Examination in Programming Proficiency (EPP) before taking upper-division Computer Science courses. Students who do not pass the EPP will be required to take Computer Sci 301 Programming Lab Practicum (2).
Computer Sci 311 Technical Writing for Computer Science (3)
Computer Sci 315 Social and Ethical Issues in Computing (1)
Computer Sci 323 Programming Languages and Translation (3)
Computer Sci 332 File Structures and Database Systems (3)
Computer Sci 335 Problem Solving Strategies (3)
Computer Sci 351 Operating Systems Concepts (3)
Computer Sci 362 Foundations of Software Engineering (3)
Computer Sci 440 Computer System Architecture (3)
Computer Sci 471 Computer Communications (3)
Computer Sci 481 Artificial Intelligence (3)

Elective Track Requirements (15 units)
Each student selects an Elective Track to support specific career goals.
Multimedia and Digital Game Technologies
Computer Sci 386 Introduction to Game Design and Production (3)
Computer Sci 484 Principles of Computer Graphics (3)
Computer Sci 486 Game Programming (3)
Computer Sci 487 Advance Game Programming (3)
Computer Sci 489 Game Development Project (3)

Internet and Enterprise Computing Technologies
Computer Sci 431 Database and Applications (3)
Computer Sci 473 Web Programming and Data Management (3)
Computer Sci 474 Distributed Computing Using Web Service and .NET Remoting (3)
Computer Sci 476 Java Enterprise Application Development (3)
Plus any adviser-approved 3 units of upper division Computer Science. Software Engineering
Computer Sci 462 Software Design (3)
Computer Sci 463 Software Testing (3)
Computer Sci 464 Software Architecture (3)
Computer Sci 466 Software Process (3)
Plus any adviser-approved 3 units of upper division Computer Science.

Scientific Computing
Completing the Mathematics courses listed below also meets the requirements for a minor in Mathematics.
Math 250A Multivariate Calculus (4)
Math 250B Introduction to Linear Algebra and Differential Equations (4)
Math 340 Numerical Analysis (3)
Math 370 Mathematical Model Building (3)
Plus any adviser-approved 3 units of upper division Computer Science.

Custom
With the approval of an academic adviser, students may develop a track based on their career goals or specific academic interests or specific themes. A custom track consists of 15 units of upper division Computer Science or related courses. At least 9 units must be 400-level Computer Science courses with no more than 3 units being selected from courses numbered 490-499. In addition to courses already listed in the other tracks, students may also include the following courses:
Computer Sci 303 Multimedia Concepts (3)
Computer Sci 322L Introduction to Computer-Aided Design (3)
Computer Sci 376 Client/Server Systems with Java (3)
Computer Sci 433 Data Security and Encryption Techniques (3)
Computer Sci 459 Micro-Computer Software Systems (3)
Computer Sci 483 Data Mining and Pattern Recognition (3)
Computer Sci 491T Variable Topics in Computer Science (3)
Computer Sci 495 Internship in Computer Science (1–3)
Computer Sci 499 Independent Study (1–3 )

Requirements in Mathematics and Science (30)
Mathematics Requirement (18 units)
Mathematics 150A,B Calculus (4,4)
Mathematics 270A,B Mathematical Structures (3,3)
Mathematics 338 Statistics Applied to Natural Sciences (4)

Science Requirements (12 units)
Physical Science (8 units)
One of the following combinations:
Physics 225 Fundamental Physics: Mechanics (3)
Physics 225L Fundamental Physics: Laboratory (1)
Physics 226 Fundamental Physics: Electricity and Magnetism (3)
Physics 226L Fundamental Physics: Laboratory (1)
OR Chemistry 120A General Chemistry (5)
Chemistry 125 General Chemistry for Engineers (3)
OR Geological Sci 101 Physical Geology (3)
Geological Sci 101L Physical Geology Laboratory (1)
Geological Sci 201 and 201L Earth History and Laboratory (4)

Biological Science (4 units)
Biology 101 Elements of Biology (3)
Biology 101L Elements of Biology Laboratory (1)

Back to Top

MINOR IN COMPUTER SCIENCE
A minor in Computer Science requires at least 15 units, including the following required courses:
Computer Sci 120 Introduction to Programming (3)
Computer Sci 121 Programming Concepts (3)
Computer Sci 131 Data Structures Concepts (3)
Computer Sci 313 The Computer Impact (3)
3 units of adviser approved upper division Computer Science.

General Education
Because of high unit requirements for a major in Computer Science, there is a 6-unit exemption in General Education. Students are strongly urged to consult with an adviser in the Academic Advising Center, UH-123 to help develop their General Education program.

Minimum Academic Requirements
Courses taken toward the core, elective track, required mathematics and science, and General Education Categories I.A, I.B, I.C, and III.A.1 must be taken on a traditional (letter grade) basis.
A grade of “C” (2.0) or better is required in courses taken in fulfillment of General Education Categories

  • I.A Oral Communication
  • I.B Written Communication
  • I.C Critical Thinking
  • III.A.1 Mathematics and for the Upper Division Writing Requirement (CPSC 311 Technical Writing for Computer Science).

Students must maintain at least a 2.0 average in all college-level units attempted, in all units attempted at CSUF, and in all units attempted in the major.

A grade of “C-“ (1.7) or higher is required in all courses applied to the core. Exception: up to six units of credit with grades in the range “D-” (0.7) through “D+” (1.3) may be earned in elective track, mathematics and science courses only.

Back to Top

MASTER OF SCIENCE IN COMPUTER SCIENCE
Admission to Graduate Standing: Conditionally Classified
A bachelor’s degree from an accredited institution with a grade-point average of at least 2.5 in the last 60 semester units attempted is required. Any deficiencies must be made up and will require six or more units of adviser-approved course work with at least a 3.0 average in addition to those required for the degree.

Application Deadlines
The deadlines for completing online applications are March 1st for the fall semester and October 1st for the spring semester (see http://www.csumentor.edu). Mailed applications need to be postmarked by the same deadlines. However, deadlines may be changed based upon enrollment projections. Check out the university graduate studies website for current information at http://www.fullerton.edu/graduate.

Classified Graduate Standing
Achievement of this status requires the following:

  1. Approval of a formal study plan (see description below) by the Computer Science Graduate Committee and the Associate Vice President, Academic Programs (or designee).
  2. Satisfactory completion of no more than nine units on the study plan.
  3. Satisfactory completion of the following courses or equivalents including prerequisites: Computer Science 121, 131, 240, 323, 335, 351, 362 and Mathematics 270A,B, 338.
  4. Competency in written communication in English must be demonstrated by a passing score on the California State University Examination in Writing Proficiency. The requirement must be satisfied before the student can be classified and before 500-level courses may be attempted. The student who fails to pass the EWP test may complete Computer Science 311 (Technical Writing for Computer Science) with a grade of “B” (3.0) or better as an alternative to the EWP requirement.

Talented professional computer scientists have traditionally come from a diversity of undergraduate preparations. The listed courses have been carefully selected to provide an adequate basis for graduate work while not unfairly precluding admission of persons without a bachelor’s degree in computer science. It should be noted, however, that each of these courses has prerequisites and the student without preparation in a closely related degree may have considerable work to complete beyond the courses listed here. Reference should be made to the catalog descriptions for prerequisites of each course deficiency.

Students with knowledge equivalent to any or all of these prerequisite courses are encouraged to satisfy such prerequisites by advanced placement examinations. Consult a Computer Science graduate adviser for further information.

Study Plan
Prior to admission to classified graduate standing in Computer Science, the student with the aid of a Computer Science graduate adviser shall prepare and submit for approval by the Computer Science Department graduate committee a formal study plan consisting of a minimum of 30 units of 400 level and graduate course work.

This shall include Computer Science 440, 462, 589, 597 or 598; one of 541, 542, 543, 544, 545, 546, 547 or 548; and 15 units of electives (9 units must be at the 500 level). At least 15 units shall represent courses offered by the Department of Computer Science. Courses offered by other disciplines, not listed here, and related to the student’s objectives in Computer Science may be approved by petition to the Department of Computer Science.

All course work in the study plan must be completed with a GPA of at least 3.0.

Graduate Student Advisement
The graduate program adviser provides overall supervision of the graduate program. The individual student chooses an adviser from the full-time faculty of the Computer Science Department on the basis of the student’s particular interests and objectives.

Back to Top

COMPUTER SCIENCE COURSES

Courses are designated as CPSC in the class schedule. Prerequisites for Computer Science courses may be waived only by department petition.

CPSC 102    Introduction to Information and Multimedia Technology

Description: (Same as InfoSys/DecSci 102)
Units: (2)

CPSC 103    Introduction to Personal Computer Applications

Description: Introduction to use and application of personal computers: word processing, spreadsheets, database systems, e-mail systems and World Wide Web. Evaluation of personal computers and software. (2 hours lecture, 2 hours laboratory)
Units: (3)

CPSC 120    Introduction to Programming

Description: Co-requisite: Mathematics 125. Introduction to the concepts underlying all computer programming: design and execution of programs; sequential nature of programs; use of assignment, control, and input/output statements to accomplish desired tasks; design and use of functions. Structured and object-oriented methodologies. (1.5 hours lecture, 3.0 hours laboratory)
Units: (3)

CPSC 121    Programming Concepts

Description: Prerequisite: Computer Science 120 or passing score on Computer Science Placement Exam. Introduction to programming of digital computers; subroutines, functions, and structure of algorithms; elementary input/output; arrays; strings, and data types; documentation.
Units: (3)

CPSC 131    Data Structures Concepts

Description: Prerequisites: Computer Science 121 or sufficient score on the Computer Science Placement Exam, high school computer applications, and three years high school mathematics including trigonometry. Data structures: linked lists, stacks, queues, arrays, sequential text files, text formatting.
Units: (3)

CPSC 223H    Visual BASIC Programming

Description: Prerequisite: Computer Science 131. Elements of Visual BASIC, forms and controls, properties, mouse events, multiple-document interface, processing files, accessing databases, dynamic data exchange, object linking and embedding. (2 hours lecture, 2 hours laboratory)
Units: (3)

CPSC 223J    Java Programming

Description: Prerequisite: Computer Science 131. Characteristics of Java: portable, robust, secure, object-oriented, high performance; using the Java environment; server administration; types, expressions, and control flow; classes, interfaces, and packages; threads; exceptions; class libraries; Java for the Internet; tools, the Java Virtual machine. (2 hours lecture, 2 hours lab per week)
Units: (3)

CPSC 240    Computer Organization and Assembly Language

Description: Prerequisites: Computer Science 131 and either Mathematics 270A or Mathematics 280. Digital logic and architecture of a computer system, machine level representation of data, memory system organization, structure of low-level computer languages; machine, assembly, and macro language programming; principles of assembler operation, input-output programming, interrupt-exception handling.
Units: (3)

CPSC 253U    Workshop in UNIX

Description: Prerequisite: Computer Science 121 or General Engineering 205. Workshop in the use of the UNIX operating system. Offered Credit/No Credit only. (2 hours activity)
Units: (1)

CPSC 301    Programming Lab Practicum

Description: Prerequisites: Computer Science 131 and 253U (or open source course). Intensive programming covering concepts learned in lower-division courses. Includes procedural and object oriented design, documentation, arrays, classes, file input/output, recursion, pointers, dynamic variables, data and file structures.
Units: (2)

CPSC 303    Multimedia Concepts

Description: Prerequisites: Computer Science 121 and completion of the General Education critical thinking requirements. Components and issues associated with multimedia technology, applications of multimedia and its evolution. Laboratory activities will include developing a multimedia application using a PC-based authoring tool. (2 hours lecture, 2 hours laboratory)
Units: (3)

CPSC 311    Technical Writing for Computer Science

Description: Prerequisite: English 101. Corequisite: Computer Science 301. Practice in developing documentation skills as used in the computer field. Topics include proposals, feasibility studies, user guides and manuals, business communication and technical presentation. Case studies in professional ethics. Both written and oral reports are required.
Units: (3)

CPSC 313    The Computer Impact

Description: Prerequisites: upper-division standing and one course from General Education Category III.A.1. Effect of computer use on individuals and organizations. Side effects of innovative technology and the resulting changes to organizations, social institutions, and human perceptions of events. Emphasis on personal responsibility, legal ramifications, and educational implications. Hands-on use of e-mail and the World Wide Web.
Units: (3)

CPSC 315    Social and Ethical Issues in Computing

Description: Prerequisite: Computer Science 311. The course will cover relevant issues that responsible professionals will face in a complex technological society. Issues covered are professional ethics, computer control, piracy, encryption, benefits and downside of computers, privacy and computer crimes. Both written and oral reports required.
Units: (1)

CPSC 322L    Introduction to Computer Aided Design

Description: (Same as Mechanical Engineering 322L)
Units: (3)

CPSC 323    Programming Languages and Translation (Formerly 423)

Description: Prerequisites: Examination in Programming Proficiency. Basic concepts of programming languages and principles of translation.
Units: (3)

CPSC 332    File Structures and Database Systems

Description: Prerequisite: Examination in Programming Proficiency. Fundamental theories and design of database systems, the Structured Query Language (SQL), basic concepts and techniques of data organization in secondary storage. Topics include introduction to database systems, ER model, relational model, index structures, and hashing techniques.
Units: (3)

CPSC 335    Problem Solving Strategies (Formerly 375)

Description: Prerequisites: Examination in Programming Proficiency , Math 270B and 338. Complexity classes, including undecidable and NP-complete problems. Problem solving strategies applied to parallel and distributed processing, numerical computation, and artificial intelligence. Greedy methods, divide-and-conquer, dynamic programming, approximation, and search methods.
Units: (3)

CPSC 351    Operating Systems Concepts

Description: Corequisite: Examination in Programming Proficiency or Computer Science 301. Resource management, memory organization, input/output, control process synchronization and other concepts as related to the objectives of multi-user operating systems.
Units: (3)

CPSC 362    Foundations of Software Engineering (Formerly 461)

Description: Prerequisites: Computer Science 311, and Examination in Writing Proficiency. This course covers basic concepts, principles, methods, techniques and practices of software engineering. All aspects of the software engineering (CASE) tools are used.
Units: (3)

CPSC 376    Client/Server Systems with Java (Formerly 341)

Description: Prerequisites: Computer Science 223J and 351. This course introduces concepts and architectures of client/server systems using Java.
Units: (3)

CPSC 386    Introduction to Game Design and Production

Description: Prerequisite: Computer Science 131. This course introduces the current and future technologies and market trends in game design and production. Students will also learn game technologies, basic building tools for games, and the process of game design, development, and production.
Units: (3)

CPSC 431    Database Systems

Description: Prerequisites: Computer Science 332 and Examination in Programming Proficiency. Database design and applications, database programming using SQL and other languages, query optimization, transaction management.
Units: (3)

CPSC 433    Data Security and Encryption Techniques

Description: Prerequisites: Computer Science 311, 351 and Mathematics 270B. System security and encryption. Current issues in security, encryption and privacy of computer based systems.
Units: (3)

CPSC 440    Computer System Architecture

Description: Prerequisites: Computer Science 240. Computer performance, price/performance, instruction set design and examples. Processor design, pipelining, memory hierarchy design, and input/output subsystems.
Units: (3)

CPSC 451    Advanced Operating Systems

Description: Prerequisite: Computer Science 351. The course covers internal structures of a modern operating system. The specific topics include processes, process communication, file systems, networking, and the I/O system. There will be several programming assignments which will utilize calls and other low-level interfaces.
Units: (3)

CPSC 459    Micro-Computer Software Systems

Description: Prerequisite: Computer Science 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.
Units: (3)

CPSC 462    Software Design (Formerly 361)

Description: Prerequisites: Computer Science 362. Concepts of software modeling, software process and some tools. Object-oriented analysis and design and Unified process will be covered.
Units: (3)

CPSC 463    Software Testing

Description: Prerequisite: Computer Science 362. This course explores software testing techniques, reporting problems effectively and planning testing projects.
Units: (3)

CPSC 464    Software Architecture

Description: Prerequisite: Computer Science 362. Basic principles and practices of software design and architecture.
Units: (3)

CPSC 466    Software Process

Description: Prerequisite: Computer Science 362. This course provides 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.
Units: (3)

CPSC 471    Computer Communications (Formerly 457)

Description: Prerequisite: Computer Science 351. An introduction to digital data communications. Terminology, networks and their components, common-carrier services, telecommunication facilities, terminals, error control, multiplexing and concentration techniques.
Units: (3)

CPSC 473    Web Programming and Data Management (Formerly 437)

Description: Prerequisites: Computer Science 332. 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 applications tools and techniques.
Units: (3)

CPSC 474    Distributed Computing Using Web Service and .NET Remoting

Description: Prerequisite: Computer Science 473. This course 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.
Units: (3)

CPSC 476    Java Enterprise Application Development

Description: Prerequisite: Computer Science 223J and 351. 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.
Units: (3)

CPSC 481    Artificial Intelligence

Description: Prerequisite: Computer Science 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.
Units: (3)

CPSC 483    Data Mining and Pattern Recognition

Description: Prerequisites: Computer Science 331. Classification techniques, discriminant functions, training algorithms, potential function theory, supervised and unsupervised learning, feature selection, clustering techniques, multidimensional rotations and rank ordering relations.
Units: (3)

CPSC 484    Principles of Computer Graphics (Formerly 465)

Description: Prerequisite: Examination in Programming Proficiency and Math 150B and 270B.  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.
Units: (3)

CPSC 486    Game Programming

Description: Prerequisite: Computer Science 386; co-requisite, Computer Science 484 Principles of game programming (2D game development techniques) and multimedia entertainment techniques (sound, animation, etc.).
Units: (3)

CPSC 487    Advanced Game Programming

Description: Prerequisite: Computer Science 486. Building on the techniques learned from the previous game development course (2D Game Development, sound, animation), students will learn more advanced game programming techniques (3D Game Development, real-time rendering, physics simulation).
Units: (3)

CPSC 489    Game and Development Project

Description: Prerequisite: Computer Science 487; co-requisite: Computer Science 481 Opportunities for students to develop realistic games based on the theories and techniques they learned from the previous classes. Students work independently (or by teams). Students will present and demonstrate their work regularly.
Units: (3)

CPSC 491T    Variable Topics in Computer Science

Description: Prerequisites: junior or senior standing and consent of instructor. Lectures and/or workshop covering various current Computer Science topics. Course may be repeated for up to 3 units. Course topics may be taken only once.
Units: (1)

CPSC 495    Internship in Computer Science

Description: Prerequisites: Computer Science or related major and consent of instructor. Practical experience relevant to computer science in government or private agencies. Written and oral reports are required.
Units: (1-3)

CPSC 499    Independent Study

Description: Prerequisite: approval by the computer science chair. Special topic in Computer Science, selected in consultation with and completed under the supervision of instructor.
Units: (1-3)

CPSC 531    Advanced Database Management

Description: Prerequisite: Computer Science 431. Implementation techniques for query analysis, data allocation, concurrency control, data structures, and distributed databases. New database models and recent developments in database technology. Student projects directed to specific design problems.
Units: (3)

CPSC 541    Systems and Software Standards and Requirements

Description: Prerequisite: Computer Science 362 or equivalent work experience. This course introduces students 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.
Units: (3)

CPSC 542    Software Verification and Validation

Description: Prerequisite: Computer Science 362 or equivalent work experience. Theory and practice needed to ensure that a high quality software product is developed. Topics covered include a quality assessment, proof of correctness, testing, and limitations of current verification and validation methods.
Units: (3)

CPSC 543    Software Maintenance

Description: Prerequisite: Computer Science 362 or equivalent work experience. Software creation, reuse, enhancement, adaptation and correction. Alternatives to coding, language concepts, role of standards, style, management, tools, performance analysis, regression analysis, and productivity issues.
Units: (3)

CPSC 544    Software Process Definition

Description: Prerequisite: Computer Science 362 or equivalent work experience. This course provides practical guidance for improving the software development and maintenance process with a focus on understanding and managing the software process. Students will learn how to establish an effective software process for an organization, and how to make existing process better.
Units: (3)

CPSC 545    Software Design and Architecture

Description: Prerequisites: Computer Science 362 or equivalent work experience. Development of software systems at the highest level. Systems view of software development, trade-offs between software and hardware. User interfaces, requirements analysis, techniques for development from requirements, system integration, and transition into use. Includes case studies and project.
Units: (3)

CPSC 546    Software Project Management

Description: Prerequisite: Computer Science 362 or equivalent work experience. Process considerations in software systems development. Materials and tools in software project planning. Mechanisms for monitoring and controlling software projects.
Units: (3)

CPSC 547    Software Measurement

Description: Prerequisite: Computer Science 362 or equivalent work experience. Introduction to current industry software measurement practices and systematic measurement process models. Outline major paradigms for selecting measures. Stress practitioner-based measurement: software specifications and designs, code and implementation, and test and evaluation.
Units: (3)

CPSC 548    Professional, Ethical and Legal Issues for Software Engineers

Description: Prerequisite: Computer Science 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. Relevant regulatory documents and their applications are studied.
Units: (3)

CPSC 551    Operating Systems Design

Description: Prerequisite: Computer Science 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.
Units: (3)

CPSC 558    Advanced Computer Networking

Description: Prerequisite: Computer Science 471. System-oriented view of computer network design, protocol implementation, networking, high-speed networking, network management, computer network performance issues.
Units: (3)

CPSC 566    Advanced Computer Graphics

Description: Prerequisite: Computer Science 484. Three dimensional: reflection models, shading techniques, rendering process, parametic representation, ray tracing, radiosity, texture, anti-aliasing, animation, color science.
Units: (3)

CPSC 583    Expert Systems Design Theory

Description: Prerequisite: Computer Science 481. Knowledge representation and search strategies for expert systems; logic programming; expert system tools. Project.
Units: (3)

CPSC 585    Artificial Neural Networks

Description: Prerequisite: Computer Science 481. Principles of neural networks; neural networks paradigms, software implementations, applications, comparison with statistical methods, use of fuzzy logic; project.
Units: (3)

CPSC 589    Seminar in Computer Science

Description: Prerequisites: one 400-level course in Computer Science and passing score on the Examination in Writing Proficiency. Research methods in computer science. Student presentations covering current topics, research advances, updating of concepts and verifications of principles of computer science. (Examples: large-scale parallelism, Internet security, design for user interfaces, computers in instruction).
Units: (3)

CPSC 597    Project

Description: Prerequisites: classified graduate standing, approval of the computer science graduate adviser and Computer Science 589. 
Units: (3)

CPSC 598    Thesis

Description: Prerequisites: classified graduate standing, approval of the computer science graduate adviser and Computer Science 589. 
Units: (3)

CPSC 599    Independent Graduate Research

Description: Prerequisites: classified graduate standing, approval of the computer science department chair and Computer Science 589. Special topic in computer science, selected in consultation with and completed under supervision of a full-time faculty member.
Units: (1-3)

Back to Top

 
Cal State Fullerton Administrative Web site of Academic Programs, Cal State Fullerton Editor, catalog@fullerton.edu ©2007 Cal State Fullerton. All rights reserved