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. At the discretion of the academic program, a maximum of 30 percent of the units counted toward the degree requirements may be special session credit earned in non-matriculated status combined with all transfer coursework.  This applies to special session credit earned through Open University, or in courses offered for academic credit through Regional and Continuing Education.

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 the Graduate Record Examination with a combined score of 300 on the verbal and quantitative portions. Graduates of an ABET accredited program in computer science are exempt from this requirement.

5. Submission of a statement of purpose.

6. Meet Graduate School requirements.

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 111 (Programming and Algorithms I)

(b.) CSCI 211 (Programming and Algorithms II)

(c.) CSCI/MATH 217 (Discrete Mathematics)

(d.) CINS 370 (Introduction to Databases) with a grade of B- or higher

(e.) CSCI 311 (Programming and Algorithms II) with a grade of B- or higher

(f.) CSCI 340 (Operating Systems) with a grade of B- or higher

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

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

3. Courses taken for the purpose of advancement to classified status will not be used towards the MS degree.

4. Meet Graduate School requirements.

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.

5. Meet Graduate School requirements.

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 311 and classified graduate standing.
The course offers a practical exploration into machine learning and cutting-edge topics in neural networks, including modern techniques for deep learning. Students build deep learning models using sophisticated machine learning frameworks and scientific libraries. 3 hours lecture. (002395)
Prerequisites: CINS 370, CSCI 311, and classified graduate standing.
This course examines frameworks, libraries, languages, and tools for the development of full stack web applications that are progressive, responsive, and secure. Student propose, design, develop, test, and present a nontrivial full stack web application. 3 hours seminar. (002436)
Prerequisites: CSCI 430 and classified graduate standing.
Students conduct a study of deigning and maintaining complex software. The course builds upon fundamental software engineering skills with an emphasis on: Object-Oriented software design patterns, anti-patterns, code review and refactoring, and tools for evaluating code quality. Students practice maintaining software by collaborating on a large-scale open source project using automated development operation (DevOps) tools. 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 and classified graduate standing.
This course presents algorithm design techniques (such as divide-and-conquer, greedy algorithms, dynamic programming, and others), mathematical and empirical analysis of algorithms , computability, Rice's theorem, P and NP classes, NP-completeness, and recent advances in algorithms. 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
Prerequisite: CSCI 311 with a grade of C or higher.
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, EECE 237 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
Prerequisite: 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. Topics 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 components 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)

Networks/Security

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisite: 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 446 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. 2 hours lecture, 3 hours laboratory. (002382)
Prerequisites: CSCI 446.
Examination of computer network protocol design issues and a selection of advanced computer networking topics, such as multimedia networking, wireless networks, optical networks and network security, using current and proposed standards as examples. 3 hours discussion, 3 hours laboratory. This course requires the use of a laptop computer and appropriate software. (002560)
Prerequisite: CSCI 446; EECE 555 recommended.
Further study of selected topics from current networking research as presented in recently published journals. 4 hours seminar. (002626)

Visual Computing

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisite: 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)
Prerequisite: CSCI 311 with a grade of C or higher.
Implementation of native mobile applications using a modern framework . Topics include the model-view-controller design pattern, multi-touch event handling, sensory input handling, web service integration, multi-threading and custom user interface design. 3 hours discussion. (002365)
Prerequisite: CSCI 311 with a grade of C or higher.
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)

(c) Completion of 1 elective course (3 units), selected from the 500 and 600 level CSCI or CINS courses.

(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) At the discretion of the academic program, a maximum of 30 percent of the units counted toward the degree requirements may be special session credit earned in non-matriculated status combined with all transfer coursework. This applies to special session credit earned through Open University, or in courses offered for academic credit through Regional and Continuing Education. (Correspondence courses and UC Extension coursework are not acceptable for transfer). 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 by 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.

Blended 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.

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.

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. 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.

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 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 Blended 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:20