diff --git a/README.md b/README.md
index f4edef0b7506f3e48563d10cb4a569bb6350d8b7..55412764ba29f60d6a53425e0121aa431860663f 100644
--- a/README.md
+++ b/README.md
@@ -6,22 +6,24 @@
 
 ## Overview
 
-Conditionals play an important role in code by enabling programs to apply
-different solutions in different situations.  In this assignment you will
-practice reading and writing conditional code to solve simple computational
-problems.
+Proper problem and solution decomposition is an important software engineering
+technique for writing readable and maintainable code. In this assignment you
+will practice decomposition to solve two small computational problems whose
+solutions may not be obvious from their descriptions. You will also practice
+writing code that uses an enumerated type, string concatenation, and exception
+handlers.
 
 ## Learning Goals
 
 By completing this assignment, you should be able to:
 
-1.  Unscramble Java code to create a program that solves a given problem,
+1.  Decompose a solution to a problem into multiple methods in a Java program,
 
-2.  Write a Java program to solve a simple problem,
+2.  Use an enumerated type to represent values from a limited space,
 
-3.  Write maintainable code, and
+3.  Use string concatenation to format text output, and
 
-4.  Run JUnit system tests and collect coverage information.
+4.  Use exception handlers to catch and handle input errors.
 
 ## Instructions