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 10-11:50 180 Engr VI (Mong) David Smallberg das@cs.ucla.edu |
Lecture 2 MW 4-5:50 WGYoung CS24 David Smallberg das@cs.ucla.edu |
||
Discussion 1A F 10-11:50 Pub Aff 2214 Weikai Li weikaili@cs.ucla.edu |
Discussion 1C F 12-1:50 Haines 118 Adrian Chen adrianchen@cs.ucla.edu |
Discussion 2A F 12-1:50 Pub Aff 1234 Alex Hung alexhung96@ucla.edu |
Discussion 2C F 12-1:50 Dodd 78 Yining Hong yninghong@gmail.com |
Discussion 1B F 10-11:50 Dodd 146 Junkai Zhang jkzhang@g.ucla.edu |
Discussion 1D F 12-1:50 Pub Aff 1246 Andrew Bai andrewbai@ucla.edu |
Discussion 2B F 12-1:50 Pub Aff 1222 Alex Taylor ataylor2@cs.ucla.edu |
Discussion 2D F 2-3:50 Dodd 147 Albert Zhao azzhao@cs.ucla.edu |
Office hours for the instructor, TAs, and LAs are on the main class web page.
Week | Date | Topics |
---|---|---|
1 | Sep. 30 | Introduction/Computer History |
Oct.  2 | Basics | |
2 | Oct.  7 | Basics |
Oct.  9 | Basics | |
3 | Oct. 14 | Control Flow |
Oct. 16 | Control Flow | |
4 | Oct. 21 | Functions |
Oct. 23 | Functions and Program Development | |
5 | Oct. 28 | Arrays |
Oct. 29 (Tue.) | Midterm 1 (approx. 6pm to 7:30pm; exact time TBD) | |
Oct. 30 | Arrays | |
6 | Nov.  6 | Strings |
Nov.  4 | Pointers | |
7 | Nov. 11 | Veterans Day Holiday |
Nov. 13 | Pointers | |
8 | Nov. 18 | Structs and Classes |
Nov. 19 (Tue.) | Midterm 2 (approx. 6pm to 7:30pm; exact time TBD) | |
Nov. 20 | Classes | |
9 | Nov. 25 | Constructors |
Nov. 27 | Pointers | |
10 | Dec.  2 | Function Overloading |
Dec.  4 | Review | |
end of 10 | Dec.  7 (Sat.) | Final exam (11:30 am - 2:30 pm) |
The required course textbook is an interactive online zyBook that offers a number of advantages over static text-dense textbooks. It's available through the UCLA Store's Bruin One Access (for undergrads) or Inclusive Access (for grads) program. You should have received email from "UCLA Store <no-reply@verbasoftware.com>" about this; questions about these access programs should be directed to bruinoneaccess@asucla.ucla.edu or inclusiveaccess@asucla.ucla.edu.
Some of the interactive activities will be required assignments. If you have any questions/issues about administrative aspects of the zyBook you subscribed to (access issues, etc.) contact support@zybooks.com or look at the Students section at the zyBooks help center.
Lectures will present the material you'll need to know for this class, expanding on material from the course textbook. In discussion sections, your TA along with a learning assistant (LA) will pose problems to solve collaboratively in class to help build your problem solving skills and ensure you understand key concepts. They may 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. Unless stated otherwise, 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 | Tuesday, October 8 |
Project 2 warmup | Saturday, October 12 |
Project 2 | Thursday, October 17 |
Project 3 warmup | Wednesday, October 23 |
Project 3 | Wednesday, October 30 |
Project 4 part 1 | Sunday, November 3 |
Project 4 part 2 | Wednesday, November 6 |
Project 5 | Monday, November 18 |
Project 6 | Monday, November 25 |
Project 7 | Thursday, December 5 |
The midterms will cover material from the lectures. The final examination will cover material from the entire course.
Your grade in the course will be determined from your total score, although a final exam score below 40 may subject you to a failing grade regardless of your total score. The total score is determined from the graded materials as follows:
Projects (excluding zyBook assignments) | 42% |
zyBook assignments | 7% |
Responsibility assignments | 1% |
Midterm 1 | 7% |
Midterm 2 | 13% |
Final exam | 30% |
The weights of these components may be altered if unforeseen circumstances affect an exam offering.
The total points you earn from assignments (scaled to 0 through 100) will be capped at 30 points above the mean of your exam scores (scaled to 0 through 100). For example, if you average 90 on the assignments, your midterm scores are 40 and 60, and your final is 50, then your assignment average is treated as only 80 (because that's 30 more than the mean of 40, 60, and 50). In other words, your assignment scores won't count fully if you can't show from your exam scores that you learned what you should have, given the extent you did well on the assignments.
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 that you have read and understood our expectations about academic integrity.