This is an archived version of the University Catalog and is no longer being maintained. References to people, offices, policies, and web links may be outdated. View the current catalog or email catalog@csuchico.edu for updated information. Students who have catalog rights to this version of the catalog should check with an advisor for graduation requirements.

Skip to Side Navigation Skip to Content Skip to Accessibility Settings

The Master of Science in Computer Science

Course Requirements for the Master's Degree: 30 units

Continuous enrollment is required. A maximum of 9 semester units of transfer and/or CSU Chico Open University course work may be applied toward the degree.

Graduate Time Limit:

All requirements for the degree are to be completed within five years of the end of the semester of enrollment in the oldest course applied toward the degree. See Master's Degree Requirements in the University Catalog for complete details on general degree requirements.

Due to the rapid changes in the field of computer science, the Department of Computer Science requires all candidates to complete the program within five years, including projects and theses. No course validation will be allowed and no program extensions will be granted.

Prerequisites for Admission to Conditionally Classified Status:

1. Satisfactory grade point average as specified in Graduate and Postbaccalaureate Admission Requirements in the University Catalog.

2. Approval by the department and the Office of Graduate Studies.

3. An acceptable baccalaureate from an accredited institution, or an equivalent approved by the Office of Graduate Studies.

4. Completion of background preparation equivalent to

(a) CSCI 311 (Algorithms and Data Structures)

(b) CSCI 340 (Operating Systems)

(c) EECE 320 (System Architecture and Performance)

(d) MATH 217 (Discrete Mathematical Structures)

(e) MATH 120, MATH 121, MATH 314, or equivalents

5. Completion of the Graduate Record Examination with a combined score of 1100 on the verbal and quantitative portions. Graduates of an ABET accredited program in computer science are exempt from this requirement.

6. Submission of a statement of purpose.

Prerequisites for Admission to Classified Status:

In addition to any requirements listed above:

1. Completion of program prerequisites equivalent to the following senior courses:

(a) CSCI 430 (Software Engineering) with a grade of B- or better.

(b) CSCI 511 (Object-Oriented Programming) with a grade of B- or better.

2. Students are expected to complete these courses immediately as a matter of reasonable progress toward the master's degree.

Advancement to Candidacy:

In addition to any requirements listed above:

1. Completion of the Graduate Requirement in Writing Proficiency.

2. Classified graduate standing and completion of, or enrollment in, the graduate core courses.

3. Development of an approved program in consultation with the Graduate Coordinator.

4. Formation of the graduate advisory committee, in the case of the thesis or project plan as described below, in consultation with the Graduate Coordinator.

Requirements for the MS Degree in Computer Science:

Completion of all requirements as established by the department graduate committee, the graduate advisory committee, and the Graduate School, to include:

1. Completion of an approved program consisting of 30 units of course work as follows:

(a) Completion of the 5 graduate core courses (15 units).

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: CSCI 511 and classified graduate standing.
This course focuses on distributed computing using the object-oriented paradigm, large class libraries, and the interactive programming environment. The course is designed to prepare the student to do commercial enterprise development. Topics may include object serialization, beans, multithreading, networking, remote objects, database connectivity, servlets, and client/server programming with enterprise and application servers. 3 hours lecture. (002395)
Prerequisites: EECE 320 and classified graduate standing.
Provides a thorough and fundamental treatment of the art of computer architecture. Topics include concepts of von Neumann architectures, methods of evaluating CPU performance, instruction-set design and examples, compiler issues, instruction pipelining, superscalar processors, methods for reduction of branch penalty, memory hierarchies, I/O systems, floating-point arithmetic, and current issues in parallel processing. 3 hours seminar. (002436)
Prerequisites: CSCI 430 and classified graduate standing.
In-depth study and application of the planning, design, implementation, and management of complex software systems. Topics include requirements engineering, formal specifications, object-oriented analysis, design patterns, and peopleware. Teams of students will implement a large software project using a cutting edge software engineering approach. 3 hours discussion. (002394)
Prerequisites: CSCI 340 and classified graduate standing.
In-depth study of operating systems concepts including results from recent research. Topics may include processes, threads, virtual memory, file systems, distributed computing, scheduling, protection, and communication protocols. Students may be required to implement operating system projects. 3 hours seminar. (002430)
Prerequisites: CSCI 311, MATH 217 and classified graduate standing.
Algorithms from many areas of computer science will be analyzed. Topics include algorithm design techniques (such as divide-and-conquer, greedy algorithms, dynamic programming, and others), mathematical and empirical analysis of algorithms and NP-completeness. 3 hours seminar. (002417)

(b) Completion of 3 area courses (9 units), each course from a different area (Artificial Intelligence, Database, Networks/Security, or Visual Computing) listed below.

Artificial Intelligence

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: Grade of C- or better in CSCI 311.
An introduction to the basic principles, techniques, and applications of Artificial Intelligence. Coverage includes knowledge representation, logic, inference, problem solving, search algorithms, game theory, perception, learning, planning, and agent design. Students will program with AI language tools. Additional areas may include expert systems, machine learning, natural language processing, and computer vision. 3 hours discussion. (002360)
Prerequisites: CSCI 211 with a grade of C- or higher.
The basic concepts and techniques of expert systems. Emphasis is on the reasoning behind expert system design, practical problem solving (comparisons and use of expert system shell implementations), and advanced problem solving techniques such as those employed in machine learning and knowledge acquisition. 3 hours discussion. (002359)
Prerequisites: CSCI 211 and CSCI 221 both with a grade of C- or higher.
This course introduces students to the field of robotics by emphasizing the task of endowing machines with intelligence. Topics include various case studies of robot architectures and algorithms that facilitate embodying a robot with behaviors that are traditionally associated with human cognition (e.g., perception, reasoning, intelligent navigation, vision, learning, etc.). Students conduct research and experiments with robotics hardware and software. 2 hours lecture, 2 hours activity. (002361)
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in artificial intelligence as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Consult the Graduate Coordinator to determine how many units may be counted toward your major. 3 hours lecture. You may take this course more than once for a maximum of 12.0 units. (002402)

Database

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: CINS 370 with a grade of C- or higher or MINS 235.
Course topics include database application programming using a high performance, high concurrency multi-user database management system. This course covers the SQL programming language including Data Definition Language, Data Manipulation Language, and Data Control Language. The course then focuses on a procedural database programming language including control structures, composite datatypes, explicit cursors, exception handling, and writing embedded SQL applications. 2 hours discussion, 2 hours activity. (002381)
Prerequisite: CINS 370 with a grade of C- or higher.
Students install the latest release of a robust, scalable database system such as Oracle, and create and maintain a sample database. Topcs covered include advanced database architecture, intro performance monitoring, network configuration, database security, user management, and backup/recovery techniques with powerful admin tools. Prepares for Oracle Certification. 3 hours lecture. (020614)
Prerequisites: CINS 574 or faculty permission.
Students install database software compnents and create and administer their own example databases. Features hands-on diagnosis and recovery in diverse, complex scenarios using advanced backup and recovery tools. Proactive performance analysis and tuning of applications, storage structures and database processes. Prepares for Adv. Oracle Certification. 3 hours discussion. (002431)
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in database systems as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Consult the Graduate Coordinator to determine how many units may be counted toward your major. 3 hours lecture. You may take this course more than once for a maximum of 12.0 units. (002435)

Networks/Security

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: CINS 448 with a grade of C- or higher.
This course provides advanced training in the engineering and management of information systems security, particularly those systems that play a role in U.S. national security, and is aimed at professionals who plan to work either as contractors or federal employees in the area of national security or defense. The course also prepares students for the Information Systems Security Engineering Professional (ISSEP) certification test prepared by the International Information Systems Security Certification Consortium (ISP2) in collaboration with the National Security Agency. Specific areas of concentration are systems security engineering; certification and accreditation (C&A); technical management; and U.S. Government Information Assurance (IA) regulations. 3 hours lecture. (020234)
Prerequisite: CSCI 346 with a grade of C- or higher.
This course covers advanced network management concepts and implementations including a network operating system, workstation management, and domain administration. Coverage also includes TCP/IP administration and router/hub management. The course provides hands-on experience on network management in a laboratory environment. 3 hours discussion. (002382)
Prerequisites: CSCI 346 with grade of C- or higher.
This course provides hands-on experience on network infrastructure management for hubs, switches, and routers in a laboratory environment. 3 hours discussion. (002383)
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in networking as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Consult the Graduate Coordinator to determine how many units may be counted toward your major. 3 hours lecture. You may take this course more than once for a maximum of 12.0 units. (002413)

Visual Computing

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: CSCI 311 with a grade of C- or higher.
This course covers algorithms and data structures in computer graphics. Topics include output primitives and their attributes, 2-D and 3-D geometric transformations and viewing, 3-D object modeling, parallel and perspective projections, visible surface detection, illumination models, and rendering algorithms. 3 hours discussion. (002363)
Prerequisites: Grade of C- or better in CSCI 311.
Implementation of graphical user interfaces using object-oriented programming. Topics include the model-view-controller design pattern, use of a variety of user interface components, event handling, customization, graphics contexts, and layout. 3 hours discussion. (002365)
Prerequisites: Grade of C- or better in CSCI 311.
Explores the field of digital image processing, providing an overview of its many areas of application and delving into the details of a select set of algorithms. Topics include imaging, digital images, basic image manipulation, grey level and color enhancement, neighborhood operations, the frequency domain, geometric operations, segmentation, morphological image processing, and image compression. 3 hours discussion. (002407)
Prerequisites: CSCI 566 with a grade of C- or higher.
Advanced topics in computer graphics, including hierarchical models and scene graphics, texture and bump mapping, compositing, antialiasing, representation and rendering of curves and surfaces, physically based models and particle systems, fractals, and techniques used in scientific visualization. 3 hours discussion. (002406)
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer graphics as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Consult the Graduate Coordinator to determine how many units may be counted toward your major. 3 hours lecture. You may take this course more than once for a maximum of 12.0 units. (002408)

(c) Completion of 1 elective course (3 units), selected from any of the four areas in (b) above or the following additional elective options:

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: Object-oriented programming experience.
This class is complementary to classes in Object-Oriented Programming (OOP). The focus will be on object-orientation in the earlier phases of the software life cycle: object-oriented analysis (OOA), which creates models of the world based on objects and object-oriented design (OOD), which relates specifically to the design of software. The close relationship between OOA, OOD, and OOP will be examined. Use of the Unified Modeling Language (UML) and Design Patterns will be applied. 3 hours discussion. (002355)
Prerequisites: Grade of C- or better in CSCI 340.
A hands-on project course that examines the development of systems software. It provides an introduction to writing low level programs in the UNIX/Linux environment. Topics include using system calls, processes, threads, concurrency, process/thread synchronization, signals, and interprocess communication. The course includes several large programming projects which provide students solid expericence in lower level programming. 3 hours discussion. (002378)
This course is a special topic offered for 1.0-4.0 units. Exploration of selected topics in Computer Science. Consult semester schedules for specific listings. Standard letter grading only. (020184)
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in software engineering as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Consult the Graduate Coordinator to determine how many units may be counted toward your major. 3 hours lecture. You may take this course more than once for a maximum of 12.0 units. (002396)
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer theory as presented in recently published journals; possible emphasis on research interests and/or projects of faculty in the department. Consult the Graduate Coordinator to determine how many units may be counted toward your major. 3 hours lecture. You may take this course more than once for a maximum of 12.0 units. (002419)
Prerequisites: Classified graduate standing, faculty permission.
This course is an independent study offered for 1.0-6.0 units. You must register directly with a supervising faculty member. Independent study and investigation of special problems in student's area of concentration. Both registration and study plan must have approval of the instructor and the student's graduate advisory committee chair. 9 hours supervision. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading. (002451)

(d) Completion of the appropriate culminating activity course (3 units) in one of the three plans described in section 2 below.

(e) At least 18 of the units required for the degree in 600-level courses.

(f) Not more than 9 semester units of transfer and/or CSU, Chico Open University course work (correspondence courses and UC extension course work are not acceptable). Transfer courses must be approved by the Graduate Coordinator.

2. Completion and final approval of one of the following three plans as approved by the Graduate Coordinator. The standard culminating experience for master's students in Computer Science is to demonstrate competency in graduate study by completion of the capstone course using plan (a). With rare exception, students may meet the requirement of a culminating experience by completing a thesis or project as described in the following:

(a) Capstone Course Plan

This plan includes 30 units of in-class course work, including a passing score in the capstone course CSCI 693. CSCI 693 is to be taken as part of the last 9 units, or during the last semester of the graduate program. Registration in CSCI 693 must be approved by the Graduate Coordinator. The course may be attempted a maximum of three times. Failure on the third attempt will result in dismissal from the graduate program in Computer Science.

(b) Project Plan

The project plan includes 27 units of in-class course work and 3 units of project preparation (CSCI 699P). For students to be qualified to take the project path, they must have demonstrated exceptional abilities by:

(i) maintaining a GPA of 3.5 or above in their post-baccalaureate coursework,

(ii) having been nominated by a faculty member to conduct research in that faculty member's area of expertise,

(iii) having had a project proposal approved by a 2/3 majority vote of the faculty. A formal written description of the project must be submitted to the Graduate School for approval and accession to the library.

(c) Thesis Plan

This plan includes 24-27 units of in-class course work and up to 6 units of thesis preparation (CSCI 699T). Students opting to complete 6 units of CSCI 699T may count 3 units of the units as their elective course in 1(c) above. For students to be qualified to take the thesis path, they must have demonstrated exceptional abilities by:

(i) maintaining a GPA of 3.5 or above in their post-baccalaureate coursework,

(ii) having been nominated by a faculty member to conduct research in that faculty member's area of expertise,

(iii) having had a thesis proposal approved by a 2/3 majority vote of the faculty. This plan requires a formal research thesis, which must be submitted to the Graduate School for approval and accession to the library.

3. Approval by the Graduate Coordinator and the Graduate Council on behalf of the faculty of the University.

Graduate Requirement in Writing Proficiency:

Writing proficiency is a graduation requirement.

Computer Science students will demonstrate their writing competence in the English language by successfully passing a Graduate Writing Exam (GWE) administered by the department at the beginning of each semester, or successful completion (B- higher) of an approved technical writing course. Students must either pass the GWE or immediately enroll in the writing course in their first semester of graduate study. Consult the Graduate Coordinator for specific information.

Graduate Grading Requirements:

All courses in the major (with the exceptions of Independent Study - 697, Master's Project - 699P, and Master's Thesis - 699T) must be taken for a letter grade, except those courses specified by the department as ABC/No Credit (400/500-level courses), AB/No Credit (600-level courses), or Credit/No Credit grading only. A maximum of 10 units combined of ABC/No Credit, AB/No Credit, and Credit/No Credit grades may be used on the approved program (including 697, 699P, 699T and courses outside the major). While grading standards are determined by individual programs and instructors, it is also the policy of the University that unsatisfactory grades may be given when work fails to reflect achievement of the high standards, including high writing standards, expected of students pursuing graduate study.

Students must maintain a minimum 3.0 grade point average in each of the following three categories: all coursework taken at any accredited institution subsequent to admission to the master's program; all coursework taken at CSU, Chico subsequent to admission to the program; and all courses on the approved master's degree program.

In addition, students may not count more than two courses in which they receive a grade of C toward the approved program.

Accelerated BS + MS (BMS) in Computer Science

The BMS in Computer Science is for highly motivated, well-qualified students. The program allows a student majoring in Computer Science to progress toward the master's degree in Computer Science while still an undergraduate.  The BS in Computer Science is 128 units; the MS in Computer Science is 30 units.  Earning both degrees is traditionally 158 units over 6 years.  The BMS program allows the qualified student to earn both degrees in 150 units over 5 years.

Eligibility
To be eligible to apply for the BMS in Computer Science a student must meet the following minimum criteria:

  • be an undergraduate with a declared major in Computer Science,
  • have at least a junior status and completion of at least 12 upper-division units of Computer Science courses including CSCI 311,
  • have at least two semesters of coursework remaining in the major after completion of the current semester,
  • meet a minimum GPA requirement of 3.0 in the major,
  • secure a recommendation from a faculty member, who agrees to supervise the student's CSCI 399 Special Problems.

Application Procedure
A student meeting the eligibility criteria may submit an application for admission to the BMS in Computer Science to the Computer Science Department.  No formal application through Admissions is required, and the student is not required to pay an admissions fee.  GRE scores are not required.  The application must be made during the semester prior to the student's final undergraduate year.  If accepted, the student will enter the BMS program the following semester.  Students that will have fewer than two semesters of undergraduate coursework remaining may not be admitted to the BMS program.  Admission to the BMS program does not constitute recognition of BMS graduate status.  Students must meet the eligibility requirements outlined below to change to BMS graduate status and continue toward the MS degree.

Requirements for the BMS in Computer Science
Once accepted into the BMS program as an undergraduate, the student can take graduate-level courses to meet requirements for the MS.  Other than the modifications described in the next section, the requirements for the BS in Computer Science are as described in the catalog section for the BS in Computer Science.  All requirements for the MS are as described in the catalog section for the MS in Computer Science.

Modifications to the Requirements for the BS in Computer Science
During the final undergraduate year, the student will take 9 units that will apply towards the MS in Computer Science.

  • CSCI 431 Software Engineering Tools is replaced by CSCI 630 Software Engineering,
  • The 7 units of upper-division CSCI, CINS, or MATH electives are replaced by the following:
    • SUBJ NUM Title Sustainable Units Semester Offered Course Flags
      Prerequisites: Faculty permission.
      This course is a special topic offered for 1.0-3.0 units. You must register directly with a supervising faculty member. Independent study and investigation of special problems in student's area of concentration. Both registration and study plan must have approval of the instructor and the department chair. 9 hours supervision. You may take this course more than once for a maximum of 6.0 units. Credit/no credit grading. (002351)
    • SUBJ NUM Title Sustainable Units Semester Offered Course Flags
      Prerequisites: CSCI 311 with a grade of C- or higher.
      This class focuses on object-oriented programming using large class libraries and interactive programming environments. The course centers on good object-oriented design and implementation by addressing these issues with examples throughout the semester. Students will experience the development environment and extensively use the library of at least one object-oriented programming language. Topics include the proper use of inheritance and model/view/controller distinctions, various issues concerning multithreaded systems, I/O, exception handling, and distributed computing. 3 hours lecture. (002356)
    • a listed elective for the MS in Computer Science in an area other than Artificial Intelligence (3 units)

Grading Requirement
Once entered into the BMS program, the student must maintain the minimum GPA requirement of 3.0 during their remaining undergraduate and graduate semesters.

Eligibility for Change to, and Minimum Duration of, BMS Graduate Status
The following are minimum eligibility requirements.

  • The student must successfully complete a minimum of 120 units toward BMS program requirements. These units must count toward either of the two degrees (BS or MS) that will ultimately be awarded in the blended program; they need not be restricted to those counting toward the undergraduate degree alone.
  • Minimum 3.0 GPA in all coursework since entry into the BMS program. 
  • Prior completion of the Graduation Writing Requirement is strongly encouraged but not required.

At the conclusion of the semester that the eligibility requirements are met, the student makes a request to the Graduate Coordinator to change to BMS graduate status. A Master's Degree Program Plan is prepared and submitted to the Graduate Coordinator and the Office of Graduate Studies. The student will be changed to BMS graduate status effective the following semester. The student must be enrolled in coursework for at least two academic semesters in BMS graduate status.

Process to Award Both Degrees

  • The student must meet all requirements for both the MS and the BS with the modifications described above for the BMS program. Courses taken to meet the requirements of one of the degrees cannot be substituted to also count toward the requirements of the other degree unless the student does not complete both the BS and MS as noted below.
  • The student applies to the Office of Graduate Studies to graduate in the Accelerated BS + MS (BMS) program one semester prior to graduation.
  • When it is confirmed that all requirements for both degrees have been met, the two degrees are awarded at the same time and at the same graduation ceremony.
  • If a student fails to complete MS requirements, but completes undergraduate degree requirements, the undergraduate matriculation can be re-opened in order to grant the BS degree.
Catalog Cycle:11