Prof. Ricardo Jimenez explains the use of a spreadsheet application for his Introduction to Computers class.

# Computer Science Program Requirements

## Computer Science (CS)

The Computer Science program is designed to provide majors with a solid theoretical and technical foundation in the field of computers. The program provides a balance between problem-solving techniques and system implementation. Majors demonstrate skills in critical thinking, project development, independent study, and research.

The curriculum for the Computer Science major consists of the following components:

- Computer Science Core 38 credits
- Computer Science Electives 12 credits
- Mathematics Minor 20 credits
- Physics 8 credits
- General Education 42 credits
**Total - 120-122 credits**

## Computer Science Core

The core of CS courses consists of the following:

### CS 231 - Computer Science I

Evolution of hardware and software. Problem analysis and algorithm development. Data types, control structures, subprograms, scope, and recursion. Prerequisite: MAT 109.

### CS 232 - Computer Science II

Programming methodology. Data abstraction. Classes and class templates. Inheritance and polymorphism. Search techniques. Algorithm complexity. Windows programming and applications programming interface (API). Prerequisites: CS 231 and MAT 110.

### CS 317 Ethics and Digital Technology (3)

This course will provide students with an ethical and moral framework, which can serve as a basis for ethically grounded decision-making with respect to the use of technology in the digital era. Prerequisite: CS-180

### CS 331 - Data Structures and Algorithms

Algorithm analysis. Abstract data types. Techniques for the implementation of abstract data types, such as arrays, stacks, queues, trees, heaps, and graphs. Sorting. Prerequisite: CS 232 and MAT 253.

### CS 332 - Computer Hardware Organization

Boolean algebras and switching functions. Gates. Memory devices. Combinational systems, simplification and decomposition. Sequential systems. Analysis and synthesis. Design of digital systems. Prerequisite: MAT 109.

### CS 372 - Software Engineering

Basic tools and techniques for specifying, designing, implementing, verifying and validating large software projects. Prerequisite: CS 212 or equivalent.

### CS 413 - Operating Systems

Operating systems and computer system structures. Process management and synchronization. Memory management. File systems. I/O systems. Distributed systems. Protection and security in operating systems. Prerequisite: CS 331.

### CS 426 - Databases

Physical data organization. The network, hierarchical and relational models. Query languages. Design of relational databases. Query optimization. Integrity and security. Distributed databases. Prerequisite: CS 331.

### CS 431 - Concepts of Programming Languages

Survey of programming languages and language features. The syntax of programming languages and an introduction to compilers. Functional, object-oriented and logic programming. Prerequisite: CS 331.

### CS 471 - Computer Networks

Concepts and principles of data communications and computer networks. Network architectures and protocols. Local area networks. Switching and Routing. Distributed processing. Internetworking and current area topics. Prerequisite: CS 331.

### CS 477 - Computer Security

This course is intended to provide an introduction to the standard methods for securing computer applications and computer networks. The topics included are security attacks, security services, conventional encryption, public-key encryption, electronic mail security, PGP, web security, SSL, SET, intruders, viruses, and firewalls. Prerequisite: CS 440 or CS 471.

### CS 487 - Seminar (Integrative Experience, Two Semesters)

Students present topics of current interest in computer science. The material to be discussed will be taken from journals, proceedings or specialized books, but not from regular textbooks. This course serves as an integrative experience for Computer Science majors. Prerequisite: CS 331.

## Computer Science Electives

Computer Science electives consist of four 300 level or above computer science courses.

## Mathematics Minor

Given the close interaction between mathematics and computer science, a minor in mathematical sciences is required, consisting of at least 20 credits in mathematics courses, including:

### MAT 110 - Precalculus Mathematics II (3)

Trigonometric functions of angles; trigonometric identities, equations, and graphs; trigonometric applications; polar coordinates. Prerequisite: MAT 109 with a grade of C or above, or appropriate Math SAT or ACT score.

### MAT 211 - Calculus I

Limits of functions and approximation; differentiation and integration of elementary functions; maxima and minima applications. Prerequisite: MAT 110 with a grade of C or above, or appropriate math SAT or ACT score.

### MAT 212 - Calculus II

Advanced techniques of differentiation and integration; polar coordinates, sequences and series. Prerequisite: MAT 211 with a grade of C or above.

### MAT 253 - Discrete Mathematics I

Sets, counting, methods of proof. Logic. Relations, types of relations, functions, types of functions. Recursive functions. Prerequisite: MAT 110.

### MAT 254 - Discrete Mathematics II

Systems of linear equations, matrices, matrix operations. Graphs, lattices, Boolean algebras, regular expressions, finite state automata. Decidability, formal languages and grammars. Computational complexity. Prerequisite: MAT 253.

### MAT 356 - Statistics for Science

Analysis of data, histograms, measures of central tendency and of dispersion. Probability, normal curve. Statistical tests; hypothesis testing. This course is designed for science majors (Biology, Physics, Chemistry, Computer Science, Mathematical Sciences). Prerequisite: MAT 211 and at least another MAT course above MAT 212.

**Note:** A minimum grade of C is required in all courses in the CS Core, CS Electives, Science, Mathematics and minor.

## Physics

The following are co-requisites of the CS major and must be passed with a grade of C or better:

### PHY 201 - General College Physics I and Lab

Mechanics, heat, wave phenomena, electricity and magnetism, optics, modern physics.

### PHY 202 - General College Physics II and Lab

Mechanics, heat, wave phenomena, electricity and magnetism, optics, modern physics.

**Note:** The credits in Mathematics and Physics satisfy the Barry distribution requirements in Science and Mathematics.