C++ Programming
Electrical and Computer Engineering (EECE) Northeastern University EECE 2140, Computing Fundamentals for Engineers

Course Topics

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

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.

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 with 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
Two structured modules to prepare you for technical interviews at top companies. Follow the 2-week study plan: master concepts first, then practise coding problems with pseudocode-first discipline.
Week 1Concepts and Definitions
Week 1OOP and Design Patterns
Week 2Arrays, Pointers, STL
Week 2Pseudocode and Code
Week 2Review and Self-Check
DEF
Week 1 Focus
Concepts and Definitions
C++, OOP, Memory, and STL

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.

60 Question and Answer Cards 5 Topic Categories Self-Rating System Progress Tracking 2-Week Study Plan
Open Concepts Module
CODE
Week 2 Focus
Coding Problems
Pseudocode First, Then Implement

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.

25 Coding Problems Pseudocode First Instant Feedback Edge Case Hints Difficulty Levels Progress Tracking
Open Coding Problems
2-Week Interview Study Plan
Week 1 Concepts
  • 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
Week 2 Coding Problems
  • 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