Computer Science Undergraduate Courses

Some courses may not be offered every year. Check with the college or department office for current information about when specific courses are offered.  

 

For course syllabi, see the departmental website.

 

CS  112 INTRODUCTION TO THE WORLD WIDE WEB AND INTERNET       (3)

Provides a broad introduction to World Wide Web and Internet-related software, including email, HTML, telnet, and FTP. Includes discovery of ethical and privacy issues in e-commerce. 2 hrs. lecture, 2 hrs. lab. Prerequisite:  MAT 114 or Math Placement 43 or higher with a grade greater than or equal to C SAS

 

CS  122 INTRODUCTION TO PROGRAMMING       (3)

Introduces computer programming for engineers, scientists, and math majors. Emphasizes problem solving, algorithms, and structured programming. Prerequisite:  MAT 108 or Math Placement 43 or higher with a grade greater than or equal to C SAS

 

CS  122H INTRODUCTION TO PROGRAMMING - HONORS       (3)

Introduces computer programming for engineers, scientists, and math majors.  Emphasizes problem solving, algorithms, and structured programming. Prerequisite:  MAT 108 or Math Placement 43 or higher with a grade greater than or equal to C and Honors Student Group SAS

 

CS  123 PROGRAMMING IN FORTRAN       (3)

Introduces computer programming in Fortran. Emphasizes problem solving through structured programming techniques and software design. Prerequisite:  MAT 108 or Math Placement 43 or higher with a grade greater than or equal to C

 

CS  126 INTRODUCTION TO COMPUTER SCIENCE       (3)

Introduces foundational principles of computer science including object-oriented fundamentals. Prerequisite or Corequisite:  MAT 125 or MAT 125H or Math Placement 55 or higher and Corequisite: CS 126R

 

CS  126R INTRODUCTION TO COMPUTER SCIENCE RECITATION      (1)

Mandatory recitation section covering problem-solving techniques in introductory computer science.  Must be taken concurrently with CS 126.  Pass-fail only. Corequisite:  CS 126

 

CS  136 SOFTWARE TECHNIQUES       (3)

Intermediate computer science, emphasizing algorithm design, object-oriented programming, and data structures. Prerequisite:  CS 126 and Prerequisite or Corequisite:  MAT 136 or MAT 136H or Math Placement 70 or higher

 

CS  198 MODULAR LEARNING EXPERIENCE     (1-3)

Foundations of intellectual inquiry.  In-depth study of a substantive problem.  Letter grade only.  May be repeated for a maximum of 6 units.

 

CS  199 MODULAR LEARNING EXPERIENCE     (1-3)

Foundations of intellectual inquiry.  In-depth study of a substantive problem.  Letter grade only.  May be repeated for a maximum of 6 units.

 

CS  200 INTRODUCTION TO COMPUTER ORGANIZATION       (3)

Binary representation of information in digital computers.  An introduction to digital logic design, computer architectures, microprocessor architectures and assembly language programming. Prerequisite: (CS 122 or CS 122H) or CS 126 with grade greater than or equal to C

 

CS  212 WEB PROGRAMMING       (3)

Introduces web programming. Emphasizes creating reactive, highly usable web sites. Introduces HTML forms, perl scripting, java applets, servletts, and JSP. Prerequisite:  CS 122 or CS 122H SAS

 

CS  249 DATA STRUCTURES       (3)

Design, analysis, and implementation techniques of abstract data types such as sets, lists, trees, heaps, and graphs. Prerequisite:  CS 136 and Prerequisite or Corequisite: MAT 226

 

CS  299 MODULAR LEARNING EXPERIENCE     (1-3)

In-depth study of an aspect, concept, or problem.  Letter grade only.  May be repeated for a maximum of 6 units.

 

CS  301 SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE      (1)

Exploration of issues that deal with the ethical implications of widespread use of computer technology. Prerequisite: CS 249 with a grade greater than or equal to C

 

CS  315 AUTOMATA THEORY       (3)

Finite and infinite models leading to an understanding of computability. Prerequisite: MAT 226 with grade greater than or equal to C

 

CS  345 PRINCIPLES OF DATABASE SYSTEMS       (3)

Basic concepts in database systems, including data manipulation language and data definition language.  The relational model and its implementation will be covered in depth together with an overview of SQL.  Letter grade only. Prerequisite: CS 249  with grade greater than or equal to C

 

CS  386 SOFTWARE ENGINEERING       (3)

Involves applying software engineering and software architecture principles and techniques in the construction of complex computer programs in a team setting. Individualized and team writing and oral presentation tasks. Ethical issues. Prerequisite: CS 249  with grade greater than or equal to C

 

CS  389 COOPERATIVE EDUCATION       (1-12)

Individualized preplanned cooperative employment experience related to your field of study or career objectives.  Fee required.  Pass-fail only.  May be repeated for a maximum of 12 units.

 

CS  396 PRINCIPLES OF LANGUAGES       (3)

Intensive study of the underlying linguistic principles, constructs, and mechanisms associated with diverse programming paradigms. Prerequisite: CS 249 with a grade greater than or equal to C

 

CS  398 MODULAR LEARNING EXPERIENCE     (1-3)

In-depth study of an aspect, concept, or problem.  Letter grade only.  May be repeated for a maximum of 6 units.

 

CS  399 MODULAR LEARNING EXPERIENCE     (1-3)

In-depth study of an aspect, concept, or problem within a program of study. Letter grade only.  May be repeated for a maximum of 6 units.

 

CS  408 FIELDWORK EXPERIENCE       (1-12)

Individualized supervised field experience in an appropriate agency or organization.  Fee required.  Pass-fail only.  May be repeated for a maximum of 12 units.

 

CS  413 VIRTUAL WORLDS       (3)

Explores the data modeling, visualization, and simulation of abstract environments.  Topics include data organization, freeform and tile-based 2D and 3D graphics techniques, collision physics, AI, and networked game infrastructures.  Letter grade only. Prerequisite: CS 249

 

CS  421 ALGORITHMS       (3)

Order notation; design techniques such as divide and conquer, greedy, and dynamic programming; advanced data structures; and time- and space-complexity analysis. Introduces NP completeness. Prerequisite: CS 249

 

CS  430 COMPUTER GRAPHICS       (3)

Explores algorithms and geometric models for two and three dimensional objects and surfaces including geometric transformations, subdivision surfaces, implicit surfaces, factals, particle systems, ray tracing and real time rendering techniques.  Letter grade only. Prerequisite: CS 249

 

CS  445 DATA MINING       (3)

This course will provide an introduction to the main topics in data mining and knowledge discovery, including: data preparation, association rule mining, classification, and clustering.  Letter grade only. Prerequisite: CS 249  with grade greater than or equal to C

 

CS  450 INTRODUCTION TO PARALLEL COMPUTING       (3)

Lynn's classification, performance measures, paradigms of parallel computing, fundamental techniques to devise-parallel algorithms and programming, and survey of commercial parallel machines. Prerequisite: CS 249 with a grade greater than or equal to C

 

CS  460 COMPUTER NETWORKS       (3)

Concepts and implementation of computer networks: applications, architecture, protocol layers and protocols, internetworking and addressing, case studies.  Coconvenes with CS 560. Prerequisite: CS 249 with a grade greater than or equal to C

 

CS  470 INTRODUCTION TO INTELLIGENT SYSTEMS       (3)

Introduces fundamental principles of fuzzy systems, artificial neural networks, and genetic algorithms. Prerequisite: CS 249 with a grade greater than or equal to C

 

CS  477 ADVANCED USER INTERFACES       (3)

Explores design and construction of modern graphical user interfaces, including event models, client-server interaction, and interface design and usability evaluation. Coconvenes with CS 577. Prerequisite: CS 249 with a grade greater than or equal to C

 

CS  480 OPERATING SYSTEMS       (3)

Theory behind operating systems; scheduling, memory management, I/O and concurrency. Prerequisite: CS 249 with a grade greater than or equal to C

 

CS  481 COMPILERS       (3)

Theory and techniques of constructing compilers for programming languages. Prerequisite: CS 315 and CS 396 with grades greater than or equal to C

 

CS  485 UNDERGRADUATE RESEARCH     (1-6)

Original research under the supervision of a research adviser. May not exceed 6 hours of credit. Letter grade or pass-fail.  Department consent required.

 

CS  486C CAPSTONE EXPERIENCE       (4)

Implementation of sponsor-accepted proposal culminating in an oral presentation, product demonstration, and formal report. Topics include project management, software architecture and design, software implementation, testing, and documentation. Must be taken in the year in which you graduate. 2 hrs. lecture, 6 hrs. lab. Prerequisite: CS 315, CS 386, and CS 396 with grades greater than or equal to C CAP

 

CS  497 INDEPENDENT STUDY     (1-6)

Individualized approach to selected topics by guided reading and critical evaluation. Letter grade or pass-fail.  May not exceed 6 units. Department consent required.

 

CS  499 CONTEMPORARY DEVELOPMENTS     (1-3)

Examines recent trends and investigations in a selected area of a particular major field of study.  Letter grade only.  No repeat limit.