Intermediate building blocks for solving problems using computers. Topics include intermediate object-oriented programming, data structures, object-oriented design, algorithms for manipulating these data structures and their run-time analyses. Data structures introduced include stacks, queues, lists, trees, and sets.
4
UnitsLetter
Grading1, 2, 3
PasstimeNone
Level LimitEngineering
CollegeProfessor Mirza is awesome. She explains concepts very well with analogies and shows us how to approach LeetCode questions on particular topics, which are very helpful for the midterm and final. The labs are super long and hard so don't procrastinate them. Practice lots of LeetCode for this class and understand how to approach the labs to do well.
Professor Mirza's lectures are decent. She is clearly passionate about the topic, and grades a bit more generously than some other professors. However, it's worth mentioning that this course is extremely difficult, with challenging lab assignments and exams. Considerable effort is needed to obtain a good grade in this class.
Professor Mirza is one of the best teachers I have ever had, and definitely the best computer science teacher I have ever had. Her lectures and slides are amazing and taught me concepts that would normally take me hours to learn on my own. Her exams are quite difficult but she is generous with extra credit, same with labs/projects.
Nice professors, very few HWs
INCREDIBLY hard labs where you have to implement so many data structures but... god it drills it into your head really well. Years later and I still remember all the data structures taught and use it in job interviews, so I have to hand it to Mirza. She is nice but tests+labs are REALLY difficult. Hw is easy textbook problems. START EARLY ON LABS.
Diba is the goat.