Challenge 1: A Rectangle With an Auto-Implemented and a Computed Property — Possible Solution ==================================================================== Program.cs: class Rectangle { public double Width { get; set; } public double Height { get; set; } public double Area => Width * Height; // read-only, expression-bodied } var r = new Rectangle { Width = 4, Height = 5 }; Console.WriteLine(r.Area); Output: 20 Explanation: Width and Height are auto-implemented properties -- one line each, with the compiler generating the backing field automatically. Area uses the expression-bodied get shorthand (=>) instead of { get; set; }, computing its value fresh every time it's read rather than storing one -- there's no backing field for Area at all, and no setter, since it's derived entirely from the other two properties. WHY THIS WORKS AS AN ANSWER ------------------------------ This uses auto-implemented properties for the two independent values and a computed, read-only property for the derived one, matching the chapter's own distinction between plain { get; set; } properties and ones with real logic behind a still-field-like call site.