| Course Objectives | Lecture and Discussion Sections |
| Course Website | Assignments |
| Instructors and Class Meetings | Examinations |
| Schedule of Lecture Topics and Exams | Grading |
| Textbook |
| Lecture 1 MW 12-1:50 Online David Smallberg das@cs.ucla.edu |
Lecture 2 MW 4-5:50 Online David Smallberg das@cs.ucla.edu |
||||
| Discussion 1A F 10-12 Online Yunqi Guo guoyunqi@gmail.com |
Discussion 1C F 2-4 Geology 3656 Derek Ma mdma@ucla.edu |
Discussion 1E F 12-2 Dodd 175 Nikki Woo nikki.k.woo@gmail.com |
Discussion 1G F 2-4 Haines A18 Shikha Mody smody@ucla.edu |
Discussion 2A F 10-12 Dodd 121 Alexis Korb alexiskorb@cs.ucla.edu |
Discussion 2C F 2-4 Haines A2 Qian Long longqian@cs.ucla.edu |
| Discussion 1B F 10-12 Fowler A139 Jason Panelli panelli@cs.ucla.edu |
Discussion 1D F 12-2 Bunche 1209B Kareem Ahmed kareem.yousrii@gmail.com |
Discussion 1F F 12-2 Haines A18 Manoj Reddy mdareddy@cs.ucla.edu |
Discussion 2B F 12-2 Online Rosa Garza rgarza96@g.ucla.edu |
Discussion 2D F 2-4 Haines A18 Shikha Mody smody@ucla.edu |
|
Office hours for the instructor, TAs, and LAs are on the class web page.
| Week | Date | Topics |
|---|---|---|
| 1 | Sep. 27 | Introduction/Computer History |
| Sep. 29 | Basics | |
| 2 | Oct. 4 | Basics |
| Oct. 6 | Basics | |
| 3 | Oct. 11 | Control Flow |
| Oct. 13 | Control Flow | |
| 4 | Oct. 18 | Functions |
| Oct. 20 | Functions and Program Development | |
| 5 | Oct. 25 | Arrays |
| Oct. 26 (Tue.) | Midterm 1 (6:30 pm - 7:30 pm) | |
| Oct. 27 | Arrays | |
| 6 | Nov. 1 | Strings |
| Nov. 3 | Pointers | |
| 7 | Nov. 8 | Pointers |
| Nov. 10 | Structs and Classes | |
| 8 | Nov. 15 | Classes |
| Nov. 16 (Tue.) | Midterm 2 (6:30 pm - 7:30 pm) | |
| Nov. 17 | Constructors | |
| 9 | Nov. 22 | Pointers |
| Nov. 24 | Function Overloading | |
| 10 | Nov. 29 | Review |
| Dec. 1 | Review | |
| end of 10 | Dec. 4 (Sat.) | Final exam (6:30 pm - 9:30 pm) |
The required course textbook is an interactive online zyBook that offers a number of advantages over static text-dense textbooks. To purchase a subscription ($77):
Lectures will expand on material from the course textbook, supplemented by additional subject matter. You are responsible for material presented in the lectures.
In discussion sections, your TA along with a learning assistant (LA) will pose problems to solve in class to ensure you understand key concepts and answer questions that arise about these concepts, lecture topics, and programming projects.
You cannot learn how to write programs without writing programs. There will be several programming projects. Each project specification will detail any requirements that differ from the general project requirements. Your program correctness score is based on your program's correctness as determined by our testing. The amount of time you spent working on the program is irrelevant; indeed, if you follow our software development advice, you'll probably spend less time and get a higher score than if you don't.
Some assignments will be activities in the course text designed to help ensure that you understand important concepts.
Occasionally you'll be asked to fill out a brief online form (e.g., because we need to gather some information for planning purposes) in a timely manner. These "responsibility assignments" will be so labelled and completing them will be worth a small part of your grade.
Every C++ program you turn in for this class outside of the course text must run successfully using two compilers, as specified in the Project Requirements document.
Programming projects are due at 11 PM on the dates below. Late submissions will be penalized by 0.0034722% per second (which comes to 12.5% per hour), making a submission worthless if submitted after 7 AM the next morning. It is your responsibility to start early and to make backups to removable devices or to online storage.
| Project 1 | Monday, October 4 |
| Project 2 warmup | Saturday, October 9 |
| Project 2 | Thursday, October 14 |
| Project 3 warmup | Wednesday, October 20 |
| Project 3 | Wednesday, October 27 |
| Project 4 warmup | Wednesday, November 3 |
| Project 4 | Wednesday, November 3 |
| Project 5 warmup | Monday, November 15 |
| Project 5 | Monday, November 15 |
| Project 6 | Monday, November 22 |
| Project 7 | Thursday, December 2 |
The midterm will cover material from the lectures. The final examination will cover material from the entire course. Missing the final for any reason will result in a final exam score of zero.
Your grade in the course will be determined from your total score, determined from the graded materials: projects, other assignments, midterms, and the final. The total score is determined from the graded materials as follows:
| Projects (excluding zyBook assignments) | 66% |
| zyBook assignments | 7% |
| Responsibility assignments | 2% |
| Midterm 1 | 5% |
| Midterm 2 | 8% |
| Final exam | 12% |
A request for reconsideration of the grading for an item must be made within one week of our sending you your score for that item.
Be sure you have read and understood our expectations about academic integrity.