Dr. Fatema Nafa
C++ Programming
EECE 2140, Northeastern University

Course Topics

15 weeks of structured learning with integrated practice tools — from Hello World to modern C++ and beyond.

C++
Learn the Topics
15 weeks of interactive lectures with code examples, diagrams, quizzes, labs, and mini-projects.
15 Weeks — 100 Questions Each
LAB
Practice Tools
Practice pseudocode design, code debugging, and code review with structured lab tools.
3 Tools — JSON Export
SE
Interview Prep
Tackle the most common C++ software engineering interview problems, organized by topic and difficulty.
50+ Problems — LeetCode Style
Your Progress
0 / 15 weeks visited
W1Introduction to C++ and Development Environment

Set up your IDE, understand compilation, and write your first C++ program.

W2C++ Fundamentals

Master data types, operators, conditionals, and loops — the building blocks of C++.

W3Coding and Debugging Workflow

Use structured tools to write, debug, and review C++ code more effectively.

W4Arrays, Pointers, and References

Dive into memory concepts — stack arrays, pointer arithmetic, and reference variables.

W5Functions and Program Structure

Organize code with functions, overloading, default parameters, and scope rules.

W6Object-Oriented Programming Basics

Introduce classes, objects, constructors, destructors, and encapsulation.

W7Advanced Object-Oriented Programming

Explore inheritance, polymorphism, virtual functions, and abstract classes.

W8Memory Management

Understand heap vs stack, new/delete, memory leaks, and smart pointers.

W9Midterm and Final Project Introduction

Review core concepts, tackle the midterm, and kick off the final project.

W10File I/O and Streams

Read and write files using fstream, handle text and binary I/O and formatting.

W11Standard Template Library (STL): Containers

Work with vector, list, map, set, and other powerful STL containers.

W12STL Algorithms and Iterators

Write expressive code using sort, find, transform, and lambda expressions.

W13Exception Handling

Write robust programs using try, catch, throw, and custom exception classes.

W14Modern C++ and Advanced Topics

Explore C++11/14/17/20 features: auto, move semantics, lambdas, and more.

W15Project Presentations and Final Review

Present your final project, review the full course, and plan your next steps.

🛠
Integrated Practice Tools
Three hands-on lab tools that build real coding skills. Each tool saves your work as a JSON file for submission and grading.
Step 1Plan and Design
Step 2Write Pseudocode
Step 3Implement Code
Step 4Debug and Test
Step 5Review and Export
01
Problem Solving
Problem Planner
Pseudocode, Design, and Validation

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.

Week Selector Pseudocode Design Step-by-Step Workflow Test Cases JSON Export
Open Problem Planner
02
Debugging Practice
Bug Hunter
Syntax, Logic, and Design Errors

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.

Week Selector Syntax Errors Logic Errors Design Errors Auto-Grading JSON Export
Open Bug Hunter
03
Code Quality Review
Code Judge
Compare, Evaluate, and Review

Compare two C++ solutions side by side. Evaluate readability, correctness, efficiency, and design quality — then write structured code review comments like a professional engineer.

Side-by-Side Code 5 Analysis Questions Rubric Rating Review Comments Verdict Generator JSON Export
Open Code Judge
How It Works
📚 For Students
  • 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
📋 For Instructors
  • 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

Software Engineering Interview Prep

The most common C++ problems asked in technical interviews at companies like Google, Amazon, Microsoft, and Meta — organized by category and difficulty. Work through each problem, plan your approach, then open the full worksheet.

ArraySliding Window
Linked ListTwo Pointer
TreeDFS / BFS
DPMemoization
DesignOOP / STL
Open Full Interview Prep Worksheet
Work through problems step-by-step with guided planning, pseudocode, and a structured notes tool.
Open Worksheet