Undergraduate Courses – UCLA Mathematics

General Course Outline

Catalog Description

(5) Lecture, three hours; discussion, two hours; laboratory, eight hours. Lecture, three hours; discussion, two hours; laboratory, eight hours. No prior programming experience assumed. Basic principles of programming, using C++; algorithmic, procedural problem solving; program design and development; basic data types, control structures and functions; functional arrays and pointers; introduction to classes for programmer-defined data types. P/NP or letter grading.

Course Information

10A serves as the introductory programming class for the Program In Computing (PIC) and is a prerequisite for all other PIC courses. C++ is an excellent language for introducing students to coding because many of the fundamental concepts (data types and memory management, for example) are addressed explicitly by the language. When starting to code with other languages (such as Python) students can be lulled into thinking that such concepts can safely be ignored when, in fact, understanding them is essential to being a good programmer. Moreover, once these concepts are well understood, other languages are easier and quicker to learn, and one can better understand the advantages and disadvantages of different languages for solving different problems. 10A covers a lot of ground. Upon completion of the class, a student will be familiar with control flow, functions, console input/output, and classes (object oriented programming). Students who complete this course will be well prepared for more advanced courses in programming in C++ as well as PIC courses in other programming languages. An ambitious and imaginative student will already be able to implement their own interesting applications in C++.

Lecture Comments

The following approximate schedule details the topics that 10A instructors should teach. Except where clearly indicated, all topics should be covered. The time spent on each topic and the order in which the material is taught can be changed by an instructor to suit their teaching style and their vision for the class.

Schedule of Lectures

Outline update: M. Andrews, 11/5/2021