CS 31 Announcements Spring 2025

6/4/25 You may now turn in Project 7.
6/2/25 If your code passes these basic tests, you're on the right track for doing well on Project 7.
5/31/25 Please fill out this end-of-quarter LA feedback form before 5 pm Friday, June 6. Doing so will be worth a bit of extra responsibility assignment credit. Many LAs would appreciate hearing your feedback as they use it to complete their final project by indicating where and how they improved and/or have more room for improvement. You can evaluate an LA from your discussion section, from office hours, or from a workshop; here's a list of LAs.
5/31/25 Former CS 31 TA Brian Choi kindly made available a set of final practice problems and solutions. Former CS 31 instructor Kung-Hua Chang has done the same with his set of problems and solutions. Former CS 31 TA Bryant Chen has done the same.
5/31/25 The final exam is Saturday, June 7, from 11:30 am to 1:45 pm in Haines 39. The exam is closed book, closed notes, except for two 8½"×11" sheets of paper (4 sides). If you're the kind of person who asks questions during an exam, please sit in the front row or in an aisle seat. Bring a No. 2 pencil to the final (and an eraser if you make mistakes bubbling in Scantron forms).
5/31/25 UPE is hosting a final exam review session on Tuesday, June 3, from 7 pm to 9 pm in the Covel Westcoast room. It will not be livestreamed, but slides and a recording will be posted in the "LA Workshops and UPE review sessions" module on Bruin Learn.
5/31/25 UPE will hold a CS 31 Project 7 Hack on Monday, June 2, from 7 pm to 9 pm in the Carnesale Malibu room. It's recommended that you bring a laptop or other device to work on the project. The session will not be Zoomed or recorded, since although there are slides that will be posted, it's mostly in-person work. Snacks will be provided.
5/31/25 You don't have to learn how to interpret the wall of text that is sometimes produced when a program built using g31 crashes, but if you read the Interpreting Sanitizer Messages writeup, you might learn something that will empower you find the cause of some problems yourself.
5/29/25 The Project 7 spec is now available. Read it over, but don't even think of starting to work on the code until you've completed Project 7 part 1 and watched the lecture labelled "16: Wednesday, May 21". This diagram may help you visualize the relationships between the objects in Project 7.
5/29/25 On Thursday, May 29, David Smallberg's office hours will be held on Zoom from 4:00 pm to 5:00 pm instead of the usual 3:30 pm to 4:30 pm.
5/26/25 After watching the lecture labelled "15: Monday, May 19", you can start on Project 7 part 1.
5/26/25 You may now turn in Project 6.
5/21/25 On Thursday, May 22, David Smallberg's office hours will be held on Zoom from 7:00 pm to 8:00 pm instead of the usual 3:30 pm to 4:30 pm.
5/20/25 An LA-led workshop on Code Tracing and Classes will be held on Thursday, May 22, from 6 pm to 7 pm in Boelter 4760.
5/20/25 The Project 6 spec is now available.
5/18/25 You may now turn in Project 5.
5/18/25 On the SEASnet Linux server cs31.seas.ucla.edu, running the command
/usr/local/cs/bin/p5tester
will run a few of the many test cases that we will test your function with.
5/14/25 UPE is hosting a midterm review session on Thursday, May 15, from 7 pm to 9 pm in De Neve Auditorium. A link to a recording of the session will be posted in the "LA Workshops and UPE review sessions" module on Bruin Learn.
5/14/25 Former CS 31 instructor Kung-Hua Chang has kindly made available a set of midterm practice problems and solutions.
5/14/25 Sign up now to select a midterm time (either 5:15 to 6:20 in Kinsey Pavilion 1220B or 6:00 to 7:05 in Moore 100, Tuesday, May 20). The midterm is closed book, closed notes, no electronic devices, except that you may bring one 8½"×11" sheet of notes (you may use both sides, written or printed as small as you like). The midterm will cover topics up to and including C strings (i.e., topics talked about in lecture up to 0:46:12 of the lecture labelled "11: Wednesday, October 30". (Pointers, structs, and classes will not be on the exam.) Midterm questions will have you read code, write code, and find bugs in code. Bring a No. 2 pencil to the midterm.
5/11/25 An LA-led workshop on C Strings and Beyond will be held on Thursday, May 15, from 6 pm to 7 pm in Boelter 4760.
5/7/25 The Project 5 spec is now available.
5/7/25 Shaan Mathur has written a piece on C strings.
5/6/25 You may now turn in Project 4.
5/3/25 An LA-led workshop on Effective Testing will be held on Tuesday, May 5, from 6 pm to 7 pm in Boelter 4760.
4/30/25 The Project 4 spec is now available.
4/30/25 Please fill out this LA feedback form (to help them help you better) by Sunday, May 4. Doing so will be worth a bit of extra responsibility assignment credit. You can give feedback for an LA from your discussion section, from office hours, or from a workshop; here's a list of LAs.
4/30/25 Former LA Shaan Mathur has written an Intro to CS and a piece on arrays that some people might find helpful.
4/29/25 You may now turn in Project 3.
4/28/25 On the SEASnet Linux server cs31.seas.ucla.edu, running the command
/usr/local/cs/bin/p3tester
will run a few of the many test cases that we will test your Project 3 functions with. You would be wise to run it long before turning in Project 3 so that you have time to fix any problems with your code that it might reveal.
4/22/25 Former CS 31 instructor Kung-Hua Chang has kindly made available a set of midterm practice problems and solutions.
4/22/25 Sign up now to select a midterm time (either 5:15 to 6:20 in Kinsey Pavilion 1220B or 6:00 to 7:05 in Moore 100, Tuesday, April 29).
4/22/25 The midterm the evening of Tuesday, April 29, is closed book, closed notes, no electronic devices, except that you may bring one 8½"×11" sheet of notes (you may use both sides, written or printed as small as you like). The midterm will cover topics talked about in lecture up to and including the lecture labelled "7: Monday, April 21", more things about strings, and functions comparable to those in these practice exercises or zyBooks labs 5.9 and 5.10. (Reference parameters and arrays will not be on the exam.) Midterm questions will have you read code, write code, and find bugs in code. Bring a No. 2 pencil to the midterm. Read how you will answer some questions on the midterm exam.
4/22/25 Former CS 31 instructor Kung-Hua Chang has published Practice Problems for C++ Beginners from his experience teaching CS 31. He donates much of the profits to UCLA.
4/22/25 UPE is hosting a midterm review session on Thursday, April 24, from 7 pm to 9 pm in Carnesale Hermosa AB. It will have a semi-structured review based on important concepts learned thus far, coverage of midterm-type questions, and opportunities to work on practice problems. A link to a recording of the session will be posted in the "LA Workshops and UPE review sessions" module on Bruin Learn.
4/22/25 An LA-led workshop on Using the Debugger will be held on Thursday, April 24, from 6 pm to 7 pm in Boelter 4760. The Zoom link and slides will be available on Bruin Learn.
4/20/25 In preparation for Project 3, you'll find it helpful to first do these practice exercises to test your understanding of functions, and learn more things about strings. To further assist you, here's a note about characters and integers and a technique for processing strings. The Project 3 spec is now available.
4/20/25 A Project 2 solution and a Homework 2 solution have been posted. You should read our solutions to projects: You'll develop your analysis skills, and you may learn some new techniques.
4/16/25 You may now turn in Project 2. Make sure your zip file contains the report you prepared for Project 2, not the one for Project 1. Don't forget to do the homework linked to at the beginning of the Project 2 spec. After catching your breath, you can start on the Project 3 warmup.
4/16/25 Project 2 FAQ #7 tells you a way to be more confident that your program doesn't have a fundamental flaw that will cost you most of the correctness points.
4/13/25 During most weekday hours from 10 am to 6 pm through week 9, free CS 32 tutoring is available via Zoom by at least one of UPE (the Computer Science Honor Society), TBP (the Engineering Honor Society), and HKN (the Electrical Engineering Honor Society; tutoring on Discord [invite not yet valid]).
4/12/25 An LA-led workshop on Code Tracing will be held on Tuesday, April 15, from 6 pm to 7 pm in Boelter 4760. The Zoom link and slides will be available on Bruin Learn. Absolutely no food or drink is allowed in that room.
4/10/25 The Project 2 spec is now available. You'll find it helpful to learn some things about strings.
4/8/25 An LA-led workshop on Using the SEASnet Linux Server will be held on Thursday, April 10, from 6 pm to 7 pm in Boelter 4760. The Zoom link and slides will be available through the LA Workshops and UPE review sessions module on Bruin Learn. Absolutely no food or drink is allowed in that room.
4/8/25 The Project 2 warmup is now available.
4/6/25 You may now turn in Project 1.
4/2/25 The Project 1 spec is now available.
3/30/25 Please fill out the extremely brief experience survey as soon as possible, but before 11 PM Saturday, April 5. This is a responsibility assignment.
3/30/25 Zoom links for lecture sections and recordings of lectures will be available through Bruin Learn.
3/30/25 If you don't already have one, get a SEASnet student account, fill in the application form, and follow any subsequent instructions. Every student enrolled in a CS course is eligible for a SEASnet account, including non-engineering students.
3/30/25 Do not take both CS 31 and Chem 14D this quarter; if you do, you will have a midterm conflict.