Hunter Liu's Website

PIC 10A (Fall 2023)

Instructor: Professor Ali Kashefi

Discussion Section Location: MS 5138.
TA Office Hours: Tuesdays 12:00-1:00 PM; Thursdays 3:00-4:00 PM; MS 2943.

You can find a course description through UCLA’s registrar. Official course materials are available on BruinLearn.

The primary goal of the discussion sections is to equip students with the tools and strategies they need to solve the homework problems. However, programming involves far more than just knowing how to type correct code; to that end, the following goals will be incorporated, but secondary to the above:

I’ll be posting code written in class to the BruinLearn page; you can find uploads under the “Files” tab. I will also host these materials here. The .cpp files will be compressed into a zip file and uploaded under their corresponding days.

In addition to the code written in class, I’ll be uploading written review notes and accompanying practise problems. I write these materials as I plan my lessons, and they force me to think about how to organise information, important details, key skills, and common errors.

1. Week 1 Tuesday: Input/Output, Variables, and Errors
1.1. Practise Problems
2. Week 1 Thursday: If Statements and Conditionals
2.1. Practise Problems
3. Week 2 Tuesday: Practise with If Statements
4. Week 2 Thursday: More Practise with If Statements
5. Week 3 Tuesday: Problems with Division and the Modulo Operator
6. Week 3 Thursday: While Loops and For Loops
7. Week 4 Tuesday: Characters and Strings
8. Week 4 Thursday: Loop Management
9. Week 5 Tuesday: Practise with Loops and Strings
9.1. Some Worksheet Solutions
9.2. Challenge Problem Solution
10. Week 5 Thursday: Vectors
11. Week 6 Tuesday: Functions
12. Week 6 Thursday: Practise with Functions
13. Week 7: Midterm
14. Week 8 Tuesday: Object-Oriented Programming and Structs
15. Week 9 Tuesday: Practise with Designing Structs
15.1. A Guided Solution to Musical Chairs
16. Week 9 Thursday: Classes and File Organisation
17. Week 10 Tuesday: Destructors and Friends
18. Week 10 Thursday: Pointers
19. Week 11: Final Exam