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.