Learn EECE 2140: C++ with a clear week-by-week roadmap
Start with the fundamentals, track your progress visually, and jump into hands-on practice tools whenever you need extra support.
All Weeks
Set up your IDE, understand compilation, and write your first C++ program.
Master data types, operators, conditionals, and loops the building blocks of C++.
Use structured tools to write, debug, and review C++ code more effectively.
Dive into memory concepts stack arrays, pointer arithmetic, and reference variables.
Organize code with functions, overloading, default parameters, and scope rules.
Introduce classes, objects, constructors, destructors, and encapsulation.
Explore inheritance, polymorphism, virtual functions, and abstract classes.
Understand heap vs stack, new/delete, memory leaks, and smart pointers.
Review core concepts, tackle the midterm, and kick off the final project.
Read and write files using fstream, handle text and binary I/O and formatting.
Work with vector, list, map, set, and other powerful STL containers.
Write expressive code using sort, find, transform, and lambda expressions.
Write robust programs using try, catch, throw, and custom exception classes.
Explore C++11/14/17/20 features: auto, move semantics, lambdas, and more.
Present your final project, review the full course, and plan your next steps.
3 Practice Tools
Break down any coding problem before writing a single line. Design your solution step by step in pseudocode, then implement, verify, and validate it with structured test cases.
Find and fix bugs in C++ code samples organized by week. Three difficulty levels with syntax highlighting, a live challenge timer, and automatic grading on every submission.
Compare two C++ solutions side by side. Evaluate readability, correctness, efficiency, and design quality then write structured code review comments like a professional engineer.
- Start with Problem Planner for every new assignment
- Read the problem carefully and identify all requirements first
- Design your pseudocode before writing any code
- Use Bug Hunter weekly to sharpen your debugging instincts
- Use Code Judge to practise professional-level code review
- Export your completed worksheet as a JSON file to submit
- Review submitted JSON files for each student submission
- Update debug challenges by week and difficulty level
- Change code review scenarios each semester
- Track session timing and self-assessment scores
- Use JSON exports for ABET outcome evidence
2 Interview Preparation Modules
Flash-card style questions and answers covering the most common conceptual interview questions. Topics include C++ fundamentals, OOP principles, pointers and memory, STL containers, and complexity analysis. Answer each question, then reveal the model answer and rate your confidence.
Practice the most common C++ coding interview problems using a disciplined pseudocode-first approach. Write your algorithm in plain pseudocode, then implement in C++. Submit for instant structured feedback on your logic, edge cases, and code quality.
- Work through the Concepts module daily (15 cards per session)
- Cover C++ types, OOP, pointers and memory on Days 1 and 2
- Study STL containers, complexity, and design patterns Days 3 to 5
- Re-attempt any card you rated below 3 on Day 6
- Full review of all flagged cards on Day 7
- Always write pseudocode before touching any C++ code
- Do 3 problems per day starting with Easy, then Medium
- Submit each attempt for feedback before reading hints
- Attempt Hard problems on Days 5 and 6
- Speed run all Easy problems under 10 minutes on Day 7