COM SCI 111
Operating Systems Principles
Description: Lecture, four hours; laboratory, two hours; outside study, nine hours. Enforced requisites: courses 32, 33, 35L. Introduction to operating systems design and evaluation. Computer software systems performance, robustness, and functionality. Kernel structure, bootstrapping, input/output (I/O) devices and interrupts. Processes and threads; address spaces, memory management, and virtual memory. Scheduling, synchronization. File systems: layout, performance, robustness. Distributed systems: networking, remote procedure call (RPC), asynchronous RPC, distributed file systems, transactions. Protection and security. Exercises involving applications using, and internals of, real-world operating systems. Letter grading.
Units: 5.0
Units: 5.0
Most Helpful Review
Spring 2021 - Jon was a great lecturer. (He ended every lecture with: "I'm pulling for you" : ) ) He revamped the course to simplify the labs and submission process. For example, we didn't have to use a BeagleBoard for the labs. Instead, we did all the labs in a Linux VM (Arch) in Virtual Box. He also streamlined the submission process for labs. Instead of tarballing the assignment and uploading it to CCLE, all we had to do to submit was (git) push our changes to the class server. We also got 4 late days (spread out across all the labs). The submission time is when you push, not the time of the commit. He also streamed his lectures using Twitch (significantly better video quality than Zoom) and posted the recordings on YouTube. We also used Discord for asking questions and talking to the TAs and professor. We also got to choose what topics were covered for the last few lectures (sockets, VMs) which was great. Here's a link to the course website: https://laforge.cs.ucla.edu/cs111/ and the syllabus: https://laforge.cs.ucla.edu/cs111/media/cs111/syllabus.pdf . The grade breakdown is: 5% for the warm-up lab, 10% for each of the four labs, 24% for the midterm, and 30% for the final. (There was also 1% extra credit if you complete the course evaluation.)
Spring 2021 - Jon was a great lecturer. (He ended every lecture with: "I'm pulling for you" : ) ) He revamped the course to simplify the labs and submission process. For example, we didn't have to use a BeagleBoard for the labs. Instead, we did all the labs in a Linux VM (Arch) in Virtual Box. He also streamlined the submission process for labs. Instead of tarballing the assignment and uploading it to CCLE, all we had to do to submit was (git) push our changes to the class server. We also got 4 late days (spread out across all the labs). The submission time is when you push, not the time of the commit. He also streamed his lectures using Twitch (significantly better video quality than Zoom) and posted the recordings on YouTube. We also used Discord for asking questions and talking to the TAs and professor. We also got to choose what topics were covered for the last few lectures (sockets, VMs) which was great. Here's a link to the course website: https://laforge.cs.ucla.edu/cs111/ and the syllabus: https://laforge.cs.ucla.edu/cs111/media/cs111/syllabus.pdf . The grade breakdown is: 5% for the warm-up lab, 10% for each of the four labs, 24% for the midterm, and 30% for the final. (There was also 1% extra credit if you complete the course evaluation.)
AD
Most Helpful Review
Spring 2017 - I'm surprised no one rants here. You need 94 in total to get an A when only 15 people are above 90 in part 1 of the final and 8 people are above 90 in part 2 of the final. (Update: apparently he changed the break down points, which can boost him from a 1 to a 2.) Project specs are changed after due date. Sanity check and grading script is incoherent. Need to pay 10 points of late penalty for using the right make clean targets. Never provide enough detail for project 3. No sample output for project 3 like previous quarters. His lectures are long and boring. He tries to explain but his explanation is so convoluted that you understand even less after listening to it. I can't believe anyone can praise this guy. Avoid him and take Eggert it you can.
Spring 2017 - I'm surprised no one rants here. You need 94 in total to get an A when only 15 people are above 90 in part 1 of the final and 8 people are above 90 in part 2 of the final. (Update: apparently he changed the break down points, which can boost him from a 1 to a 2.) Project specs are changed after due date. Sanity check and grading script is incoherent. Need to pay 10 points of late penalty for using the right make clean targets. Never provide enough detail for project 3. No sample output for project 3 like previous quarters. His lectures are long and boring. He tries to explain but his explanation is so convoluted that you understand even less after listening to it. I can't believe anyone can praise this guy. Avoid him and take Eggert it you can.
Most Helpful Review
Winter 2024 - The tests are difficult but manageable. The labs/homeworks are pretty easy, especially if you attend discussion where the TAs went over the hard parts of each lab. There is a lot of course content to be taught in one quarter, and to be honest, it felt like this class was made to be taught in a semester instead. Be prepared for a lot of reading.
Winter 2024 - The tests are difficult but manageable. The labs/homeworks are pretty easy, especially if you attend discussion where the TAs went over the hard parts of each lab. There is a lot of course content to be taught in one quarter, and to be honest, it felt like this class was made to be taught in a semester instead. Be prepared for a lot of reading.
AD
Most Helpful Review
Winter 2021 - At this point, it's no secret that CS 111 is a horribly designed course with many flaws, particularly regarding its awful pacing and disconnect between lecture material and labs. I would, however, instead like to offer tips about how to survive this class and some insight about Professor Xu. Lectures can be a little boring and confusing at times, but I think it's still a good way to stay on top of things and learn the material. Plus, the professor often emphasizes material that will show up on exams. Doing the recommended readings is also a good way to enforce your understanding of the material, especially if you have trouble grasping the how and why. The professor also provided some practice problems the quarter that I took it, and they really helped test my knowledge and let me figure out what topics I should review. For labs, you should attend discussion sections since the TAs go over what the labs are about and help get you started. It saves a lot of time since you won't have to really start from scratch looking things up all the time. Professor Xu isn't the best at explaining concepts in lecture, but he is definitely one of the most understanding instructors I've had. He listened to a lot of the complaints that students had about the course and took it as constructive advice for improving the class. For example, students complained about the difficulty of the midterm exam given the 2 hour time limit, and he made the final a lot more manageable. In all, he seems like one of the better options for this course.
Winter 2021 - At this point, it's no secret that CS 111 is a horribly designed course with many flaws, particularly regarding its awful pacing and disconnect between lecture material and labs. I would, however, instead like to offer tips about how to survive this class and some insight about Professor Xu. Lectures can be a little boring and confusing at times, but I think it's still a good way to stay on top of things and learn the material. Plus, the professor often emphasizes material that will show up on exams. Doing the recommended readings is also a good way to enforce your understanding of the material, especially if you have trouble grasping the how and why. The professor also provided some practice problems the quarter that I took it, and they really helped test my knowledge and let me figure out what topics I should review. For labs, you should attend discussion sections since the TAs go over what the labs are about and help get you started. It saves a lot of time since you won't have to really start from scratch looking things up all the time. Professor Xu isn't the best at explaining concepts in lecture, but he is definitely one of the most understanding instructors I've had. He listened to a lot of the complaints that students had about the course and took it as constructive advice for improving the class. For example, students complained about the difficulty of the midterm exam given the 2 hour time limit, and he made the final a lot more manageable. In all, he seems like one of the better options for this course.