Skip to main content
Virginia Tech
Computer Science
3 credits

Virginia Tech CS 2114: Software Design and Data Structures

CS 2114 is the second course in Virginia Tech's CS sequence — object-oriented design in depth plus the core data structures (lists, stacks, queues, trees, hash tables) in Java, with substantial projects graded by an autograder that scores your test coverage and style alongside correctness.

Fennie is independent and not affiliated with Virginia Tech. This is an unofficial study guide.

Build my CS 2114 study plan

What makes it hard

The autograder culture is the adjustment: projects are graded on whether your own tests exercise your code, so 'it works on my example' earns partial credit at best. Meanwhile the material jumps from using Java to building data structures with it, and recursion plus linked structures form the classic conceptual wall.

What you'll cover

  • Object-oriented design and interfaces
  • Software testing and test coverage
  • Linked lists, stacks, and queues
  • Recursion
  • Trees and binary search trees
  • Hash tables and Big-O basics

The CS 2114 study guide

How to study for Virginia Tech CS 2114, step by step.

  1. 1

    Internalize the testing bar early

    The autograder scores your test coverage, so writing thorough tests is literal grade points. Write tests alongside code from project one — retrofit testing is slower and worse.

  2. 2

    Draw every linked-structure operation

    Diagram what each reference points to before and after every insert, delete, and traversal. The drawing habit is what makes the code writable and the exam questions answerable.

  3. 3

    Build the inductive recursion model

    Trust the recursive call to handle the smaller case while you reason about one frame. Students who trace every call of every example burn out — the inductive mental model is the breakthrough.

  4. 4

    Start projects the day they open

    CS 2114 projects are long, and debugging linked structures eats calendar days. The grade gap between early starters and deadline coders is the most reliable pattern in the course.

  5. 5

    Practice implementing structures from scratch before exams

    Exams ask you to write and trace data-structure code by hand. Re-implementing a linked list or BST from a blank page is the honest readiness check.

  6. 6

    Space the hard topics with Fennie

    Upload your CS 2114 syllabus and Fennie's Daily Plan spreads recursion and linked-structure practice across weeks with project work front-loaded by design, plus quizzes generated from the actual course content. Free to start.

    Start my CS 2114 plan free

How Fennie helps with CS 2114

Fennie's Daily Plans give CS 2114's walls the spaced runway they need — recursion and linked structures practiced across weeks, projects front-loaded so the autograder's testing bar gets met without all-nighters. Chat traces operations reference by reference until you can run the code in your head, which is the exam skill.

FAQ

Is CS 2114 at Virginia Tech hard?

It's the course where the CS major gets real: building data structures rather than using them, recursion as a load-bearing skill, and an autograder that scores your test coverage. Early project starts and consistent tracing practice are what get students through.

How does the autograder in CS 2114 work?

Projects are scored on correctness plus the quality of your own tests and code style — your test suite has to genuinely exercise your code. Writing tests alongside code from the start is both the strategy and the lesson.

How do I prepare for CS 2114?

Enter with CS 1114's Java and OOP genuinely fluent — classes, interfaces, and basic recursion. During the course, draw diagrams for every linked-structure operation and start projects immediately; debugging time is the resource that runs out.

Pass CS 2114 with a plan, not a cram

Upload your CS 2114 materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.

Get started free

More Virginia Tech courses