COMPUTER SCIENCE
College of Engineering and Computer Science
- BACHELOR OF SCIENCE
- MINOR
- MASTER OF SCIENCE
- CERTIFICATES
- ADVANCED CERTIFICATES
- CAREER POSSIBILITIES
- FACULTY
- CONTACT
- COMPLETE COURSE LISTING
PROGRAM DESCRIPTION
The Bachelor of Science degree in Computer Science is accredited by the Computing Accreditation Commission (CAC) of ABET, Inc., providing majors with a sound educational base in Computer Science. The Minor in Computer Science is available for students majoring in disciplines other than Computer Engineering.
The certificate program in Web Development is available to both majors and non-majors. Majors interested in enhancing their degrees need only take CSC 121 and CSC 123 in addition to major-required courses. Non-majors who complete the series of seven courses will be able to install and maintain a reasonably complex Web server, create home pages, and link pages to local databases.
The Department offers three programs in conjunction with other units: with the Mathematics Department, a joint program in Mathematics and Applied Computing (refer to the Mathematics section of this catalog); and with the Electrical and Electronic Engineering Department, a BS and an MS in Computer Engineering (refer to the Computer Engineering section of this catalog).
Special Features
- The research interests of the department faculty span a broad spectrum of Computer Science including active databases, algorithm analysis, autonomic computing, bioinformatics, compilers, computer architecture, computer forensics, computer graphics and computer game design, computer networks and communications, computing theory, cryptography, data models and database management systems, data warehousing and data mining, distributed systems and real-time systems, formal methods, human-computer interfaces, information assurance and security, intelligent and knowledge-based systems, Internet and Web technologies, machine learning, network security, operating systems, performance modeling and evaluation, programming languages and methodologies, software architecture, software project management, software requirements engineering, software system engineering, verification and validation, VLSI design.
- A large heterogeneous network of Linux 64-bit, Sun RISC, and Hewlett-Packard RISC servers combined with Linux, SunOS, HPUX, Windows, and MacOS workstations supports the instructional programs. Linux and Windows workstation laboratories support both lower and upper-division instruction. Specialized laboratories support systems, communications and networking, computer security, and computer architecture instruction. A graduate laboratory is designed to provide graduate students with access to a variety of advanced workstations. All students have access to the Internet and every conceivable Web resource.
- Majors are urged to join the student chapters of the Association for Computing Machinery or the IEEE Computer Society. Students with high scholastic achievement may be invited to join Upsilon Pi Epsilon, the national honor society for Computer Science.
- The University's proximity to many California State agencies and major computer corporations provides numerous opportunities for part-time student employment.
Bachelor of Science Educational Objectives
The objectives of this program are to prepare graduates to:
- analyze, design, and implement a computerized solution to a significant problem in a team environment using appropriate tools;
- enter a professional Computer Science position or an appropriate graduate program;
- communicate effectively through speaking, writing, and graphics;
- pursue life-long learning and continued professional development; and
- be aware of ethical issues and societal concerns relating to computers in society and apply this knowledge in the conduct of their careers.
UNDERGRADUATE PROGRAMS
All students are admitted as pre-Computer Science majors. Registration in upper-division courses numbered 133 and above is restricted to Computer Science and Computer Engineering majors. Other students need to obtain approval from the CSC Department Chair. To change to the Computer Science major, students who have completed the following lower division (pre-major) requirements are required to complete and submit a Change of Major form to the Computer Science Department Office along with transcript copies: CSC 15, CSC 20, CSC 28, CSC 35, CSC 60, and MATH 30 and MATH 31.
Course Repeat Policy: Students may repeat a Computer Science course once at most without permission. Additional repeats must be approved by the instructor and the Department Chair by completing a "Request to Repeat" petition and submitting it to the Department.
Work Experience: Students may receive a limited amount of academic credit for relevant work experience in Computer Science. There are many opportunities for students to work part-time in the federal, state, and local governments. A significant number of positions in private industry are also available in both well-established and new companies in the Sacramento area. Such work experiences often lead to permanent positions upon graduation.
Note: Useful information can also be found in the College of Engineering and Computer Science section.
Requirements - Bachelor of Science Degree
Units required for Major: 87-90
Minimum total units required for BS: 129
Grade of "C-" or better required in all courses applied to the Computer
Science major.
Note: Additional units may be required to meet the Sacramento State foreign
language requirement.
Courses in parentheses are prerequisites.
A. Required Lower Division Courses (15 units) |
||
(3) |
Programming Concepts and Methodology I (CSC 10 or programming experience in a high-level programming language) |
|
(3) |
Programming Concepts and Methodology II (CSC 15) |
|
(3) |
Discrete Structures for Computer Science (MATH 29 and CSC 20; CSC 20 may be taken concurrently) |
|
(3) |
Introduction to Computer Architecture (CSC 15) |
|
(3) |
Introduction to Systems Programming in UNIX (CSC 20, CSC 35) |
|
B. Required Mathematics Courses (15-16 units) |
||
(4) |
Calculus I (MATH 29 or four years of high school mathematics which includes two years of algebra, one year of geometry, and one year of mathematical analysis; completion of ELM requirement and Pre-Calculus Diagnostic Test) |
|
(4) |
Calculus II (MATH 30 or appropriate high school based AP credit) |
|
(4) |
Introduction to Probability and Statistics (MATH 26A, MATH 30, or appropriate high school based AP credit) |
|
(3-4) | Select one of the following: | |
|
Calculus III (MATH 31) |
|
Differential Equations for Science and Engineering (MATH 31) |
||
Number Theory (MATH 31) |
||
Introduction to Techniques of Operations Research (MATH 31; STAT 50, STAT 103, or STAT 115A; MATH 31 may be taken concurrently) OR |
||
Another advanced math course with prior Computer Science department approval. | ||
C. Required Science Courses (11-13 units) |
||
(4) |
General Physics: Mechanics (MATH 30, MATH 31 or equivalent certificated high school courses; MATH 31 may be taken concurrently) |
|
(4) |
General Physics: Electricity and Magnetism, Modern Physics (MATH 31, PHYS 11A) |
|
(3-5) Select one of the following (the course cannot be used to satisfy the General Education B2 requirement): | ||
Basic Biological Concepts |
||
The Natural History of Plants (A college biology course or instructor permission) |
||
Plants and Civilization (BIO 10 or equivalent) |
||
Physiology of Human Reproduction (BIO 1, BIO 2, BIO 10, or BIO 20) |
||
Introduction to Neuroscience (PSYC 2, PSYC 101, physiology and chemistry background strongly recommended) |
||
General Chemistry I (High school chemistry and college algebra; sufficient performance on the college algebra diagnostic test, or equivalent) |
||
Modeling and Experimental Design (MATH 31, STAT 50, proficiency in a programming language) |
||
Introduction to Econometrics (ECON 1A, ECON 1B, ECON 140; ECON 100A or ECON 100B recommended) |
||
Introductory Circuit Analysis (MATH 45, PHYS 11C; either may be taken concurrently but not both) |
||
Engineering Materials (CHEM 1A, PHYS 11A; CHEM 1A may be taken concurrently) |
||
Electronics and Instrumentation (PHYS 11C or PHYS 5B, with instructor permission) |
||
Note: To satisfy the requirements of CAC, the Computing Accreditation Commission of ABET, Inc. which accredits Computer Science programs, students must have taken a total of four courses in a scientific discipline and/or quantitative science. The courses in a scientific discipline must be those typically taken by the majors in that discipline. As part of this requirement a two-semester sequence in a laboratory science must be included (PHYS 11A and PHYS 11C satisfies this requirement). Students ordinarily complete one of the remaining two courses by choosing an appropriate course in General Education Category B2 (BIO 10 is recommended). The second course is expected to be chosen from the list above. Hence, students must have taken a total of four courses in this category. |
||
D. Required Upper Division Courses (37 units) |
||
(3) |
Data Structures and Algorithm Analysis (CSC 20, CSC 28; CSC 28 may be taken concurrently) |
|
(3) |
Computer Software Engineering (CSC 130; may be taken concurrently) |
|
(3) |
Computing Theory (CSC 28, CSC 130; CSC 130 may be taken concurrently) |
|
(3) |
Object-Oriented Computer Graphics Programming (CSC 130, CSC 131) |
|
(3) |
Database Management and File Organization (CSC 130) |
|
(3) |
||
(4) |
||
(3) |
||
(3) |
Operating System Principles (CSC 60, CSC 137; or equivalents) |
|
(2) |
Senior Project: Part I (Senior status; GWAR Certification before Fall 09, or WPJ score of 70+, or at least a C- in ENGL 109M/W; CSC 130, CSC 131, and four additional 3-unit CSC upper division courses that fulfill the major requirements excluding CSC 192-195, CSC 198, CSC 199) |
|
(2) |
Senior Project: Part II (CSC 190) |
|
(3) |
Business and Computer Ethics |
|
(2) Select two units from the following: | ||
Career Planning (1 unit maximum) (CSC 130 and three additional upper-division courses that fulfill major requirements with a C- grade or better (excluding CSC 190-195, CSC 198, and CSC 199) |
||
Computer Science Seminar (Upper division or graduate status in CSC) |
||
Fieldwork in Computer Science (Instructor permisison) |
||
Professional Practice (Instructor permission) |
||
Co-curricular Activities in Computer Science |
||
Special Problems |
E. Electives (9 units)
In addition to the required lower-division and upper-division Computer Science courses, Computer Science majors must take three additional elective courses, totaling at least nine (9) units, chosen from undergraduate Computer Science courses numbered CSC 140 or above (excluding CSC 192, CSC 194, CSC 195, CSC 195A, CSC 198, CSC 199). A variety of combinations is acceptable, but it is required that these elective courses be chosen with advisor consultation and approval. With advance written approval from their advisor, the course instructor, and the Department Chair, students with a GPA of 3.0 or better may take graduate courses as electives. In any case students must meet the prerequisite stated in the catalog prior to taking any elective course.
Cooperative Education Program (Work Experience)The Computer Science Department encourages students to participate in the Cooperative Education Program (Co-op) which provides alternate periods of University study and major-related, paid work experience in private industry or government. The experience will enhance the student's employment prospects upon graduation. Most participants in Computer Science will complete the equivalent of two six-month work periods, one in their junior year and one in their senior year. Students must enroll in CSC 195A (B ,C, D) and are awarded a certificate upon satisfactory completion of the two work periods. However, the credits for this course do not replace the curricular requirements of the BS Computer Science degree. Students interested in Co-op should apply in the Career Center). For information call (916) 278- 6231.
Requirements - Minor
Total units required for Minor: 21
Grade of "C-" or better required in all courses applied to the Computer Science minor.
Courses in parentheses are prerequisites.
Admission Requirement
Completion of MATH 29 with a grade of "C-" or better, or passing the ELM at a level qualifying for MATH 30 .A. Required Courses (12 units) |
||
(3) |
Programming Concepts and Methodology I (CSC 10, or programming experience in a high-level programming language) |
|
(3) |
Programming Concepts and Methodology II (CSC 15) |
|
(3) |
Discrete Structures for Computer Science (MATH 29 and CSC 20; CSC 20 may be taken concurrently) |
|
(3) |
Data Structures and Algorithm Analysis (CSC 20, CSC 28; CSC 28 may be taken concurrently) |
|
B. Electives (9 units) |
||
(9) Select nine additional units with faculty approval; at least six units must be upper division courses, and only Computer Science courses which are part of the major may be applied to this nine-unit requirement. |
Requirements - Minor - Information Security and Computer Forensics
Total units required for Minor: 18
Grade of "C-" or better required in all courses applied to the Computer Science minor.
Courses in parentheses are prerequisites.
Required Courses (18 units) |
||
(3) |
Introduction to Programming Logic (MATH 11 or equivalent) OR |
|
Visual Programming in BASIC (Intermediate Algebra) |
||
(3) |
Web Development with HTML/XHTML and Tools (CSC 8, or equivalent computer and Internet experience) |
|
(3) |
Digital Evidence and Computer Crime |
|
(3) |
Internet Security (CSC 114) |
|
(3) |
Cyber Forensics (CSC 114) |
|
(3) |
Web Database Applications (CSC 10 or CSC 22; CSC 80, or equivalent) |
Requirements - Certificate - Web Development
Total units required for Certificate: 21 units.
A grade of "C-" or better required in all courses applied to this certificate program.
Courses in parentheses are prerequisites.
Note: Requirements for non-majors interested in mastering a set of skills for creating and managing information on a Web server:
(3) | Select one of the following: | |
|
Introduction to Internet Technologies (Basic computer literacy recommended) |
|
|
Self-Paced Introduction to Internet Technologies (Basic computer literacy recommended) |
|
(3) |
Visual Programming in BASIC (Intermediate Algebra) |
|
(3) |
Web Development with HTML/XHTML and Tools (CSC 8 or equivalent computer and Internet experience) |
|
(3) |
Web Server Administration (CSC 80) |
|
(3) |
Client-Side Web Programming (CSC 22, CSC 80 or equivalents; or PCSC/CSC Major, CSC 60, CSC 130) |
|
(3) |
Web Database Applications (CSC 10 or CSC 22; CSC 80, or equivalent) |
|
(3) |
Web Application Development (CSC 22, CSC 121, CSC 122 or equivalent experience or PCSC/CSC Major, CSC 60, CSC 134) |
|
*With advisor approval an elective course from CSC or Communication Studies (COMS) can be used in place of either CSC 122 or CSC 123, but not both. |
Requirements for Majors: CSC 121 and CSC 123 in addition to completing CSC 60, CSC 130, CSC 134, CSC/CPE 138, and CSC 139. Prerequisites for majors taking CSC 121 are CSC 60 and CSC 130; prerequisites for majors taking CSC 123 are CSC 60 and CSC 134 (CSC/CPE 138 and CSC 139 are recommended as prerequisites and required for the final certificate).
Graduate students who are fully classified in either Computer Science or Software Engineering need only take CSC 121 and CSC 123.
Requirements - Certificate - Information Assurance and Security
Courses in parentheses are prerequisites.
Required Courses (9 units) |
||
(3) |
||
(3) |
Computer Forensics Principles and Practices (CSC 138 or CPE 138) |
|
(3) |
Computer System Attacks and Countermeasures (CSC 138 or CPE 138) |
GRADUATE PROGRAMS
The Computer Science Department offers Master's Degree programs in Computer Science and Software Engineering, Certificates of Advanced Study for students enrolled in the Computer Science program, and a Master's Degree joint program in Computer Engineering.
The primary goal of each of these programs is to prepare students to serve as effective professional computer specialists in a society which increasingly depends on computer usage and technology.
A secondary goal is to prepare interested students for research, teaching, or further study toward the Ph.D. in Computer Science. The programs also enable individuals with background in other areas to obtain the skills and knowledge necessary to enter and advance in employment in computer-related industries.
The admission requirements for the Master's in Computer Science and the Master's in Software Engineering are identical. Completion of the Master of Science in Computer Science requires advanced coursework in a minimum of three of the following areas: computer architecture/computer engineering, database management systems, information assurance and security, intelligent systems, networks and communications, software engineering, and systems software. Completion of the Master of Science in Software Engineering requires advanced coursework in the software engineering area.
Teaching associateships are occasionally available for qualified graduate students; these students assist in instruction of undergraduate courses, supervision of laboratory work, and aid faculty members in research projects. Interested persons should apply in the Department office.
Due to the large number of graduate students in Computer Science who are employed, most graduate level courses are offered in the late afternoon or evening.
Admission Requirements
Admission as a classified graduate student requires:
- a baccalaureate degree;
- a minimum 3.0 GPA in the last 60 units attempted;
- GRE general test;
- mathematical preparation including two semesters of calculus and one semester of calculus-based probability and statistics corresponding to Sacramento State courses MATH 30, MATH 31, STAT 50;
- Computer Science lower-division preparation including programming proficiency, discrete structures, machine organization, and UNIX and PC-based program development environment proficiency corresponding to Sacramento State courses CSC 15, CSC 20, CSC 28, CSC 35, and CSC 60 and as evidenced by a pass on the graduate student placement test or a baccalaureate degree in Computer Science; and
- Computer Science advanced preparation as evidenced by a 3.25 GPA in the following Sacramento State upper division Computer Science courses or their equivalent elsewhere: CSC 130, CSC 131, CSC 132, CSC 134, CSC 137, CSC/CPE 138, CSC 139.
Applicants with deficiencies in the admission requirements area are advised to remove any such deficiencies before applying.
Admission Procedures
Applications are accepted February through March for fall semester and August through September for spring semester. All prospective graduate students, including Sacramento State graduates, must file the following with the Sacramento State Office of Graduate Studies, River Front Center 206, (916) 278-6470:
- an online application for admission;
- two sets of official transcripts from all colleges and universities attended, other than Sacramento State; and
- official GRE general test scores.
Applications must be received by April 1 (fall semester) and October 1 (spring semester).
Advancement to Candidacy
Each student must file an application for Advancement to Candidacy, indicating a proposed program of graduate study. This procedure should begin as soon as the classified graduate student has:
- removed any deficiencies in admission requirements;
- completed at least 12 units of graduate level (200 series) Computer Science courses with a minimum 3.0 GPA; and
- taken the Writing Placement for Graduate Students (WPG) or taken a Graduate Writing Intensive (GWI) course in their discipline within the first two semesters of coursework at California State University, Sacramento or secured approval for a WPG waiver.
Students must have been advanced to candidacy before they can register for Master's thesis or project. Advancement to Candidacy forms are available in the Office of Graduate Studies. The student fills out the form after planning a degree program in consultation with a Computer Science graduate advisor. The completed form must be signed by the Graduate Coordinator or the Department Chair and is then returned to the Office of Graduate Studies for approval.
Requirements - Master of Science Degree - Computer Science
Units required for MS: 30, including at least 21 units
of 200-level and 500-level courses
Minimum GPA: 3.0
Courses in parentheses are prerequisites.
Note: Only those courses completed within seven years prior to date of graduation will satisfy course requirements. An outline of degree requirements follows:
A. Required Courses (13 units) |
||
(3) |
Programming Language Principles (Fully classified graduate status in Computer Science or Software Engineering) |
|
(3) |
Data Models for Database Management Systems (Fully classified graduate status in Computer Science or Software Engineering) |
|
(3) |
Computer Systems Structure (Fully classified graduate status in Computer Science, Software Engineering or Computer Engineering) |
|
(3) |
Algorithms and Paradigms (Fully classified graduate status in Computer Science or Software Engineering) |
|
(1) |
Research Methodology (Fully classified graduate status in Computer Science or Software Engineering, GWAR Certification before Fall 09, or WPJ score of 70+, or at least a C- in ENGL 109M/W, and completion of at least 12 units of 200-level CSC courses) |
|
+Students whose undergraduate preparation has covered a significant amount of the material in CSC 204 or CSC 205 may be given a waiver by the Department from taking one or more of these courses. In this case, for each course waived with department approval, the student must take three additional units of Restricted Electives, described in Section C below. |
||
B. Breadth Requirement (9 units) |
||
Select one course from three of the following areas: |
||
Computer Architecture/Computer Engineering | ||
Microprocessor Systems Architecture (CSC 205) |
||
Computer-Aided Systems Design and Verification (CSC 205, CSC 273, or EEE 273) |
||
Hierarchical Digital Design Methodology (CSC 205, CPE/EEE 64 or equivalent) |
||
Advanced Computer Architecture (CSC 205; fully classified graduate status in Computer Science or Software Engineering) |
||
Database Management Systems | ||
Bioinformatics: Data Integration and Algorithms (CSC 130, STAT 50, and graduate status; BIO 10 recommended) |
||
Information Assurance and Security | ||
Computer Security (Fully classified graduate standing in Computer Science, Software Engineering, or Computer Engineering) |
||
Cryptography Theory and Practice (Fully classified graduate standing in Computer Science, Software Engineering, or Computer Engineering) |
||
Computer Forensics (Fully classified graduate standing in Computer Science, Software Engineering, or Computer Engineering) |
||
Network Security (Fully classified graduate standing in Computer Science, Software Engineering, or Computer Engineering) |
||
Intelligent Systems | ||
Knowledge-Based Systems (Fully classified graduate status in Computer Science or Software Engineering) |
||
|
Artificial Intelligence (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
|
|
Machine Learning (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
|
Networks and Communications | ||
Computer Networks (Fully classified graduate status in Computer Science, Software Engineering, or a Computer Engineering) |
||
Distributed Systems (CSC 204 and fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Advanced Data Communication Systems (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Software Engineering | ||
Software System Engineering (Fully classified graduate status in Computer Science or Software Engineering; or Computer Engineering and CSC 131) |
||
|
Software Engineering Metrics (Fully classified graduate status in Computer Science or Software Engineering) |
|
Software Requirements Analysis and Design (Fully classified graduate status in Computer Science or Software Engineering) |
||
Advanced Software Engineering Project Management (Fully classified graduate status in Computer Science or Software Engineering) |
||
Software Verification and Validation (Fully classified graduate status in Computer Science or Software Engineering; or Computer Engineering and CSC 131) |
||
Software Architecture (Fully classified graduate status in Computer Science or Software Engineering) |
||
Formal Methods in Secure Software Engineering (Fully classified graduate status in Computer Science or Software Engineering) |
||
Human-Computer Interface Design (Fully classified graduate status in Computer Science or Software Engineering) |
||
System Software | ||
Advanced Operating System Principles and Design (CSC 205) |
||
Performance Modeling and Evaluation (Fully classified graduate status in Computer Science or Software Engineering) |
||
Computer Security (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
C. Restricted Electives (3-6 units)
Prior to taking an elective course, students must obtain approval from their advisor, and either the Graduate Coordinator or the Department Chair.
Students should choose their electives according to the following guidelines:
- One of the following upper division courses: CSC/CPE 142 , CSC 148, CSC 155, CSC/CPE 159, CSC 165, CSC 176, CSC 177 as long as they have not been used towards another degree. (A maximum of 6 undergraduate units may be used in any graduate program.)
- Any 200-level CSC courses not already used to satisfy the Breadth Requirement, with the exception of CSC 295 and CSC 299. Students not required to take CSC 204 or CSC 205 must, for each course waived, take an additional three units in this category.
- Related 200-level courses from outside the Computer Science Department may only be taken with prior department approval and may not have been used in another program.
D. Culminating Requirement (2-5 units)
Select one of the following: | ||
Master's Thesis (CSC 209; advanced to candidacy) OR |
||
Master's Project (CSC 209; advanced to candidacy) |
*Students are required to make an oral presentation of their master's project or conduct an oral defense of their master's thesis. The recommended department-level deadline in each semester for submitting an MS project or thesis signed by the committee chair and its members to the Graduate Coordinator's office is 10 weekdays prior to the University deadline.
Requirements - Master of Science Degree - Software Engineering
Units required for MS: 30, including a software engineering project or thesis with a minimum 3.0 GPA.
This degree provides the student with the ability to specialize in the application of software engineering principles to the development of large and complex computer systems.
The program's courses are structured to satisfy two groups of students: (1) those pursuing an MSSE degree and (2) those interested in individual courses. Individuals wishing to pursue a degree must satisfy the Computer Science graduate program entrance requirements. Those enrolling in individual courses must have an undergraduate degree in Computer Science (or related field) or a minimum of one-year's work experience involving some aspect of software engineering.
The MS Degree in Software Engineering offers, in addition to a core curriculum, advanced studies in the software engineering area. This program covers the entire software application development process from problem definition through requirements, design, implementation, testing, operation, and maintenance.
Note: Only those courses completed within seven years prior to date of graduation will satisfy course requirements. An outline of degree requirements follows:
Courses in parentheses are prerequisites.
A. Required Software Engineering Courses (21 units) |
||
Select 7 out of the following 8 courses: | ||
(3) |
Software System Engineering (Fully classified graduate status in Computer Science or Software Engineering; or Computer Engineering and CSC 131) |
|
(3) |
Software Engineering Metrics (Fully classified graduate status in Computer Science or Software Engineering) |
|
(3) |
Software Requirements Analysis and Design (Fully classified graduate status in Computer Science or Software Engineering) |
|
(3) |
Advanced Software Engineering Project Management (Fully classified graduate status in Computer Science or Software Engineering) |
|
(3) |
Software Verification and Validation (Fully classified graduate status in Computer Science or Software Engineering; or Computer Engineering and CSC 131) |
|
(3) |
Software Architecture (Fully classified graduate status in Computer Science or Software Engineering) |
|
(3) |
Formal Methods in Secure Software Engineering (Fully classified graduate status in Computer Science or Software Engineering) |
|
(3) |
Human-Computer Interface Design (Fully classified graduate status in Computer Science or Software Engineering) |
|
B. Required Research Metohdology (1 unit) |
||
(1) |
Research Methodology (Fully classified graduate status in Computer Science or Software Engineering, GWAR Certification before Fall 09, or WPJ score of 70+, or at least a C- in ENGL 109M/W, completion of at least 12 units of 200-level courses in Computer Science) |
|
C. Restricted Electives (3-6 units) |
||
Prior to taking an elective course, students must obtain approval from their advisor, and either the Graduate Coordinator or the Department Chair. Students should choose their electives according to the following guidelines:
|
||
D. Culminating Requirement (2-5 units) |
||
Select one of the following: | ||
|
Master's Thesis (CSC 209; advanced to candidacy) OR |
|
|
Master's Project (CSC 209; advanced to candidacy) |
|
*Students are required to make an oral presentation of their master's project or conduct an oral defense of their master's thesis. The recommended department-level deadline in each semester for submitting an MS project or thesis signed by the Committee Chair and its members to the Graduate Coordinator’s office is 10 weekdays prior to the University deadline. |
Requirements - Certificates - Advanced Programs
Minimum required GPA for all courses taken in the program: 3.0
Courses in parentheses are prerequisites.
Note: The Certificates in Computer Science program are designed to recognize students who have completed the core graduate courses -- CSC 201, CSC 204, CSC 205 and CSC 206 -- plus additional advanced coursework in a specialty area.
These certificates are available only for MS Computer Science matriculated students.
Certificate in Bioinformatics Technology (12 units)(3) |
BIO 224 | Genomics, Proteomics and Bioinformatics (BIO 184, BIO 222, graduate status or instructor permission) |
(3) |
Bioinformatics: Data Integration and Algorithms (CSC 130, STAT 50, and graduate status; BIO 10 recommended) |
|
(3) |
Artificial Intelligence (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) OR |
|
Machine Learning (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
(3) | Select one of the following: | |
|
Computational Chemistry (CHEM 140A and CHEM 140B or CHEM 142 or instructor permission) |
|
Distributed Systems (CSC 204 and fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
(3) |
Advanced Computer Organization (CSC 137 or equivalent) |
|
(3) |
Advanced Computer Architecture (CSC 205 and fully classified gradaute status in Computer Science or Software Engineering) |
|
(3) | Select one of the following: | |
Microprocessor Systems Architecture (CSC 205) |
||
Computer-Aided Systems Design and Verification (CSC 205, CSC 273, or EEE 273) |
||
Hierarchical Digital Design Methodology (CSC 205 or CPE 64 or equivalent) |
||
Advanced Data Communication Systems (Fully-classified graduate-level major in Computer Science, Software Engineering, or a Computer Engineering) |
||
Special Topics in Computer Science - Computer Architecture |
||
(3) | Select one of the following: | |
Advanced Operating Systems Principles and Design (CSC 205) |
||
(3) | Select one of the following: | |
(3) |
Advanced Computer Organization (CSC 137 or equivalent) |
|
(3) | Select one of the following: | |
Microprocessor Systems Architecture (CSC 205) |
||
Advanced Data Communication Systems (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Advanced Computer Architecture (CSC 205 and fully classified graduate status in Computer Science or Software Engineering) |
||
Special Topics in Computer Science - Computer Engineering |
||
(3) |
Computer-Aided Systems Design and Verification (CSC 205, CSC 273, or EEE 273) OR |
|
Hierarchical Digital Design Methodology (CSC 205, CPE 64 or equivalent) |
||
(3) | ||
(3) |
Computer Networks (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
|
(6) | Select two of the following: | |
Network Security (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Distributed Systems (CSC 204 and fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Advanced Data Communication Systems (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Special Topics in Computer Science - Network Communications |
(9) | Select three of the following: | |
Computer Security (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Distributed Systems (CSC 204 and fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Special Topics in Computer Science - Database Management |
(9) | Select three of the following: | |
Formal Methods in Secure Software Engineering (Fully classified graduate status in Computer Science or Software Engineering) |
||
Computer Security (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Cryptography Theory and Practice (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Computer Forensics (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Network Security (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
(3) |
Artificial Intelligence (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
|
(6) | Select two of the following: | |
Knowledge-Based Systems (Fully classified graduate status in Computer Science or Software Engineering) |
||
Machine Learning (Fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Special Topics in Computer Science - Intelligent Systems |
(9) | Select three of the following: | |
|
Software System Engineering (Fully classified graduate status in Computer Science or Software Engineering; or Computer Engineering and CSC 131) |
|
Software Engineering Metrics (Fully classified graduate status in Computer Science or Software Engineering) |
||
Software Requirements Analysis and Design (Fully classified graduate status in Computer Science or Software Engineering) |
||
Advanced Software Engineering Project Management (Fully classified graduate status in Computer Science or Software Engineering) |
||
Software Verification and Validation (Fully classified graduate status in Computer Science or Software Engineering; or Computer Engineering and CSC 131) |
||
Software Architecture (Fully classified graduate status in Computer Science or Software Engineering) |
||
Formal Methods in Secure Software Engineering (Fully classified graduate status in Computer Science or Software Engineering) |
||
Human Computer Interface Design (Fully classified graduate status in Computer Science or Software Engineering) |
||
Special Topics in Computer Science - Software Engineering |
(3) |
Advanced Operating Systems Principles and Design (CSC 205) |
|
(6) | Select at least two of the following: | |
Performance Modeling and Evaluation (Fully classified graduate status in Computer Science or Software Engineering) |
||
Computer Security (Fully classified graduate status in Computer Science, Computer Engineering, or Software Engineering) |
||
Distributed Systems (CSC 204 and fully classified graduate status in Computer Science, Software Engineering, or Computer Engineering) |
||
Special Topics in Computer Science - Software Engineering |
Career Possibilities
Computer Scientist · Computer Engineer · Software Engineer · Computing Science Educator · Information Technology Specialist · Computer Systems Analyst · Scientific Application Programmer · Computer Operations Manager · Computer Services Coordinator · Database Administrator · Computer Game Developer · Data Communications Manager · Data Processing Manager · Network Administrator · Programmer Analyst · Software Requirements Engineer · Software Architect · Software Quality Assurance Specialist · Software Development Project Manager · Systems Manager · Systems Programmer · Computer Graphics Specialist · Knowledge Engineer · Systems Engineer · Security Specialist · Information Assurance Specialist · Information Security Officer · Data Mining Analyst · Web/eCommerce Developer
Faculty
Behnam Arad, Robert Buckley, Senad Busovaca, Weide Chang, John Clevenger, Nikrouz Faroughi, Isaac Ghansah, V. Scott Gordon, Ying Jin, Ted Krovetz, Kwai-Ting Lan, Mary Jane Lee, Meiliu Lu, William Mitchell, Jinsong Ouyang, Anne-Louise Radimsky, Ahmed Salem, Chung-E Wang, Cui Zhang, Du Zhang
Contact Information
Du Zhang, Department Chair
Vacant, Administrative Support Coordinator
Riverside Hall 3018
(916) 278-6834
www.ecs.csus.edu/csc