COMPUTER SCIENCE
Office:
University Hall, Room 222
Telephone:
(760) 750-4118
Interim Department Chair:
Rika Yoshii, Ph.D.
Faculty:
Rochelle L. Boehning, Ph.D.
Rocio
Guillén-Castrillo, Ph.D.
Hung-Yu
Lin, Ph.D.
Youwen
Ouyang, Ph.D.
Stanley
Wang, Ph.D.
Shaun-inn
Wu, Ph.D.
Rika Yoshii, Ph.D.
Programs Offered:
• Bachelor of Science in
Computer Science
• Minor in Computer Science
• Master of Science in
Computer Science
Computer Science is basically
the study of problem solving on computers. We utilize the power of computers in
the problem solving process while dealing with the constraints of computers. We
offer to the undergraduate and graduate student a rich mix of modern computer
science courses. Common to these offerings are the power, beauty, and utility
of computational thought.
Applications of Computer
Science knowledge include almost every field from business to education, from
humanities to social sciences, or from natural sciences to engineering.
Therefore, the study of Computer Science contains many fields such as computer
architecture, programming languages, computer networking, database systems,
information management, artificial intelligence and numerical analysis.
Hundreds of job
advertisements looking for Computer Science professionals appear in newspapers,
professional magazines and newsletters. Due to the enormous demand, degree
holders in Computer Science have multiple paths to reach their career goals. They
can easily find jobs with excellent pay in many business and industries and
their job titles include positions such as: programmers, system analyst/
engineer/managers, software analyst/engineer/managers, database managers,
network/telecommunications administrators, customer service representative/
managers, computer instructors, technical trainers, technical support,
management information system managers, and sales representatives.
The CSUSM undergraduate study
in Computer Science emphasizes both theoretical foundations and practical
applications. Students will learn algorithms, data structures, software design,
the concepts of programming languages, computer organization, and computer
architecture. The program stresses analysis and design experiences with
substantial laboratory work, including software development. The Computer
Science major prepares students for careers in applications programming,
systems analysis, and software engineering, as well as for entrance into
graduate and professional schools.
Preparation
High school students are
encouraged to take four (4) years of English, four years of mathematics
including trigonometry, one year of biological science, and one year of
physical science. Courses in calculus, physics, and computer programming are
recommended. Experience in clear, concise, and careful writing is valuable for
success in all courses.
Transfer Credits
A maximum of thirty-two (32)
lower-division units including courses in Computer Science, mathematics, and
physics may be applied toward the preparation for the major requirements. Of
the thirty-two (32) units, twelve (12) units must appropriately match the
description for CS 111, 211, and 231 (depending on the articulation agreement
between CSUSM and other institutions; transfer students are also advised to
consult with their articulation officer to determine if they need to take CS
112, 212, and 232); twelve (12) units must appropriately match the description
for MATH 160*, 162, and 264; and eight (8) units must appropriately match the
description for PHYS 201* and 202.
Special Requirements for the
Bachelor of Science
Each course submitted toward
the Computer Science major must be completed with a grade of C (2.0) or better.
No more than a total of three (3) units of either CS 498 or CS 499 may be
applied to the major. A minimum of fifteen (15) upper-division units counted
toward the major must be completed at CSU San Marcos.
*Six (6) units of the
above-transferred courses, MATH 160 and PHYS 201, will count toward the
lower-division General Education requirements in Area B. Students are
encouraged to consult their faculty advisor to learn about courses that fulfill
the General Education requirements.
BACHELOR OF SCIENCE IN COMPUTER
SCIENCE
Units
General Education* 51 units
Preparation for the Major* 42 units
Major Requirements 30 units
General Electives 12 units
Total Required 129 units
Preparation for the Major
Lower-division (12 units)
CS 111 4
units
CS 211 4
units
CS 231 4
units
Non-Computer Science
Supporting Courses (30 units)
Units
MATH 160 5
units
MATH 162 4
units
MATH 370 3
units
PHYS 201
4
units
PHYS 202
4
units
PHYS 301
4
units
Choose one of the following
courses: 3 units
MATH 242 MATH 440
Choose one of the following
courses: 3 units
MATH 264 MATH 374
Major Requirements
Upper-division (30 units)
Units
CS 311 3
units
CS 331 3
units
CS 351 3
units
CS 421 3
units
CS 433 3
units
CS 441 3
units
Computer Science
electives 12 units
Chosen from CS courses
numbered 400 or higher, MATH 464 and MATH 480.
MINOR IN COMPUTER SCIENCE
The minor in Computer Science
consists of at least twenty-three (23) units of study in Computer Science. Each
course submitted toward the Computer Science minor must be completed with a
grade of C (2.0) or better. Required courses (11 units)
Units
CS 111 4
units
CS 211 4
units
CS 311 3
units
At least twelve (12) units
from any CS courses numbered 200 or higher; at least nine (9) units must be
numbered 300 or higher. MATH 464 and MATH 480 may be applied toward this
requirement 12 units
Total Units 23 units
*Six (6)
lower-division General Education units in Area B (Math and Science) are
automatically satisfied by courses taken in Preparation for the Major.
MASTER OF SCIENCE IN COMPUTER
SCIENCE
The mission of the graduate
program in Computer Science at CSUSM is to provide graduate education of the
highest caliber to qualified students from the local community and beyond,
leading to the Master of Science degree. Its objective is to prepare students
for a variety of positions in business, industry, and the public sector; for
continued study at the doctoral level; or for academic careers at the two-year
college level. We believe that excellent graduate education is best
accomplished in an atmosphere in which graduate students are closely mentored
by the faculty. The faculty in Computer Science is committed to the study of
Computer Science as a scientific enterprise, and the Master of Science in
Computer Science will encourage the development of critical thinking and
quantitative reasoning skills. In keeping with the mission of the University,
we offer a curriculum that includes opportunities for applied experiences to
enhance the professional development of our students and to contribute to the
community around us. In addition, our program seeks to recognize the global
awareness of the computing world and to build links with higher education
institutions in the world.
The Master of Science Program
in Computer Science provides breadth in several areas and depth in a
specialized area in the rapidly advancing theoretical and practical aspects of
Computer Science. Common to these offerings are the intelligent challenges and
analytical skills of computational problemsolving methodologies.
Preparation and Training Offered
by the Program
The Master of Science degree
is traditionally seen either as a preparatory or terminal degree. Our program
is designed to accommodate students with different goals. The active research
programs of our faculty, and our recognition of Computer Science as a
scientific enterprise, shall provide graduate students with the intensive
research training and course work in primary content areas that are central to
preparation for more advanced graduate or professional work. Students who have
in mind careers in business, industry, community college teaching and computing
services, will benefit from our program’s emphasis on critical thinking,
research methods, and advanced course work. Individual career goals will be
served by allowing choices in the content of the research work of thesis or
project and by providing a curriculum that provides flexibility in content
areas. Students with interests in many areas in Computer Science will find
opportunities to pursue course work and thesis topics at CSUSM that are related
to their interests.
The Master of Science degree
in Computer Science emphasizes both theoretical foundations and practical
applications. Many students undertake graduate work in Computer Science in
order to pursue careers in computer networking and information communications,
algorithms, parallel processing, artificial intelligence, neural networks,
programming languages concepts, and multimedia applications. Graduates of the
program will be prepared for a wide range of career opportunities, since the
skills and attitudes fostered in the program are in demand in business,
industry, government and academia. In particular, graduates will be well
prepared for careers in applications programming, systems analysis, and
software engineering.
The program also prepares
students to compete for admission to doctoral programs in Computer Science.
There are several universities near CSUSM, including UCSD, UC Riverside, and UC
Irvine, which offer such Ph.D. programs.
Admission
In general, students should
have equivalent of the basic core knowledge in Computer Science. Experience in
clear, concise, careful writing is valuable for success in all courses.
People with undergraduate
degrees in non-computing fields may want to enroll in this program for career
advancement. Those with undergraduate degrees in Computer Science can take more
advanced courses to specialize in a particular area.
Admission to the program
requires an undergraduate degree including the courses as required for the
Bachelor’s Degree in Computer Science at CSU San Marcos, or their equivalents.
Admission also requires a 3.0 grade point average in the upper-division
Computer Science courses and at least a 2.5 GPA in the last 60 semester units
(or last 90 quarter units) attempted. Students who have some deficiencies in
the above admission requirements may be admitted with conditional graduate
status. They may remove these academic deficiencies by either taking specific
undergraduate courses for no credit toward the Master’s degree, or passing
appropriate proficiency examinations.
The general test of the
Graduate Record Examination (GRE) is required of all applicants and the
advanced test in Computer Science is encouraged.
All applicants who do not
possess a bachelor’s or graduate degree from a post-secondary institution in a
country where English is a principal language must take the Test of English as
a Foreign Language (TOEFL) and receive a minimum score of 550.
Complete applications,
including test scores and recommendation letters, should be received in the
program office by April 30th for Fall applicants and November 30th for Spring
applicants. However, applications will be accepted as long as space allows. An
application consists of the following:
• a completed application for
university admission,
• a completed application for
the Master’s program in Computer Science,
• two sets of official
transcripts from all colleges and universities attended and official indication
of graduation (if not in English, certified English translations must be
included),
• official transcripts of
GRE, and TOEFL if applicable, and
• three letters of
recommendation.
Graduation Requirements
The Master of Science degree
in Computer Science requires a minimum of 30 units of graduate courses with at
least an overall 3.0 grade point average. Students must do exactly one of the
following: pass a comprehensive written exam, complete a Master’s thesis, or
complete a research project. At least fifteen (15) units must be numbered 600 or
above. Only courses numbered 500 or higher can be counted towards the Master’s
degree requirement with the exceptions of CS 421, CS 433, and CS 441 which must
be taken if these courses were not taken prior to admission to the program. No
course or equivalent which was taken as a requirement for the completion of a
Bachelor of Science in Computer Science or related fields can be used to
satisfy these requirements. Not more than nine (9) units in approved extension
and transfer courses may be used to satisfy the minimum units required for the
degree; any such units must be approved by the Computer Science Department
Chair or faculty advisor. Given the nature of rapid development in Computer
Science, all requirements should be satisfied within five years of initial
acceptance into the program or course work must be repeated. Students are
required to take at least one course from each of the following areas:
Algorithms and Parallel
Processing:
CS 513 CS 514
CS 614
Theory and Programming
Languages:
CS 551 CS 553
CS 613
Operating Systems and
Computer Architecture:
CS 531 CS 537
CS 633
Applications:
CS 535 CS 573
CS 543 CS 643
CS 571 CS 671
If CS 421, CS 433, and CS 441
have not been taken prior to the admission, students are required to include
them in their study plan.
Continuation
A student must earn a 3.0
overall average in graduate coursework in order to graduate. No course in which
a final grade below C (2.0) was earned can satisfy the degree requirement. If
the GPA falls below 3.0 for two consecutive semesters, the student will be
dropped from the program.
Financial Aid
Several sources of financial
aid are available to graduate students. Applicants who choose to apply for
Graduate Assistantships offered by the University should so indicate on the
appropriate space in the Master’s Program in Computer Science application form.
Students are responsible for identifying other sources of aid, and may wish to
consult with the University’s Office of Financial Aid and Scholarship.
Advancement to Candidacy
Upon the completion of at
least nine (9) units toward the degree, but prior to the completion of 18 units
toward the degree, the student should obtain the permission of a tenured or
tenure-track Computer Science faculty member to act as the student’s advisor
and as chair of the student’s academic committee. The student and the advisor
should recommend to the Computer Science Department Chair the names of two
other tenured or tenure-track Computer Science faculty to fill the advisory
committee.
The plan of study should
include courses remaining to be taken and the names of the three faculty
composing the committee. A copy of the study plan shall be submitted to the
Computer Science Department Chair. The student is advanced to candidacy for the
Master of Science degree upon submission of the study plan and completion of 18
units toward the degree with at least a 3.0 grade point average. Changes in the
study plan must be approved by the student’s advisor and the Computer Science
Department Chair.
No student may enroll for CS
698, CS 699, or take a comprehensive examination before being advanced to
candidacy.
Thesis, Project, or Comprehensive
Written Exam
Each student will be assigned
an advisor at the time of acceptance to the program. It is expected that the
student and her/his advisor will work together closely to identify elective
courses and either choose possible research topics for the thesis or research
project, or prepare for the comprehensive written examination.
A thesis is the written
result of a systematic study of a significant Computer Science problem. It
defines, develops, and executes an investigation into a chosen problem area.
The motivation, approach, and results of the investigation are communicated in
a clear and logical fashion; it is grammatically correct, logically organized
and technically sound. The finished product should evidence originality, and
critical and independent thinking through documentation. The thesis must be
planned, organized, executed, and completed while the student is enrolled in
the Master’s program. Guidelines on the preparation and official submission of
the thesis can be obtained from the Department Chair’s office. The final copies
of the thesis are to be delivered to the committee members at least two (2)
weeks prior to the oral defense of the thesis which must be held at least two
weeks prior to the end of a regular semester.
A project is the written
result of a comprehensive implementation or analysis of a particular computer
system or problem encountered in the literature. The composite elements of the
project are the same as for a thesis, but the scope is more narrow. The project
must be completed while the student is enrolled in the Master’s program.
Project submission forms can be obtained from the Department Chair’s office.
The final copies of the project are to be delivered to the committee members at
least two (2) weeks before an oral presentation, which must be held at least
two weeks prior to the end of a regular semester.
A comprehensive written
examination is administered during the student’s final semester. It is intended
as a culminating experience for the Master’s degree, and it is used to assess
the student’s ability to integrate his/her knowledge of Computer Science, to
think critically and independently, and to demonstrate mastery of their
coursework. The problems will reflect the coursework of the student, and the
student’s responses will be evaluated both on the basis of logical correctness
and on that of written presentation. The examination will be offered, as
needed, at most once each regular semester, at least two (2) weeks prior to the
end of the semester. Students intending to take the exam during a given
semester must notify the Department Chair before the end of the fourth week of
that semester.
Graduation
A student planning to
graduate at the end of a given regular semester must meet with the academic
advisor by the end of the student’s previous regular semester in order to
evaluate those plans. All pertinent requirements described above concerning
courses and the thesis, the project, or the comprehensive exam must be
evaluated during this meeting.