COMPTNG 16A
        
    Python with Applications I
    Description: (Formerly numbered 16.) Lecture, three hours; discussion, two hours. Requisites: course 10A, Computer Science 31, or equivalent, with grades of C- or better. In-depth introduction to Python programming language for students who have already taken beginning programming course in strongly typed, compiled language (C++, C, or Fortran). Core Python language constructs, applications, text processing, data visualization, interaction with spreadsheets and SQL databases, and creation of graphical user interfaces. P/NP or letter grading.
    
    
Units: 5.0
  Units: 5.0
      Most Helpful Review
      
Fall 2024 - I enjoyed this class a lot more than PIC 10A, as I felt the content was more applicable and the graders weren't as nitpicky on coding style. The first half covered most of what we did in 10A (except in Python, of course) while the second half emphasized visualization and data science/machine learning. The class was structured in a way that I believe allowed students to absorb the material well--everything was relatively easy to follow, and students had the chance to practice most (if not all) of the material learned outside of lecture. It definitely did amount to the workload of a 5-unit class, so expect to still put in effort. Professor Keating was, in my opinion, the best coding professor I've ever had. She explained everything relatively in-depth and structured her lectures into well-organized Jupyter notebooks. Homeworks were often challenging, but she and the TAs were pretty active on Campuswire to help students out. Exams were not too difficult, but you still need to study to get an A. The machine learning project was fun but time-consuming. I sort of had to rely on machine learning knowledge from other classes for certain parts, but it was manageable. It was interesting moving through everything from exploratory analysis to modeling, and it wasn't too high stakes (~15% of our grade). However, I was slightly disappointed that (at least for our quarter) she didn't show us our grade on the project after posting the final grade. Because of this, I can't really say anything specific about how strictly it was graded, but I can say that it was a great way for us to apply introductory machine learning topics.
  Fall 2024 - I enjoyed this class a lot more than PIC 10A, as I felt the content was more applicable and the graders weren't as nitpicky on coding style. The first half covered most of what we did in 10A (except in Python, of course) while the second half emphasized visualization and data science/machine learning. The class was structured in a way that I believe allowed students to absorb the material well--everything was relatively easy to follow, and students had the chance to practice most (if not all) of the material learned outside of lecture. It definitely did amount to the workload of a 5-unit class, so expect to still put in effort. Professor Keating was, in my opinion, the best coding professor I've ever had. She explained everything relatively in-depth and structured her lectures into well-organized Jupyter notebooks. Homeworks were often challenging, but she and the TAs were pretty active on Campuswire to help students out. Exams were not too difficult, but you still need to study to get an A. The machine learning project was fun but time-consuming. I sort of had to rely on machine learning knowledge from other classes for certain parts, but it was manageable. It was interesting moving through everything from exploratory analysis to modeling, and it wasn't too high stakes (~15% of our grade). However, I was slightly disappointed that (at least for our quarter) she didn't show us our grade on the project after posting the final grade. Because of this, I can't really say anything specific about how strictly it was graded, but I can say that it was a great way for us to apply introductory machine learning topics.
      Most Helpful Review
      
Fall 2024 - The teacher is nice and has many feedback channels available, and his extra credit opportunities (like writing what we learned from the mistakes we made in midterm) are actually very beneficial for learning. However, I felt that there were not enough practice papers (only 1 for each exam). Also, exams sometimes covered content we hadn't gone through in class so many students felt that it was unfair.
  Fall 2024 - The teacher is nice and has many feedback channels available, and his extra credit opportunities (like writing what we learned from the mistakes we made in midterm) are actually very beneficial for learning. However, I felt that there were not enough practice papers (only 1 for each exam). Also, exams sometimes covered content we hadn't gone through in class so many students felt that it was unfair.
AD
      Most Helpful Review
      
Winter 2025 - Do not take this class if you are a casual coder. This professor is so boring, and he takes all the fun out of python. Each question on the midterm and final is an edge case, or some very specific niche that can be easily searched on google in the real world but something you would never think to commit to memory.
  Winter 2025 - Do not take this class if you are a casual coder. This professor is so boring, and he takes all the fun out of python. Each question on the midterm and final is an edge case, or some very specific niche that can be easily searched on google in the real world but something you would never think to commit to memory.
AD
      Most Helpful Review
      
Spring 2022 - I took this class spring quarter of 2022 and I think it was his first time teaching. Lecture isn't mandatory, he posts the Jupyter Notebooks on canvas but doesn't record. He live codes in lecture and I thought it was very helpful. Discussions are mandatory and the TAs take attendance, and you do worksheets and work on your group project in them. The discussion assignments were graded and were sometimes kind of hard but the TAs and LAs go around to help you and your group. I really liked the group project, it was groups of 3 and you worked on a machine learning project together. I thought there was enough time given to do it and the project has been helpful as a template for other projects I'm doing in other classes. The midterm was really hard lol he gave us a study guide but it was super tricky and i think a lot of people didn't do well on it. His final was way easier though! Homeworks were pretty hard for me too, but he was always super helpful and nice during office hours. I would recommend this class, even though it was hard for me I felt like I learned so much and it has really helped me for future Python/data science classes
  Spring 2022 - I took this class spring quarter of 2022 and I think it was his first time teaching. Lecture isn't mandatory, he posts the Jupyter Notebooks on canvas but doesn't record. He live codes in lecture and I thought it was very helpful. Discussions are mandatory and the TAs take attendance, and you do worksheets and work on your group project in them. The discussion assignments were graded and were sometimes kind of hard but the TAs and LAs go around to help you and your group. I really liked the group project, it was groups of 3 and you worked on a machine learning project together. I thought there was enough time given to do it and the project has been helpful as a template for other projects I'm doing in other classes. The midterm was really hard lol he gave us a study guide but it was super tricky and i think a lot of people didn't do well on it. His final was way easier though! Homeworks were pretty hard for me too, but he was always super helpful and nice during office hours. I would recommend this class, even though it was hard for me I felt like I learned so much and it has really helped me for future Python/data science classes
      Most Helpful Review
      
Spring 2021 - Professor Perlmutter is super helpful! I think he is the best coding professor! We have pre-recorded videos posted every week, and he also holds live sessions to address useful real-life cases. I would say this class is not hard at all, as long as you work hard. Weekly homework(8 in total). Weekly live discussion assignments require group work. Same group throughout the quarter, in which the groups are randomly assigned by the professor. Midterm is very easy, we have 36 hours to do it. "The exam is a "90-minute exam," in the following sense: we've written the exam with the intention that, if all students spend 90 minutes on it, then the median exam grade would be around a 90. " Final exam is a bit more complicated, but it can be done in about 2-3 hours. There's a final project about building 3 machine learning models to predict species of penguins. Professor also offers several extra credit options: an extra credit essay, 2 extra credit surveys, and some extra points in the Midterm. I think everyone can do well in this class, even for people with no prior coding experience. Strongly recommend.
  Spring 2021 - Professor Perlmutter is super helpful! I think he is the best coding professor! We have pre-recorded videos posted every week, and he also holds live sessions to address useful real-life cases. I would say this class is not hard at all, as long as you work hard. Weekly homework(8 in total). Weekly live discussion assignments require group work. Same group throughout the quarter, in which the groups are randomly assigned by the professor. Midterm is very easy, we have 36 hours to do it. "The exam is a "90-minute exam," in the following sense: we've written the exam with the intention that, if all students spend 90 minutes on it, then the median exam grade would be around a 90. " Final exam is a bit more complicated, but it can be done in about 2-3 hours. There's a final project about building 3 machine learning models to predict species of penguins. Professor also offers several extra credit options: an extra credit essay, 2 extra credit surveys, and some extra points in the Midterm. I think everyone can do well in this class, even for people with no prior coding experience. Strongly recommend.