Computer Science


131 - Fundamentals of Computer Science

Computer science is about the organization of information and the design of processes that use it. This course teaches students to think computationally - how to break processes down into components that can be then fully described - and to acquire other habits necessary for a computer scientist. Students should come out able to write simple but complete programs of their choosing, and should also be able to diagnose problems in unfamiliar programs.

131L - Fundamentals of Computer Science Lab

Laboratory for Fundamentals of Computer Science

155 - Web Design and Programming

Principles of web design. Tools and techniques of elementary web programming, including HTML, XHTML, CSS, Javascript, HTTP, SSL, XML, SQL. Introduction to network architecture and programming.
2 units

157 - Programming in C++

Programming in C++, including procedures, functions, control structures, files, structs, and elementary uses of pointers, objects, and classes. Does not assume any prior knowledge of C. Given in alternate years. Not offered every year Not open to students who have taken or are taking CS 161.
2 units

161 - Programming in Java I

Introduction to computers and fundamentals of programming in Java. Classes, Objects and Methods; Variables and data types; Decisions and iteration; Arrays and Array Lists; Java API and important classes such as String, Math, Graphics; Simple algorithms and programming techniques. This course serves as either a self-contained introduction to Java Programming, or the first step in the sequence of courses leading to the Computer Science minor. Not open to students who have taken or are taking CS 157.
2 units

165 - Mathematica

Introduction to using Mathematica for mathematical calculation and programming. Prior programming experience in any language, OR any of the following Math courses: 109, 110, 114, 120, 128, 210, 212, OR 214.
2 units

167 - Matlab

Introduction to Matlab for scientific computation and programming, including scripts and functions, control structures, arrays and cell arrays, logical indexing, and vectorizing algorithms. Introduction to object-oriented programming. Prerequisite: One 100 level science or mathematics course, or permission of instructor. Given in alternate years.
2 units

197 - Independent Study in Computer Science

Directed individual study. Prerequisite: permission of instructor.
2 units

211 - Java II and Introduction to Computer Science

Object oriented programming; Inheritance, interfaces, polymormpishm; File I/O; Exception Handling; Searching, sorting, and recursive algorithms; Graphical User Interfaces; Applets; Selected Topics in computer science; Selected applications in mathematics and the sciences.Weekly lab. Prerequisite: CS 161 or instructor permission.

311 - Data Structures and Algorithms

 Comparative data structures and analysis of algorithms. Abstract data types. “Big O” notation; Run time and memory allocation considerations; Introduction to computational complexity. Selected topics and applications from Graph Theory, Linear Algebra, Numerical Analysis, Data Compression, Weekly lab. Prerequisite: CS 211.

353 - Information Theory

An introduction to information theory, which will focus on (1) Data: transmission, storage, lossless data compression (such as ZIP, LZW), lossy data compression (found in JPG or MP3 formats), channel capacity; (2) Coding: optimal codes, error correcting codes, the several coding theorems of Claude Shannon; (3) Measures of information: entropy, relative entropy, relation between entropy and information content; (4) Application topics which vary from year to year which might include: signal processing, image processing, pattern recognition, cryptography and data security, quantum computing, data analysis and more. Prerequisite: Mathematics 210; Recommended: Math 214 and Math 146 or 150

397 - Independent Study in Computer Science

Directed individual study of advanced topics. Prerequisite: permission of instructor.
2 or 4 units

  • Phone: (323) 259-2822
  • Email:
  • Location: Fowler 303