CS 445


Course DescriptionThis course emphasizes the study of the basic data structures of computer science (stacks, queues, trees, lists) and their implementations using the java language included in this study are programming techniques which use recursion, reference variables, and dynamic memory allocation. Students in this course are also introduced to various searching and sorting methods and also expected to develop an intuitive understanding of the complexity of these algorithms.
View this course on Pitt's Website


Term Spring 2020Professor John Ramirez Difficulty 2/5Quality 5/5

Dr. Ramirez is great at making classes enjoyable and harder topics easier to digest, especially if you are a visual learner.

Term Spring 2019Professor John Ramirez Difficulty 4/5Quality 4/5

Data Structures is one of the most important CS classes you'll take so I'd highly recommend taking it with Ramirez or Hoffman. I took it with Ramirez and he does a very good job making complex topics seem simple. His tests weren't too bad as long as you paid attention in class and looked over the sample code he gives out. The projects were tough, but they were very important for getting comfortable with important topics like Linked Lists, Binary Trees, and recursion.

Term Spring 2019Professor Timothy Hoffman Difficulty 2/5Quality 5/5

Professor Hoffman, once a lecturer at CMU, is simply excellent. From the design of his assignments, to the humor during his lectures, he puts in a lot of effort. Often, it seems as though he gives his students and teaching more time than he gives himself. When I took his class, he had automated grading for labs/projects, and TAs would grade the assignments before the due date, so that you could make improvements. Exams can be hard if you skip lecture often. Take him for as many classes as you can. He's almost always the best option.

Term Fall 2018Professor William Garrison Difficulty 4/5Quality 5/5

I really enjoyed Data Structures w Garrison. The topics are challenging but if you put in the effort then you'll do well in the class. Completing projects are integral to doing well in the course. Make sure you start them early and got to Garrison for help. The tests aren't too bad and recitations are not mandatory.

Term Fall 2018Professor Jarrett Billinsgley Difficulty 1/5Quality 5/5

Jarrett is an amazing lecturer. Period. He explains topics really clearly, and is always willing to help students during office hours, and through email and discord. If you have a chance to take Jarrett, I would go for it!

Term Spring 2018Professor Sherif Khattab Difficulty 3/5Quality 3/5

After taking introductory CS courses, this is the beginning of the middle level of CS at Pitt. You will learn about data structures through Java, taking on challenging projects that will begin to take more then one day to finish. After this course, you will have a solid idea of your CS career.

Add your review by filling out this form!