Computer Science

CS 10 – INTRODUCTION TO COMPUTER SCIENCE*
An introduction to the principles and concepts of computer science and its applications. Discussions focus on the use of computers in business and personal lives, computer system basics, computer architecture, hardware, systems and applications software, programming languages, software engineering, data communications, information systems, the history of computing and computer's impact on society. Introduction to the Internet and online information sources. Laboratory on use of computer hardware and software.
(3 units)

CS 50 – INTRODUCTION TO PROGRAMMING*
An introduction to problem solving techniques and program development in a modern high level language. Discussions focus on the concepts of an algorithm and basic programming concepts such as data types, primitive operations, control structures, arrays, structures, procedures, functions, and files. (3 units) Prerequisite: CS 10

CS 70 – THE INTERNET*
An introduction to the Internet and HTML publishing. Discussions will focus on the use of the Internet applications to access the Internet resources and to create intranets for use inside an organization. Among topics: setting up a network and dial-up connections to the Internet, e-mail, news, FTP, and Web servers, creating Web pages using HTML and Java, converting existing documents into Web documents, CGI programming. (3 units)

CS 90 – STUDIES IN PROGRAMMING LANGUAGES*
An introduction to a specific programming language which may vary from semester to semester. Discussions will focus on the application of the language to specific problems for which the language was developed. Typical languages may include Java, Visual Basic, Perl, C, Ada, Common Lisp, Scheme, Smalltalk. (3 units) Prerequisite: CS 50

CS 115 – DISCRETE MATHEMATICS
An introduction to set theory, combinations, logical inference, methods of proof, induction, recursion, foundations of logic programming, circuits, relations, digraphs, functions, basic probability, recurrence, matching, difference equations, graph and queuing theory, tree analysis and matrix operations. (3 units) Prerequisite: MATH 10

CS 135 – LINEAR PROGRAMMING*
An introduction to applications and problem formulation, simplex and karmarkar solution procedures, matrices, duality theory, and sensitivity analysis. Discussions focus on using an operations research approach involving case studies. (3 units)  Prerequisite: MATH 40

CS 137 – DATABASE*
A survey of the major types of database systems and subsequent issues in development and implementation. Discussions focus on relational and object-oriented models, normalization theory, query languages, design theory, and issues in concurrent and distributed database systems. (3 units)  Prerequisite: CS 50

CS 140 – DATA STRUCTURES*
An introduction to advanced tree structures, directed and undirected graphs, advanced searching and sorting techniques, priority queues and heaps, dictionaries, design and analysis of data structures and algorithms.
(3 units) Prerequisite: CS 50

CS 175 – TOPICS IN ARTIFICIAL INTELLIGENCE*
A topical investigation of issues associated with WI and Expert Systems. Topics will vary at each offering and will include knowledge representation, natural language issues, all programming languages; object oriented programming systems, predicate calculus, neutral networks, PROLOG, vision and pattern recognition, analysis and design of Expert Systems, and inductive inference. May be repeated for credit when topics vary. (3 units) Prerequisite: CS 50

CS 220 – SOFTWARE ENGINEERING
A survey of the principles and techniques involved in the production of high quality software for practical to application. Discussions focus on the identification of the software evolution process, automated system design methodology, debugging, documentation and software economics. Other topics often reviewed include program validation, program portability and software development environments. (3 units)
Prerequisite: Permission of the Department

CS 225 – HARDWARE/SOFTWARE TOPICS*
A topical investigation of a hardware/software subject specified in the class schedule. Discussion includes detailed presentation of a subject area of current research, which is not covered in the regular computer science curriculum. This course may be repeated when topics vary. (3 units)
Prerequisite: Permission of the Department

CS 250 – COMPUTER SECURITY
A survey of the basic principles and techniques of computer system security for business and computer managers and personnel. Discussions focus on physical protection, hardware and software security controls, encryption techniques, database, network and telecommunications security, microcomputer security, and viruses. Other topics include legal and ethical issues, current USA and international legislation, managerial issues, disaster recovery and contingency planning. (3 units)  Prerequisite: CS 10

CS 290 – RESEARCH PROJECT IN COMPUTER SCIENCE
Independent and original investigation under the supervision of a faculty member of a specific topic in the computer science. This course requires the completion of a detailed written report of work accomplished and necessary projects to validate the student's understanding of the issues involved. (1-4 units)
Prerequisite: Permission of Faculty Advisor

CS 299 – SPECIAL TOPICS IN COMPUTER SCIENCE
A special topic course, by a choice of a group of students. (1-4 units) Prerequisite: Instructor’s permission

* Classes include 15 hours of independent lab work.