Virginia Tech®home

CS 2114: Software Design and Data Structures

This course offers a programming-intensive exploration of software design concepts and implementation techniques, building on knowledge of fundamental object-oriented programming. Students will explore advanced object-oriented software design, ethics in computing, algorithm development and analysis, and classic data structures, and will complete a team-based software project.

Why take it?

CS 2114 introduces students to fundamental concepts of object-oriented design, and the mechanics of data structures that underly data manipulation tasks that underpin a wide variety of computational problem solving across disciplines. Technical job interviews frequently ask students questions from the content of this course. Both design ideas and strategies for constructing computational solutions that are developed in this course are applicable in other design and application contexts in other disciplines.


Prerequisites: CS 1114.

This course fulfills Pathways requirements in Critique and Practice in Design and Ethical Reasoning.