CCNY

Department of

Computer Science

blank Home

 

 

[CS Undergraduate Matrix]

Requirements for Majors
The satisfactory completion of 126 credits of prescribed and elective courses is required for the Bachelor of Science degree. The work comprises thirty liberal arts credits, twenty-five math and science credits, forty-four credits of required Computer Science courses, fifteen credits of Computer Science elective courses, six credits o f technical electives, and six credits of free electives.

Math and Science Requirements

Mathematics:
20102: Calculus I * 3
20202: Calculus II * 3
20300: Calculus III * 4
34600: Elements of Linear Algebra* 3

Science: 13
Students are required to take at least twelve credits of science. These credits must include one of the following year-long sequences:
Biology:
10100-10200: Biological Foundations (8 cr.)*
Chemistry:
10301-10401: General Chemistry (8 cr.)*
Physics:
(20700 + 20701) & (20800 + 20801): General Physics(8 cr.)*
and at least one additional course in Biology, Chemistry, or Physics.(4 cr.)

Total Math and Science Credits 25

*Minimum grade of “C” required.


Liberal Arts/English Requirements (total 30 cr.)

English (9 cr.):

  • Engl 11000 Freshman Composition
  • Engl 21007 Writing for Engineers
  • Speech 11100 Foundations of Speech Communication
    (students who are exempted from Spch 11100 must take another speech cource in its place)

Liberal arts (15 cr.):

  • five courses from a list of liberal arts courses approved by the School of Engineering,
    at least one of which must be on the 200-level or above.

Economics (3 cr.):

  • Econ 10400 Introduction to Quantitative Economics

Ethics (3 cr.):

  • CSc 37500 Social Issues in Computing
    (can be replaced by computing-relevant philosophy classes, such as Phil 33400 Philosophy of Artificial Intelligence,
    Phil 34902 Applied Ethics: Computer Ethics, or Phil 34903 Applied Ethics: Engineering Ethics.)

Computer Science Requirements

Required Courses
New Student Seminar:10000: New Freshman Seminar 0
Computer Science:
10200: Introduction to Computing* 3
10400: Discrete Mathematical Structures* 3
21000: Computers and Assembly Language Programming* 3
21200: Data Structures* 3
21700: Introduction to Simulation Science* 3
22000: Algorithms 3
22100: Software Design Laboratory 3
30100: Numerical Issues in Scientific Programming 3
30400: Introduction to Theoretical Computer Science 3
32200: Software Engineering 4
33200: Operating Systems 3
33500: Programming Language Paradigms 3
34200: Computer Organization 3
34300: Computer Systems Design Laboratory 1
59866: Senior Design Project I 3
59867: Senior Design Project II 3

The two courses of the Senior Design Project are a two-semester sequence; if the second course is not completed successfully, the whole sequence must be taken again.

Total Computer Science Required Credits 47

Electives I. Computer Science Electives: 12
At least one course must be taken from FOUR of the following FIVE groups:


A. Theoretical Aspect of Computer Science:

42200: Computability (3 cr.)
42800: Formal Languages and Automata (3 cr.)
44800: Artificial Intelligence (3 cr.)
45000: Combinatorics and Graph Theory (3 cr.)
48600: Introduction to Computational Complexity (3 cr.)

B. Computational Techniques for Science and Engineering:
44000: Computational Methods in Numerical Analysis (3 cr.)
44200: Systems Simulation (3 cr.)
44600: Mathematical Optimization Techniques (3 cr.)
47000: Image Processing (3 cr.)
47100: Computer Vision (3 cr.)
47200: Computer Graphics ( 3 cr.)

C. Software Systems and Paradigms:
33600: Introduction to Database Systems (3 cr.)
42000: Compiler Construction (3 cr.)
43000: Distributed Computing (3 cr.)
43500: Concurrency in Operating Systems (3 cr.)
47500: Windows Programming (3 cr.)

D. Net-Centric Computing:
31800: Internet Programming (3 cr.)
31100: XML Technologies(3 cr.)
47300: Web Site Design (3 cr.)
47900: Digital Libraries (3 cr.)
48000: Computer Security (3 cr.)

E. Architecture and Networks
41200: Computer Networks (3 cr.)
43200: Parallel Processing (3 cr.)
43800: Real-Time Systems (3 cr.)


II. Technical Electives 6
Technical electives for Computer Science majors may be either Computer Science electives (except CSc 31700) or advanced courses in the following areas: Biology, Chemistry, Earth and Atmospheric Sciences (EAS), Mathematics, Physics, and Chemical, Civil, Computer, Electrical, and Mechanical Engineering. Within these fields, the following courses are not acceptable:

  1. Courses at the 10000 level.
  2. Courses that have no prerequisites.
  3. Professional courses, such as actuarial math.
  4. Project and seminar courses.
  5. Courses that substantially duplicate material covered in other courses for which credit has been granted.

III. Free Electives 6
Acceptable free electives are any courses offered by the College except the following:

  1. Remedial courses, including pre-calculus math.
  2. Courses at a lower level than required courses.
  3. Courses that substantially duplicate material covered in other courses for which credit has been granted.
  4. Worker education and independent study courses.

Any substitutions require written permission of both the departmental advisor and Associate Dean of Undergraduate Affairs.

Total Elective Credits 24


Total Credits for Major: 126