Computer Science, M.S. Program
Program Description
The Department of Computer Science offers graduate study leading to the degree of Master of Science in Computer Science. This program is designed to extend the student’s knowledge in a broad manner beyond the baccalaureate degree major in Computer Science. It will both (1) deepen general understanding of theoretical principles and (2) provide exposure to important applications of Computer Science such as security, software engineering, database, networking, and others. This approach is especially important in Computer Science, where training in specific languages and systems and on specific machines is transitory, as these languages, systems, and machines evolve. In contrast, many of the principles will last, and generally apply to a wide variety of specializations within the field. The breadth of subject material is important as many students will have a number of different job classifications in their working lives.
Students pursuing the Master of Science in Computer Science choose from one of two concentrations, Computer Science or Computer Networks. The Computer Science concentration provides significant flexibility allowing the student to direct their studies towards the special interest area they find most compelling. The Computer Networks concentration provides the opportunity to focus on topics in Computer Networking.
Our program features small classes that allow for close contact between students and faculty. Many graduate classes are offered in the late afternoon or early evening, making it possible for working students to attend.
Students interested in the M.S. degree program in Computer Science should contact the Computer Science Graduate Coordinator.
Program Learning Outcomes
Students graduating with an M.S. in Computer Science will be able to:
- Apply knowledge of mathematics and computational theory to analyze problems in computer science, and assess and determine the resources and requirements needed for their solution.
- Design, develop, and evaluate a computer-based system, process, component, or program to meet desired needs.
- Classify and explain the mechanisms, components and architecture of computing systems.
- Employ current techniques, skills, and tools necessary for computing practice, and justify the need for continuing professional development.
- Discuss professional, ethical, legal, and security issues and responsibilities, and the impact of computing on individuals, organizations and society.
- Function successfully on teams to accomplish a common goal, and explain computer science concepts effectively in written and oral form.
Career Opportunities
Software/Application Engineer • Network Engineer • Web/Multimedia Developer • Game Designer • Systems Analyst • Network Security Administrator • Cloud Engineer • Systems Manager/Programmer • Network Administrator • Database Applications Programmer/Administrator • Technical Writer • Big Data Analyst • Information Technology (IT) Administrator • Teacher/Professor
Features
The university provides multiple PC labs available on campus as well as wireless network access. Cal State has several active Computing Clubs, which host presentations from members of industry, as well as hackathons, academic and social events, and are involved with a number of ongoing projects. Our proximity to Silicon Valley provides opportunities for internships and employment in the high-tech companies in the area. The department is committed to a program rich in diversity, and encourages women, minorities, and international students to apply.
Scholarships
Each year the department awards a number of scholarships covering a portion of the fees for the subsequent year. Scholarship applications may be filed during the spring semester.
Admission
To apply for admission to the Master of Science program in Computer Science, a student must submit the proper forms, fees and transcripts to the university’s Office of Admissions, which initially reviews each application. Each applicant must also submit their scores on the General Test of the Graduate Record Examination (GRE) directly to the university. After the Office of Admissions has completed their review, applications are forwarded to the Computer Science department which makes the decision whether to accept or reject the applicant.
A student wishing to enter the M.S. in Computer Science program must normally have an undergraduate degree in Computer Science or in a related field, must have a grade point average of 3.0 in all undergraduate work, and must have earned a “B” or better in the Computer Science and Mathematics courses listed below.
Computer Science Admission Requirements
Four lower-division Computer Science courses equivalent to the following Cal State East Bay courses:
- CS 101 Computer Science I
- CS 201 Computer Science II
- CS 211 Mathematical Foundations of Computer Science
- CS 221 Computer Organization and Assembly Programming
Six upper division Computer Science courses equivalent to the following Cal State East Bay courses:
- CS 301 Data Structures and Algorithms
- CS 311 Programming Language Concepts
- CS 321 Computer Architecture
- CS 411 Automata and Computation
- CS 413 Analysis of Algorithms
- CS 421 Operating Systems
Mathematics Requirements for Admission
- MATH 130 Calculus I
- MATH 131 Calculus II
- MATH 225 Numerical Algorithms and Linear Algebra for Computer Science
- STAT 316 Statistics and Probability for Science and Engineering I
A student who has not completed all of the course admission requirements may be admitted to the program at the discretion of the department as a “Conditionally Classified Graduate” student, provided the student’s record clearly demonstrates the capability of completing all the course requirements after admission. Students must complete any course deficiencies or remediation with grades of “B” or better. Course deficiencies or remediation must be completed before enrolling in graduate Computer Science courses. Note that courses used to make up deficiencies for admission may not be applied toward the master’s degree.
Student Standing and Progress Towards the Degree
There are three categories of student status which reflect student progress towards the degree: “Conditionally Classified Graduate”, “Classified Graduate”, and “Advancement to Candidacy.”
- Students are granted “Conditionally Classified Graduate” status when they have been admitted to the M.S. in Computer Science program, but have not yet completed all the requirements for “Classified Graduate” status.
- Students with “Conditionally Classified Graduate” status, no course deficiencies or remediation, should petition the graduate coordinator for “Classified Graduate” status.
- Students with “Classified Graduate” status may apply for “Advancement to Candidacy” status after completing the five M.S. required courses with a “B” or better average. In addition, a student must have an overall and graduate GPA of 3.0 or better. Before Advancement to Candidacy, a student’s complete course of study must be approved by the Computer Science Graduate Coordinator.
Cause for Dismissal from Program
Students may be dismissed from the program at any time “for cause.” “For cause” includes, but is not limited to, poor academic performance, violation of the student code of conduct, academic dishonesty, or interference with the educational environment. Students whose GPA falls below 3.0 for two or more consecutive semesters will be academically disqualified from the university. Students with two or more filed academic dishonesty reports will be referred to the Office of Graduate Studies with a recommendation that they be declassified from the program. See Academic Dishonesty Policies in the Student Conduct, Rights & Responsibilities chapter for further information.
Computer Science Degree Requirements (30-33 units)
The following departmental requirements are in addition to the university requirements:
Required Courses
The following 15 units are required for the degree:
Concentrations
Students must select one (1) of the following concentrations, for 12 units, to fulfill the degree requirements: