Back to University Catalog 2004-2005

Computer Science        College of Natural and Behavioral and Sciences Department of Computer Science

Bachelor of Science

Minor

Certificate

 

Faculty

Mohsen Beheshti , Department Chair

Jianchao (Jack) Han, Kazimierz Kowalski, Marek Suchenek, Richard Wasinowski, C. Richard Williams

Adjunct Faculty (Northrop Grumman)

Mohammad Anwarl, Peter Blankenship, Darryn Hall, Robert Manning, Sami Siddiqui

Emeriti Faculty

William B. Jones

Staff

Athena Simpson, Administrative Support 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.  Telephone:  (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

Student Chapter of the Association for Computing Machinery. Contact departmental office for membership information, or visit ACM's home page at http://csc.csudh.edu/acm.

 

 

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 (54-60 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.

 

United States History, Constitution and American Ideals Requirement (6 units)

See the "United States History, Constitution, and American Ideals" requirements in the University Catalog.  Courses used to satisfy this requirement do not apply to General Education.

 

Graduation Writing Assessment Requirement

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

 

Minor Requirements

Single field major, no minor required.

 

Major Requirements (73 or 76 units)

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

A.  Prerequisites (37 or 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)

MAT 191.    Calculus I (5)

MAT 193.    Calculus II (5)

MAT 271.    Foundations of Higher Mathematics (3)

MAT 281.    Discrete Mathematics (3)

PHY 130.      General Physics I (5)

PHY 132.      General Physics II (5)

 

NOTE:  Students who have not taken a college level course that includes Java or C/C++ and UNIX operating system must take CSC 251, C Language Programming and UNIX (3).

 

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 (15 units)

CSC 311.        Data Structures (3)

CSC 321.        Programming Languages (3)

CSC 331.        Computer Organization (3)

CSC 341.        Operating Systems (3)

CSC 353.        File Processing (3)

2.   Required Courses  (12 units)

CSC 301.        Computer and Society (3)

CSC 481.        Software Engineering (3)

MAT 321.      Probability and Statistics (3)

MAT 361.      Finite Automata (3)

3.   Electives:  Select three courses from the following  (9 units):

CSC 337.        Microcomputers (3) [I]

CSC 361.        Systems Programming (3)

CSC 401.        Analysis of Algorithms (3)

CSC 411.        Artificial Intelligence (3)

CSC 421.        Advanced Programming Languages (3) [I]

CSC 431.        Advanced Computer Organization (3)

CSC 441.        Advanced Operating Systems (3) [I]

CSC 451.        Computer Networks (3)

CSC 453.        Data Management (3)

CSC 455.        World Wide Web Design and Management (3)

CSC 461.        Computer Graphics I (3)

CSC 463.        Computer Graphics II (3) [I]

CSC 471.        Compiler Construction (3)

MAT 367.      Numerical Analysis I (3)

MAT 369.      Numerical Analysis II (3) [I]

 

Minor in Computer Science (36 units)

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 Mathematics (3)

MAT 281.    Discrete Mathematics (3)

 

B.  Upper Division Requirements (9 units)

1.   Required Course  (3 units)

CSC 311.        Data Structures (3)

2.   Electives:  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 337.        Microcomputers (3) [I]

CSC 341.        Operating Systems (3)

CSC 353.        File Processing (3)

CSC 361.        Systems Programming (3)

CSC 401.        Analysis of Algorithms (3)

CSC 411.        Artificial Intelligence (3)

CSC 421.        Advanced Programming Languages (3) [I]

CSC 431.        Advanced Computer Organization (3)

CSC 441.        Advanced Operating Systems (3) [I]

CSC 451.        Computer Networks (3)

CSC 453.        Data Management (3)

CSC 455.        World Wide Web Design and Management (3)

CSC 461.        Computer Graphics I (3)

CSC 463.        Computer Graphics II (3) [I]

CSC 471.        Compiler Construction (3)

MAT 361.      Finite Automata (3)

MAT 367.      Numerical Analysis I (3)

MAT 369.      Numerical Analysis II (3) [I]

CIS 372.          System Development I (3)

CIS 374.          System Development II (3)

CIS 473.          Data Base Systems (3)

CIS 475.          Data Communications (3)

 

Certificate in Computer Science (18 units)*

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:  Select three courses from the following  (9 units):

CSC 337.        Microcomputers (3) [I]

CSC 341.        Operating Systems (3)

CSC 353.        File Processing (3)

CSC 361.        Systems Programming (3)

CSC 401.        Analysis of Algorithms (3)

CSC 411.        Artificial Intelligence (3)

CSC 421.        Advanced Programming Languages (3) [I]

CSC 431.        Advanced Computer Organization (3)

CSC 441.        Advanced Operating Systems (3) [I]

CSC 451.        Computer Networks (3)

CSC 453.        Data Management (3)

CSC 455.        World Wide Web Design and Management (3)

CSC 461.        Computer Graphics I (3)

CSC 463.        Computer Graphics II (3) [I]

CSC 471.        Compiler Construction (3)

MAT 361.      Finite Automata (3)

MAT 367.      Numerical Analysis I (3)

MAT 369.      Numerical Analysis II (3) [I]

 

*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.

 

Course Offerings

Course syllabi and outlines may be found on departmental Web home pages at http://csc.csudh.edu .

The credit value for each course in semester units is indicated for each term by a number in parentheses following the title.  Departments may indicate the term in which they expect to offer the course by the use of:  “F” (fall), “S” (spring) or “EOY” (every other year).

If prerequisites are required then they need to be passed with a grade of "C" or better.

 

Lower Division

CSC 101    Computer Applications for Scientists (2) FS. 

Introduction to the use of word processing, statistical packages, database, and spreadsheet software in scientific applications.  Use of scanner and drawing packages in preparation of graphs and technical illustrations.  One hour of lecture and three hours of laboratory per week.

CSC 111    Introduction to Computers and Basic Programming  (3) FS.

Introduction to computer programming with particular emphasis on small systems through programming in the BASIC language. 

CSC 121    Introduction to Computer Science and Programming I (4) FS.

Prerequisite: Fulfillment of ELM requirement.

Organization of sequential, digital machine:  CPU, I/O, storage, communications devices.  Function of operating systems:  translators, editors, peripheral control utilities.  The development, description and analysis of elementary algorithms.  Three hours of lecture and two hours of activity per week.

CSC 123    Introduction to Computer Science and Programming II (4) FS.

Prerequisites: CSC 121.

Continuation of  CSC 121.   Fundamental programming concepts using arrays, records, pointers, linked list, trees and recursion. Good style, documentation and structure will be emphasized.  Introduction to analysis of algorithms for efficiency and correctness.

CSC 195    Selected Topics in Computer Science (1-4) FS

Prerequisite: Consent of Instructor

Content varies.  Topics in computer science not covered by current course offerings. 

CSC 221    Assembly Language and Introduction to Computer Organization (3) FS.

Prerequisite: CSC 123. 

Programming problems in assembly language.  Writing and using macros.  Features of modern computer hardware and operating systems. 

CSC 251    C Language Programming and UNIX (3) FS.

Prerequisite: CSC 123 or equivalent. 

Introduction to programming in the C language and its use in systems programming in the UNIX operating system. 

CSC 295    Selected Topics in Computer Science (1-4) FS

Prerequisite: Consent of Instructor

Content varies.  Topics in computer science not covered by current course offerings.  May be used for elective credit in departmental programs.  Subject to approval.

 

Upper Division

CSC 301    Computers and Society  (3) FS.

Prerequisites:  CSC 121 or CSC 111 or CIS 270 are required; ECO 200 and ANT 100 are recommended. 

Ethical, legal, psychological, economic, and theoretical implications and limitations of the uses of digital computers. Oral and written presentations required.

CSC 311    Data Structures (3) FS.

Prerequisites: CSC 123, MAT 191, MAT 271, and MAT 281 are required; MAT 321 is recommended.

More advanced and detailed treatment of concepts of data organization introduced in CSC 123. Includes lists, trees, graphs and storage allocation and collection.  Applications to such areas as symbol tables, string search and optimization.

CSC 321    Programming Languages (3) FS.

Prerequisite: CSC 251. 

A comparative study of programming languages. Characteristics of languages and formal description of languages.  Assignments in several languages. 

CSC 331    Computer Organization  (3) FS.

Prerequisites: CSC 221 and MAT 281.  

Structure of the modern digital computer. Introduction to Boolean algebra and design of digital circuits.  Arithmetic, control, storage and input/output systems. 

CSC 341    Operating Systems (3) FS.

Prerequisites: CSC 121, CSC 221, CSC 251, and CSC 331.

Overall structure of batch and time-shared operating systems. Scheduling of jobs, CPU and I/O devices.  Paged and segmented memory management.  I/O programming and file handling. Synchronization of concurrent processes. 

CSC 353    File Processing (3) FS.

Prerequisite:  CSC 123 and CSC 251 are required; CSC 311 is recommended. 

Characteristics of secondary storage media.  Logical vs. physical organization.  Sequential, direct, and indexed access methods.  Tree structure of indices; hashing. 

CSC 361    Systems Programming (3) EOY.

Prerequisite: CSC 311, CSC 331, and CSC 341.

Design and construction of systems programs such as assemblers, macro processors and linking loaders.  Introduction to software engineering. 

CSC 395    Selected Topics in Computer Science (1-4) FS

Prerequisite: Consent of Instructor and upper division standing in major

Content varies.  Advanced topics in computer science not covered by current course offerings.  May be used for elective credit in departmental programs.  Subject to approval.

CSC 401    Analysis of Algorithms  (3) EOY.

Prerequisite: CSC 123, CSC 311, MAT 191, and MAT 281 are required; CSC 353 and MAT 321 are recommended. 

Mathematical study of non-numeric computer algorithms.  Topics include combinatorial techniques, algorithm proof, and program complexity. 

CSC 411    Artificial Intelligence (3) S.

Prerequisite: CSC 311, CSC 321, MAT 271, and MAT 281. 

Introduction to the use of computers to simulate intelligent behavior; includes game playing, problem solving, use of natural languages and pattern recognition. 

CSC 431    Advanced Computer Organization (3) EOY.

Prerequisite: CSC 221, CSC 331, CSC 341, MAT 271, and MAT 281. 

Alternate computer architectures and features of large scale systems. Microprogramming, parallel processing, memory organization, input/output systems, interprocessor communications and multiprocessing. 

CSC 451    Computer Networks (3) F.

Prerequisite: CSC 311, CSC 331, CSC 341, CSC 353, and MAT 321. 

An introduction to computer networks including both long haul and local area networks. Topics include network topology, network access methodology, transmission media, protocols and applications. 

CSC 453    Data Management (3) S.

Prerequisite: CSC 311, CSC 321, CSC 341, and CSC 353. 

Fundamental concepts in design, analysis and implementation of computerized database systems.  Database models, user and program interfaces and database control. 

CSC 455    World Wide Web Design and Management (3). 

Prerequisites:  CSC 251, CSC 321, CSC 353, and CSC 341. 

An introduction to the design, implementation and management of World Wide Web over the Internet and Intranet networks.  Topics include Internet overview, web authoring, web programming, server setting and maintenance. 

CSC 461    Computer Graphics I (3) F.

Prerequisite: CSC 311. 

Fundamental concepts of programming for computer graphics. Graphics devices, languages and algorithms. Substantial graphics programming projects. 

CSC 471    Compiler Construction (3) S.

Prerequisite: CSC 221, CSC 311, CSC 321, and MAT 361.

Introduction to the theory and practice of compiler construction. Overall structure of compilers.  Lexical and syntactic analysis, code generation for block structured languages and code optimization. 

CSC 481    Software Engineering (3) S.

Prerequisites: CSC 311, CSC 321 and CSC 353 are required; CSC 341 and CSC 453 are recommended.

Introduction to software engineering, with emphasis on software design and specification.  Oral and written presentations required.

CSC 490    Senior Seminar (3)

Prerequisite: CSC 311, CSC 321, and CSC 331.

Intense, structured seminar.  Exposure to current areas of research in Computer Science.  Students will attend department colloquia; conduct research; present individual and group projects; and, prepare a written proposal for a senior project.

CSC 495    Selected Topics (3) Variety.

Prerequisite: CSC CORE.

Content varies.  Advanced topics in computer science not covered by current course offerings.  May be used for elective credit in departmental programs.  Subject to approval.

CSC 497    Directed Study in Computer Science  (1-3) FS.

Prerequisite: CSC CORE or consent of instructor.

A project in computer science carried out on an independent study basis.  Repeatable course.

 

Infrequently Offered Courses

The following courses are scheduled on a "demand" basis.  Students should consult the department office for information about the next schedule offering.

CSC 337    Microcomputers (3) 

Prerequisite: CSC 221, CSC 331, and MAT 281. 

The architecture, programming and interfacing of microcomputers.  Topics include input/output, instruction sets, subroutines, interrupts and control.  In-class use of microcomputer hardware.  Repeatable course.  Two hours of lecture and three hours of laboratory per week.

CSC 421    Advanced Programming Languages (3) 

Prerequisites: CSC CORE.

Continuation of CSC 321.  Methods of formal specification of syntax and semantics of programming languages and special purpose language features for such areas as simulation and systems programming.

CSC 441    Advanced Operating Systems (3) 

Prerequisite: CSC CORE.  

Theoretical study of important topics in operating system design. Substantial individual and group programming projects.

CSC 463    Computer Graphics II (3) 

Prerequisite: CSC 461.

Advanced topics in computer graphics. Interactive graphics, animation, color and three dimensional modeling.