Back to University Catalog 2005-2007

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

Adjunct Faculty (Northrop Grumman)

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

Emeriti Faculty

William B. Jones

Staff

Yolanda Jones, 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 disciplineof 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 onthe 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 (55-62 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 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.†††††† Lower Division Computer Science Elective (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)

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.††††††† Computer and Society (3)

CSC 401.††††††† Analysis of Algorithms (3)

CSC 481.††††††† Software Engineering (3)

CSC 492.††††††† Senior Project (3)

MAT 321.††††† Probability and Statistics (3)

MAT 361.††††† Finite Automata (3)

3.†† Electives:Select two courses from the following(6 units):

CSC 395.††††††† Special Topics (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)

CSC 490.††††††† Senior Seminar (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 341.††††††† Operating Systems (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)

CSC 490.††††††† Senior Seminar (3)

CSC 492.††††††† Senior Design (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) [I]

CSC 361.††††††† Systems Programming (3) [I]

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.For course availability, please see the list of tentative course offerings in the current Class Schedule.

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

 

Lower Division

CSC 101††† Introduction to Computer Education (3).

A computer literacy course designed to familiarize the learner with a variety of computer tools and computer concepts with emphasis on utilizing packaged programs.This course provides an introduction to the use of computers, common software programs and peripherals.Students are instructed in the use of a word processor, drawing programs, spreadsheet, database, presentation tools, internet applications and statistical package in scientific applications.

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

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

CSC 115††† Introduction to Programming Concepts (3).

Introduces students to computer programming by teaching techniques of problem solving.Students will become acquainted with decision constructs, looping structures, and subroutine modules.Students will learn the vocabulary of object-oriented programming.

CSC 116††† Introduction to Computer Hardware and Tools (3).

Introduction to microcomputer hardware and operating systems.Students will be required to use application software to research, generate and prepare a semester project.

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

Prerequisite: CSC 115 or equivalent and MAT 153.

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

Prerequisites: CSC 121.

Continuation ofCSC 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).

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

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

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)

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

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

Prerequisites: CSC 123, MAT 193 and MAT 281.

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

Prerequisite: CSC 123.

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

CSC 331††† Computer Organization (3).

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

Prerequisites: CSC 311, CSC 331, and MAT 321.

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 395††† Selected Topics in Computer Science (1-4).

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

Prerequisite: CSC 311.

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

CSC 411††† Artificial Intelligence (3).

Prerequisites: CSC 311 and CSC 321.

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

Prerequisites: 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).

Prerequisite: CSC 341.

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

Prerequisite: CSC 311.

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

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

Prerequisites: CSC 251, CSC 311 and CSC 321.

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

Prerequisite: CSC 311.

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

CSC 471††† Compiler Construction (3).

Prerequisites: CSC 221, CSC 311 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).

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 492††† Senior Design (3).

Prerequisites:CSC 301 and CSC 490.

Intensive study under the guidance of a member of the Computer Science faculty which continues and expands the research carried out in Senior Seminar.Students will study system design and total project planning and management.A formal written report and oral presentation are required.

CSC 495††† Selected Topics (3).

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

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 353††† File Processing (3).

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

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