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.