Academic Catalog

Computer Science

Computer Science Program Learning Outcomes

College of Natural and Behavioral and Sciences
Department of Computer Science
Bachelor of Science
Degree Roadmap
Minor
Certificate
Master of Science

Faculty

Mohsen Beheshti, Department Chair
Jianchao (Jack) Han, Marek Suchenek, Bin Tang, Amlan Chatterjee, Liudong Zuo, Allireza Izaddoost, Brad Hollister, Khondaker Salehin

Emeriti Faculty

William B. Jones, Kazimierz Kowalski

Staff

Violeta Diaz, Administrative Assistant
Ken Leyba, IT Consultant
Department Office: NSM A-132, (310) 243-3398
http://csc.csudh.edu

Program Description

The modern electronic digital computer has become the indispensable tool of government, commerce and technology because of its enormous appetite for data and its near instantaneous processing speed. Computer Science is the discipline of designing methods for solving problems by means of such computers. The subject involves a surprising amalgam of logic, mathematics, engineering, electronics, communications and ergonomics.

The curriculum is designed to provide preparation for professional careers in the areas of software design and applied computer science, as well as to give the necessary theoretical background for graduate study in the field and to allow a flexible response to a dynamic and growing profession. The required courses give students a firm foundation in the basic areas of computer science and related areas of mathematics, and a wide choice of electives allow them to tailor their program to their specific interests.

The baccalaureate program (Bachelor of Science in Computer Science) is accredited by the Computer Science Accreditation Commission of the Accreditation Board for Engineering and Technology, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012, (410) 347-7700. The programs accredited by the Commission of Accreditation Board for Engineering and Technology are accredited as separate and distinct from any other programs or kinds of accreditation.

Features

The University's location in the South Bay area of greater Los Angeles provides direct access to many major government contractors, manufacturers, and international centers of commerce and finance. This provides excellent opportunities for work-study and early job placement.

Our highly qualified full-time faculty are supplemented by talented and dedicated part-time faculty drawn from local firms and schools. Good teaching and easy on-campus access to professional quality computing systems enhances a degree program that provides both a solid core curriculum and a broad range of electives.

All courses are offered alternatively day and evening so that students may complete their programs by enrolling at either time exclusively.

Graduation with Honors

An undergraduate student may be a candidate for graduation with Honors in Computer Science provided he or she meets the following criteria:

  1. A minimum of 36 units in residence at CSU Dominguez Hills at least 24 of which taken in Computer Science major;
  2. A minimum GPA of 3.5 in all upper division courses in the Computer Science major completed in residence at CSUDH;
  3. Recommendation by Computer Science faculty.

Students who achieve Honors in Computer Science will have the information recorded on their transcripts and diplomas.

Academic Advisement

Faculty guidance in the development of career goals and program planning to achieve those goals is available to all majors.

Preparation

Students entering the computer science program should have completed high school mathematics through trigonometry. Remediation is available but will delay the student's progress towards a Computer Science Degree.

This is a demanding program that places a premium on the student's initiative and effort.

Career Possibilities

Entry level positions in the areas of systems analysis, systems programming, applications programming, data engineering, data communications and software engineering provide typical career opportunities for computer science graduates. Such positions are available in a wide variety of software vendors, aerospace and defense related industries, manufacturing and commercial firms, and government and other public agencies. Many graduates have also gone on to graduate school. Job opportunities for computer science graduates continue to be excellent because of the continued long-term growth of the computer industry.

Student Organizations

Contact departmental office for membership information, or visit the websites:

Association for Computing Machinery (ACM) ACM@csudh.edu
Institute of Electrical and Electronics Engineers (IEEE) IEEE@csudh.edu
Cyber Security CyberSec@csudh.edu
Computing Alliance of Hispanic-Serving Institutions (CAHSI) CAHSI@csudh.edu

Bachelor of Science in Computer Science

Total Course Requirements for the Bachelor's Degree

See the "Requirements for the Bachelor's Degree" in the University Catalog for complete details on general degree requirements. A minimum of 40 units, including those required for the major, must be upper division.

Elective Requirements

Completion of elective courses (beyond the requirements listed below) to reach a total of a minimum of 120.

General Education Requirements (49 units)

See the "General Education" requirements in the University Catalog or the Class Schedule for the most current information on General Education requirements and course offerings.

Graduation Writing Assessment Requirement

See the "Graduation Writing Assessment Requirement" in the University Catalog.

Minor Requirements

Single field major, no minor required.

Major Requirements (76 units)

Students entering the Computer Science program must complete the following.

  1. Earn an overall grade point average of 2.0 or better in courses taken outside of the department.
  2. Earn a grade of "C" or better in each course taken within the department.
  3. Earn a grade of "C" or better in all direct and indirect prerequisite courses listed in the catalog before advancing to the next level course in a sequence for English, Mathematics, and Science courses.
  4. Students must take capstone course CSC 492 Senior Design (3) at CSUDH.

The following courses, or their approved transfer equivalents, are required of all candidates for this degree.

A. Lower Division Requirements (40 units)

CSC 121 Introduction to Computer Science and Programming I (4)
CSC 123 Introduction to Computer Science and Programming II (4)
CSC 221 Assembly Language and Introduction to Computer Organization (3)
CSC 2xx    
MAT 191 Calculus I (5)
MAT 193 Calculus II (5)
MAT 271 Foundations Of Higher Math (3)
MAT 281 Discrete Mathematics (3)
PHY 130 General Physics I (5)
PHY 132 General Physics II (5)

B. Upper Division Requirements (36 units)

A minimum of 18 upper division units in the major must be taken in residence at CSU Dominguez Hills.

1. Core Requirements (12 units)

CSC 311 Data Structures (3)
CSC 321 Programming Languages (3)
CSC 331 Computer Organization (3)
CSC 341 Operating Systems (3)

2. Required Courses (18 units)

CSC 301 Computers And Society (3)
CSC 401 Analysis Of Algorithms (3)
CSC 481 Software Engineering (3)
CSC 492 Senior Design (3)
MAT 321 Probability and Statistics (3)
MAT 361 Finite Automata (3)

3. Electives (6 units)

Select two courses from the following (6 units):
CSC 395 Sel Topics in Computer Science (1-4)
CSC 411 Artificial Intelligence (3)
CSC 421 Advanced Programming Languages (3)
CSC 431 Advanced Computer Organization (3)
CSC 441 Advanced Operating Systems (3)
CSC 451 Computer Networks (3)
CSC 453 Data Management (3)
CSC 455 WWW Design and Management (3)
CSC 459 Security Engineering (3)
CSC 461 Computer Graphics I (3)
CSC 463 Computer Graphics II (3)
CSC 471 Compiler Construction I (3)
CSC 490 Senior Seminar (3)
CSC 495 Selected Topics: (3)
MAT 367 Numerical Analysis I (3)
MAT 369 Numerical Analysis II (3)

CSC 121 Introduction to Computer Science and Programming I (4): Major students may substitute this course for General Education Area A2. Please contact the University Advisement Center to request the course substitution.

Minor in Computer Science (36 units)

Requirements

A. Lower Division Required Courses (27 units)

CSC 121 Introduction to Computer Science and Programming I (4)
CSC 123 Introduction to Computer Science and Programming II (4)
CSC 221 Assembly Language and Introduction to Computer Organization (3)
MAT 191 Calculus I (5)
MAT 193 Calculus II (5)
MAT 271 Foundations Of Higher Math (3)
MAT 281 Discrete Mathematics (3)

B. Upper Division Requirements (9 units)

1. Required Course (3 units)

CSC 311 Data Structures (3)

2. Electives (6 units)

Select two courses from the following, one of which must have a CSC prefix (6 units):
CSC 321 Programming Languages (3)
CSC 331 Computer Organization (3)
CSC 341 Operating Systems (3)
CSC 395 Sel Topics in Computer Science (1-4)
CSC 401 Analysis Of Algorithms (3)
CSC 411 Artificial Intelligence (3)
CSC 421 Advanced Programming Languages (3)
CSC 431 Advanced Computer Organization (3)
CSC 441 Advanced Operating Systems (3)
CSC 451 Computer Networks (3)
CSC 453 Data Management (3)
CSC 455 WWW Design and Management (3)
CSC 459 Security Engineering (3)
CSC 461 Computer Graphics I (3)
CSC 463 Computer Graphics II (3)
CSC 471 Compiler Construction I (3)
CSC 490 Senior Seminar (3)
CSC 492 Senior Design (3)
CSC 495 Selected Topics: (3)
MAT 361 Finite Automata (3)
MAT 367 Numerical Analysis I (3)
MAT 369 Numerical Analysis II (3)
CIS 372 Systems Analysis and Design (3)
CIS 373 Database Systems (3)
CIS 375 Data Communications (3)

Certificate in Computer Science (18 units)

Requirements

A. Upper Division Requirements (18 units)

1. Required Courses (9 units)

CSC 311 Data Structures (3)
CSC 321 Programming Languages (3)
CSC 331 Computer Organization (3)

2. Electives (9 units)

Select three courses from the following (9 units):
CSC 337 Microcomputers (3)
CSC 341 Operating Systems (3)
CSC 353 File Processing (3)
CSC 361 Systems Programming (3)
CSC 395 Sel Topics in Computer Science (1-4)
CSC 401 Analysis Of Algorithms (3)
CSC 411 Artificial Intelligence (3)
CSC 421 Advanced Programming Languages (3)
CSC 431 Advanced Computer Organization (3)
CSC 441 Advanced Operating Systems (3)
CSC 451 Computer Networks (3)
CSC 453 Data Management (3)
CSC 455 WWW Design and Management (3)
CSC 459 Security Engineering (3)
CSC 461 Computer Graphics I (3)
CSC 463 Computer Graphics II (3)
CSC 471 Compiler Construction I (3)
CSC 490 Senior Seminar (3)
CSC 492 Senior Design (3)
CSC 495 Selected Topics: (3)
MAT 361 Finite Automata (3)
MAT 367 Numerical Analysis I (3)
MAT 369 Numerical Analysis II (3)

Notes:

  1. Adequate preparation in terms of the completion of all lower division courses which are prerequisites of courses for this certificate is necessary.
  2. At least four of the six upper division courses must be taken at CSU Dominguez Hills.
  3. None of the upper division courses may be taken as credit/no credit.
  4. A minimum grade point average of 2.0 is required for all units taken for the certificate.

Master of Science in Computer Science (36 units)

The Master's Program in Computer Science is a two-year program in which a student must complete a required core of courses and additional concentration and general computer science elective courses. The curriculum for the Master of Science in Computer Science requires 36 semester credit units, and offers both a thesis option (30 semester credit units of coursework and 6 semester units of a thesis) and a non-thesis option (33 semester credit units of coursework and 3 semester credit units of a project). Students may choose to obtain the degree in Computer Science with specialization in Software Engineering or Distributed Systems and Networking.

The academic program is expected to culminate in a master's thesis or project. During the first semester of the program, the student should choose a major advisor who will assist him or her in the choice of elective courses. The major advisor will chair the student's advisory committee for the thesis. Two additional members of the students graduate advisory committee will need to be selected.

The graduate program can provide a strong background for future study in a doctoral program. It also provides graduate training as preparation for professional applications. Students with a master's degree in computer science are also prepared for a career in teaching and/or research.

A majority of graduate classes are scheduled to accommodate late afternoon and evening students.

Admission Requirements

Students holding a Bachelor's degree in Computer Science are accepted as graduate students, provided they meet the general requirements stated below.

Applicants not holding a degree in Computer Science are also accepted as graduate students, provided they meet the general requirements and successfully complete the leveling courses described below.

General requirements for graduate study in Computer Science are as follows:

  • An undergraduate degree from an accredited higher education institution.
  • A minimum GPA of 2.75 on a 4.0 scale.
  • A minimum TOEFL score of 90 or ITLES score of 6.5 (for applicants whose native language is not English).
  • A minimum Graduate Examination (GRE) General Test score of 293 (combined verbal and quantitative); for more information refer to: www.gre.org

A student with a Bachelor of Science in Computer Science, with a GPA greater than 2.44 but less than 2.75 and/or a GRE score below 191 may first receive conditionally classified admission to the MS degree program. A conditionally classified student has one year to receive a minimum GRE score of 900 and a minimum GPA of 3.0 to change status to classified graduate student.

A student with a Bachelor's degree in a discipline other than Computer Science must possess a computer science background equivalent to the following CSUDH courses:

  • CSC 321 Programming Languages (3)
  • CSC 331 Computer Organization (3)
  • CSC 311 Data Structures (3)
  • MAT 281 Discrete Mathematics (3)
  • CSC 341 Operating Systems (3)
  • MAT 361 Finite Automata (3)
  • Proficiency in a programming language (or CSC 123 Introduction to Computer Science and Programming II (4))

A student without this background must enroll in these leveling courses before being accepted as a regular student in the graduate Computer Science program. Successful completion in these courses means a grade of C or better in each leveling course.

Students entering the master's program must maintain a grade of no less than B in any course for their continuation in this program. Final decision on admission to the graduate program is made by the Computer Science Graduate Committee.

Admission Procedures

Prospective graduate students must:

  1. Submit an application to the University for admission (or readmission) with graduate standing, and official transcripts of all previous college work following the procedures outlined in the Admissions section of the University Catalog.
  2. Submit to the Computer Science Graduate Program Coordinator:
  3. a second set of official transcripts;
  4. a letter to the department describing interests, goals and expectations in pursuing the master's degree in computer science;
  5. three letters of recommendation sent directly from individuals who can evaluate potential for graduate study;
  6. verification of a minimum GRE General Test score of 900 (combined verbal and quantitative) before the student has completed 9 semester units.

Graduate Standing: Conditionally Classified

To qualify for admission with a graduate degree objective, students must meet the admission requirements for post-baccalaureate standing as well as any additional requirements of the particular program. Students who apply to a graduate degree program but who do not satisfy all program requirements may be admitted to conditionally classified status. Program coordinators will outline all conditions for attainment of classified status.

Graduate Standing: Classified

Students applying for master's degree programs will be admitted in classified status if they meet all program admission requirements.

Classified standing as a graduate student is granted by the academic unit to which the student is applying. Classified standing is normally granted when all prerequisites have been satisfactorily completed for admission to a master's degree program. Students must have classified standing to qualify for Advancement to Candidacy.

Graduation Writing Assessment Requirement

All graduate students entering the University in the Fall of 1983 or thereafter are required to satisfy the Graduation Writing Assessment Requirement (GWAR) in accordance with the established policies of the university. Students must satisfy the requirements before being advanced to Candidacy. (See "Graduation Writing Assessment Requirement" section of the University Catalog.

Advancement to Candidacy

Advancement to candidacy recognizes that the student has demonstrated the ability to sustain a level of scholarly competency commensurate with successful completion of degree requirements. Upon advancement to candidacy, the student is cleared for the final stages of the graduate program which, in addition to any remaining course work, will include the thesis or project.

Following are the requirements for Advancement to Candidacy:

  1. A minimum of 15 resident units;
  2. Classified standing;
  3. An approved Program of Study;
  4. Successful completion of GWAR;
  5. A cumulative GPA of 3.0 in all courses taken as a graduate student;
  6. No grade lower than a "B" in the degree program.

Advancement to Candidacy must be certified on the appropriate form to the Graduate Dean by the department prior to the final semester, prior to enrolling in the thesis or project.

Degree Requirements (36 units)

Thesis Option
1. 30 semester units of graduate coursework

    Required graduate core courses (15 units)
    Elective graduate courses (15 units)    

2. Master's Thesis (6 units)
Non-Thesis Option
1. 33 semester units of graduate coursework

    Required graduate core courses (15 units)    
    b. Elective graduate courses (18 units)

2. Master's Project (3 units)

Students may choose to obtain the degree specializing in either Software Engineering (SE) or in Distributed Systems and Networking (DSN) tracks.

A. Core Courses (15 units)

CSC 500 Research Methods (3)
CSC 501 Design and Analysis of Algorithms (3)
CSC 521 Fundamentals and Concepts of Programming Languages (3)
CSC 581 Advanced Software Engineering (3)
CSC 584 Software Project (3)

B. Concentration (12 units)
1. Software Engineering (SE) Track

CSC 541 Advanced Operating Systems (3)
CSC 546 Human Computer Interaction and Interface Design (3)
CSC 582 Object-Oriented Analysis and Design (3)
CSC 583 Software Engineering Processes (3)
CSC 585 Advanced Software Quality Assurance (3)

2. Distributed Systems Networking (DSN) Track

CSC 531 Advanced Computer Architecture (3)
CSC 541 Advanced Operating Systems (3)
CSC 551 Data Communications and Computer Networks (3)
CSC 552 Distributed Computing and Parallel Processing (3)
CSC 555 Information Assurance and Network Security (3)

C. Electives (3-18 units)

CSC 511 Artificial Intelligence and Expert Systems (3)
CSC 531 Advanced Computer Architecture (3)
CSC 541 Advanced Operating Systems (3)
CSC 546 Human Computer Interaction and Interface Design (3)
CSC 553 Advanced Database Management Systems (3)
CSC 551 Data Communications and Computer Networks (3)
CSC 552 Distributed Computing and Parallel Processing (3)
CSC 555 Information Assurance and Network Security (3)
CSC 561 Advanced Computer Graphics (3)
CSC 564 Numerical Analysis (3)
CSC 565 Theory of Computation (3)
CSC 582 Object-Oriented Analysis and Design (3)
CSC 583 Software Engineering Processes (3)
CSC 585 Advanced Software Quality Assurance (3)
CSC 594 Independent Study (3)
CSC 595 Special Topics in Computer Science (3)

D. Capstone (3-6 units)
1. Thesis Option (6 units)

CSC 599 Master's Thesis (3)
    or

2. Non-Thesis Option (3 units)

CSC 590 Master's Project (3)

Notes:

  1. General Computer Science:
    1. Thesis Option: select 5 courses (15 units) from the list of elective courses;
    2. Non-Thesis Option: select 6 courses (18 units) from the list of elective courses.
  2. Software Engineering or Distributed Systems Networking tracks:
    1. No double counting of electives;
    2. Thesis Option: select 1 course (3 units) from the list of elective courses;
    3. Non-Thesis Option: select 2 courses (6 units) from the list of elective courses