Everything you need to know about CS 35L, Software Construction Laboratory, at UCLA.
CS 35L, Software Construction Laboratory, is a fast-paced course that can sometimes feel more like an upper-division course than a lower one. It introduces you to a lot of new information, from tools and technologies like shell scripting, Emacs, and Git to web applications. It will prepare you well for your actual upper-division classes both in terms of pace and subject matter. The multitude of “little languages” (such as shell operators and command options) that you learn in this course, you’ll use throughout your computer science career. Here are 4 tips to help you succeed in the class.
1. Take detailed notes.
This class will expose you to a lot of new information, which is both very exciting and difficult. You will be introduced to many important technologies. It can be hard to keep track of everything you’ll learn. Taking thorough and detailed notes is key to succeeding in this class, as you will be more able to remember every detail. Plus, the exams are open notes.
2. Start your homework early.
Homework assignments are time-consuming, but they will help you build technical knowledge to complement the foundational information you’ll learn in the lectures. These homework assignments will require you to work hands-on with React and Git and write shell and Python scripts. These are skills you’ll continue to use for your entire CS career, and you will be very thankful you got to nail them down early. While the late policy is very forgiving, try not to fall behind, as your next assignment will still be assigned shortly after the last one’s due date.
You will also be assigned a final group project and presentation in which you build a web application. Like the other assignments, start early on your project. Begin by making an outline and writing some skeleton code. Don’t leave all your work for the last few weeks of the semester. You’ll still have a final to study for and an app presentation to give. Get ahead on your project in the middle of the quarter — you’ll thank yourself later.
3. Study hard for your exams and fill in your best guess for each question.
These exams are different from the exams you’ll be used to. They are open notes and open book but consist of many open-ended and conceptual questions to truly test your understanding of the topics rather than your ability to memorize answers. Obtaining at least partial credit is key to succeeding on these exams, as getting full credit on questions is quite rare. Instead, you will work your way up and earn points by showing your mastery of course concepts, and the curve will hopefully take you to the grade you desire. I highly recommend doing the practice exams so you have an idea of what to expect.
4. Get help if you need it.
Finally, make sure you are receiving the assistance you need to succeed. This class is difficult. There is a lot of material you'll need to know by the time the final exam rolls around. However, there are plenty of available resources for you to succeed. Attend discussion sections — your TAs are there to review the material and help you understand it. Show up, take notes, ask questions, and you will benefit. Also, there are several free tutoring opportunities for lower-division CS courses. A few of the honor societies will host exam review sessions. These are very helpful for reinforcing your knowledge before the tests.
The bottom line…
This class is very time-consuming and will likely be your first look into what upper-division CS will be like. For those of you like me, who entered UCLA with little to no prior CS experience, it’ll be your first venture into computer science coursework outside of simple coding in C++ and Python. There will be times of struggle, but remember that if you’re struggling, many others are probably struggling as well. Ask questions on Piazza, get ahead on assignments, and you’ll be fine. Plus, the technical knowledge you’ll gain from this class will look great on a resume and more importantly, will serve you for many years to come.
Need a boost in your CS courses? Edlyft is here to help. Sign up here to stay up to date on all things Edlyft.