Computer Science 1 - Intro Programming&Computatn

Period: 2Culture: N/ADistribs: ["TLA"]Prereqs: Thomas Cormen

This course introduces computational concepts that are fundamental to computer science and are useful for the sciences, social sciences, engineering, and digital arts. Students will write their own interactive programs to analyze data, process text, draw graphics, manipulate images, and simulate physical systems. Problem decomposition, program efficiency, and good programming style are emphasized throughout the course. No prior programming experience is assumed.

Computer Science 2 - Program Interactive AV Art

Period: 2Culture: N/ADistribs: ["TLA"]Prereqs: Michael Casey

This course presents topics related to interactive visual art generated on a computer. Although it briefly covers computer-generated media art, the course focuses on the programming skills required for creating interactive works. Rather than using commercial software, students write their own programs, using the Processing language, to create compositions with which users can interact. The course introduces fundamental concepts of how to represent and manipulate color, two-dimensional shapes, images, motion, and video. Coursework includes short programming assignments to practice the concepts introduced during lectures and projects to explore visual compositions. The course assumes no prior knowledge of programming. This course is not open to students who have passed COSC 1 or ENGS 20 or who have received credit for one of these courses via the Advanced Placement exam or the local placement exam.

Computer Science 10 - ProbSolving:Object-Oriented

Period: 2Culture: N/ADistribs: ["TLA"]Prereqs: COSC 1, ENGS 20, or placement through the Advanced Placement exam or the local placement exam.Robert Drysdale

Motivated by problems that arise in a variety of disciplines, this course examines concepts and develops skills in solving computational problems. Topics covered include abstraction (how to hide details), modularity (how to decompose problems), data structures (how to efficiently organize data), and algorithms (procedures for solving problems). Laboratory assignments are implemented using object-oriented programming techniques.

Computer Science 30 - Discrete Math Computer Sci

Period: 11Culture: N/ADistribs: ["QDS"]Prereqs: COSC 1, ENGS 20, or placement through the Advanced Placement exam or the local placement exam.Prasad Jayanti

This course integrates discrete mathematics with algorithms and data structures, using computer science applications to motivate the mathematics. It covers logic and proof techniques, induction, set theory, counting, asymptotics, discrete probability, graphs, and trees. MATH 19 is identical to COSC 30 and may substitute for it in any requirement.

Computer Science 39 - Theory of Computation

Period: 2Culture: N/ADistribs: ["QDS"]Prereqs: COSC 30 and/or COSC 31. Students who have not taken COSC 30 and/or 31, but have a strong mathematical background, may take COSC 39 with the instructor's permission.Peter Winkler

This course serves as an introduction to formal models of languages and computation. Topics covered include finite automata, regular languages, context-free languages, pushdown automata, Turing machines, computability, and NP-completeness.

Computer Science 57 - Compilers

Period: 2Culture: N/ADistribs: ["TAS"]Prereqs: Sean Smith

Techniques for automatic translation of programming languages are discussed. The course includes a brief survey of various techniques and formalisms that can be used for describing the syntax and semantics of programming languages, for describing abstract and concrete machine architectures, and for describing program translation and transformation. This course includes a project to construct a compiler that will translate a program written in a high-level language into machine code for a conventional-architecture machine.

Computer Science 65 - Smartphone Programming

Period: 10Culture: N/ADistribs: ["TAS"]Prereqs: COSC 10Andrew Campbell

This course teaches students how to design, implement, test, debug and publish smartphone applications. Topics include development environment, phone emulator, key programming paradigms, UI design including views and activities, data persistence, messaging and networking, embedded sensors, location based services (e.g., Google Maps), cloud programming, and publishing applications. Concepts are reinforced through a set of weekly programming assignments and group projects.

Computer Science 74 - Machine Lrng&Stat Analysis

Period: 10Culture: N/ADistribs: ["QDS"]Prereqs: COSC 1 or ENGS 20; MATH 22 or MATH 24.Qiang Liu

This course provides an introduction to statistical modeling and machine learning. Topics include learning theory, supervised and unsupervised machine learning, statistical inference and prediction, and data mining. Applications of these techniques to a wide variety of data sets will be described.

Computer Science 76 - Artificial Intelligence

Period: 11Culture: N/ADistribs: ["TAS"]Prereqs: COSC 10. COSC 30 is recommended.Devin Balkcom

An introduction to the field of Artificial Intelligence. Topics include games, robotics, motion planning, knowledge representation, logic and theorem proving, probabilistic reasoning over time, understanding of natural languages, and discussions of human intelligence.

Computer Science 89.08 - Intro Human-Comp Interactn

Period: 11Culture: N/ADistribs: ["TAS"]
Warning: Trying to access array offset on false in /var/www/goals.alexbeals.com/public_html/index.php on line 166
Prereqs:
Xing-Dong Yang

This course provides the fundamentals of human-computer interaction, including identifying real-world needs of users, sketching & design, prototyping, as well as formal and informal evaluation techniques.

Computer Science 165 - Smartphone Programming

Period: 10Culture: N/ADistribs: []
Warning: Trying to access array offset on false in /var/www/goals.alexbeals.com/public_html/index.php on line 166
Prereqs:
Andrew Campbell

This course teaches students how to design, implement, test, debug and publish smartphone applications. Topics include development environment, phone emulator, key programming paradigms, UI design including views and activities, data persistence, messaging and networking, embedded sensors, location based services (e.g., Google Maps), cloud programming, and publishing applications. Concepts are reinforced through a set of weekly programming assignments and group projects.

Computer Science 174 - Machine Lrng&Stat Analysis

Period: 10Culture: N/ADistribs: []
Warning: Trying to access array offset on false in /var/www/goals.alexbeals.com/public_html/index.php on line 166
Prereqs:
Qiang Liu

This course provides an introduction to statistical modeling and machine learning. Topics include learning theory, supervised and unsupervised machine learning, statistical inference and prediction, and data mining. Applications of these techniques to a wide variety of data sets will be described.

Computer Science 189.8 - Intro Human-Comp Interactn

Period: 11Culture: N/ADistribs: []
Warning: Trying to access array offset on false in /var/www/goals.alexbeals.com/public_html/index.php on line 166
Prereqs:
Xing-Dong Yang
Warning: Trying to access array offset on false in /var/www/goals.alexbeals.com/public_html/index.php on line 180

Mathematics 2 - Calculus with Algebra/Trig

Period: 11Culture: N/ADistribs: ["QDS"]
Warning: Trying to access array offset on false in /var/www/goals.alexbeals.com/public_html/index.php on line 166
Prereqs:
Justin Troyka

MATH 1-2 is a two-term sequence. The course description is given under MATH 1. This course is open only to students having the permission of the Department. 

Mathematics 3 - Introduction to Calculus

Period: 11Culture: N/ADistribs: ["QDS"]Prereqs: Naomi Tanabe

This course is the basic introduction to calculus. Students planning to specialize in mathematics, computer science, chemistry, physics, or engineering should elect this course in the fall term. Others may elect it in the winter. A study of polynomials and rational functions leads to the introduction of the basic ideas of differential and integral calculus. The course also introduces exponential, logarithmic, and trigonometric functions. The emphasis throughout is on fundamental ideas and problem solving. MATH 3 is open to all students who have had intermediate algebra and plane geometry. No knowledge of trigonometry is required. The lectures are supplemented by problem sessions.