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  110 INTRODUCTION TO COMPUTER SCIENCE (3)

Introduction to algorithmic thinking and object-oriented programming for students with little or no prior programming experience.  Emphasis on graphical programming, object-oriented problem solving, and basic Java concepts.  Letter grade only.  Course fee required. Prerequisite or Corequisite:  MAT 125 or MAT 125H or higher  SAS

 

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

Provides a broad introduction to World Wide Web and Internet-related software, including e-mail, HTML, telnet, and FTP. Includes discovery of ethical and privacy issues in e-commerce. 3 hrs. lecture.  Letter grade only. MATHC 35+; Prerequisite:  MAT 114 with a grade greater than or equal to C or Math Placement Test Results (ALEKS/MATHA 35+; PLACE 43+)  SAS

 

CS  122 PROGRAMMING FOR ENGINEERING AND SCIENCE (3)

Introduces computer programming for engineers, scientists, and math majors. Emphasizes problem solving, algorithms, and structured programming.  Letter grade only.  Course fee required. Prerequisite:  MAT 108 with a grade greater than or equal to C or Math Placement Test Results (ALEKS/MATHA 35+; MATHC 35+; PLACE 43+)  SAS

 

CS  122H PROGRAMMING FOR ENGINEERING AND SCIENCE - HONORS (3)

Introduces computer programming for engineers, scientists, and math majors.  Emphasizes problem solving, algorithms, and structured programming.  Letter grade only.  Course fee required. Prerequisite:  (MAT 108 with a grade greater than or equal to C or Math Placement Test Results (ALEKS/MATHA 35+; MATHC 35+; PLACE 43+)) and Honors Student Group  SAS

 

CS  122L PROGRAMMING FOR ENGINEERING AND SCIENCE LAB (1)

Provides guided practical experience with applied engineering and science-oriented programming problems.  Letter grade only.  Course fee required. Corequisite:  CS 122 

 

CS  123 PROGRAMMING IN FORTRAN (3)

Introduces computer programming in Fortran. Emphasizes problem solving through structured programming techniques and software design.  Letter grade only.  Course fee required. Prerequisite:  MAT 108 with a grade greater than or equal to C or Math Placement Test Results (ALEKS/MATHA 35+; MATHC 35+; PLACE 43+) 

 

CS  126 COMPUTER SCIENCE I (3)

Introduces foundational principles of computer science including object-oriented fundamentals.  Letter grade only.  Course fee required. Prerequisite or Corequisite:  MAT 125 or MAT 125H or Math Placement Test Results (ALEKS/MATHA 50+; MATHC 50+; PLACE 55+) and Corequisite: CS 126L 

 

CS  126L COMPUTER SCIENCE I LAB (1)

Guided practical experience with applied programming problems, development environments, and development techniques and methodologies.  Must be taken in conjunction with CS 126 lecture.  Letter grade only.  Course fee required. Corequisite:  CS 126 

 

CS  136 COMPUTER SCIENCE II (3)

Intermediate computer science, emphasizing algorithm design, object-oriented programming, and data structures.  Letter grade only.  Course fee required. Prerequisite:  CS 126 and Prerequisite or Corequisite:  (MAT 136 or MAT 136H or Math Placement Test Results (ALEKS/MATHA 65+; MATHC 65+; PLACE 70+)) and CS 136L  

 

CS  136L COMPUTER SCIENCE II LAB (1)

Guided practical experience with applied programming problems, development environments, and development techniques and methodologies.  Must be taken in conjunction with CS 136 lecture.  Letter grade only.  Course fee required. Corequisite:  CS 136 

 

CS  199 SPECIAL TOPICS (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.  Letter grade only.  Course fee required. Prerequisite: 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.  Letter grade only. Prerequisite:  CS 122, CS 122H, or CS 126 with grade of C or better  SAS

 

CS  248 FOUNDATIONS OF COMPUTER SCIENCE (3)

Design, analysis, and implementation of techniques of abstract data type; Finite and infinite models leading to an understanding of computability; Study of linguistic principles and mechanisms associated with diverse programming paradigms.  Letter grade only.  Course fee required. Prerequisite: CS 136 with grade greater than or equal to C 

 

CS  249 DATA STRUCTURES (3)

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

 

CS  299 SPECIAL TOPICS (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 (2)

Exploration of issues that deal with the ethical implications of widespread use of computer technology.  Letter grade only.  Course fee required. 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.  Letter grade only.  Course fee required. Prerequisite:  MAT 226 and CS 249 with grades 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.  Course fee required. 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.  Letter grade only.  Course fee required. 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.  Letter grade only.  Course fee required. Prerequisite: CS 249 with a grade greater than or equal to C 

 

CS  399 SPECIAL TOPICS (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.  No repeat limit.

 

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.  Course fee required. 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.  Letter grade only.  Course fee required. 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.  Course fee required. Prerequisite: CS 249  with grade greater than or equal to C 

 

CS  450 INTRODUCTION TO PARALLEL COMPUTING (3)

Flynn's classification, performance measures, paradigms of parallel computing, fundamental techniques to devise-parallel algorithms and programming, and survey of commercial parallel machines.  Letter grade only.  Course fee required. 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.  Co-convenes with CS 560.  Letter grade only.  Course fee required. 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.  Letter grade only.  Course fee required. Prerequisite: CS 249 with a grade greater than or equal to C 

 

CS  476 REQUIREMENTS ENGINEERING (2)

Covers all aspects of professional project initiation, including elicitation and validation of requirements, risk and feasibility analysis, resource estimation, and formal representation of final requirements.  Must be taken immediately before you take CS 486C.  Letter grade only.  Course fee required. Prerequisite:  CS 386 

 

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. Co-convenes with CS 577.  Letter grade only. Prerequisite:  CS 386 with a grade of C or better 

 

CS  480 OPERATING SYSTEMS (3)

Theory behind operating systems; scheduling, memory management, I/O and concurrency.  Letter grade only.  Course fee required. 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.  Letter grade only.  Course fee required. 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 be repeated for up to 12 units of credit.  Department consent required.  Pass-fail or letter grade.  Course fee 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.  Letter grade only.  Course fee required. Prerequisite:  CS 315, CS 396, and CS 476 with grades of C or better for the Bachelor of Science in Computer Science degree or CS 248 and CS 386 for the Bachelor of Science in Applied Computer Science degree  CAP

 

CS  497 INDEPENDENT STUDY (1-6)

Individualized approach to selected topics by guided reading and critical evaluation.  May not exceed 6 units. Department consent required.  Pass-fail or letter grade.  Course fee 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.