Course Description

This course focuses on data structures, software design and advance Java. The course starts with an introduction to data structures and the basics of the analysis of algorithms. Important data structures covered include arrays, lists, stacks, queues, trees, hash maps and graphs. The course also focuses on software design and advanced Java topics such as software architecture, code understandability and multithreading. 

Share your course experience

If you have already taken this course, we request you to share your experience, tips, suggestions, and resources regarding this course in the comment box below. Examples include textbooks, websites, YouTube Channels, software tools that were valuable for your study, and/or your general experience with the course. Please do mind that this is not to “review” the course, instead it’s a repository for students’ collective knowledge. Your feedback here helps prospective students understand more about the course and make use of the student recommended resources to succeed in this course.

Course Pairing

594 pairs well with any course, except for 591 (since 591 is a prerequisite). The assignments are appropriately challenging but allow the student  enough time to fully absorb the information, thus solidifying critical concepts in Data Structure and Algorithms. Average Hours Per Week: 5-10

Supplemental Resources

The views, information, or opinions expressed in the comments are solely those of the individuals involved and do not necessarily represent those of MOSA and/or University of Pennsylvania. As long as commenting guidelines are followed, they get published.

Please note that the comments should be less of a “review” and more of a repository for institutional knowledge. The content of the course may be changed and may become out-of-date. If the course changes in future, this page will be archived.


Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *