     }
     
     var emptyStateTitle: NSAttributedString {
-        // If no class selected, tell user to select one
-        guard let _ = _classObj else {
-            let attrsForSelect = [NSForegroundColorAttributeName: UIColor.mutedText,
-                                  NSFontAttributeName: UIFont.systemFont(ofSize: 20)]
-            return NSAttributedString(string: "Select a class", attributes: attrsForSelect)
-        }
-        // Display the title
-        let attrs = [NSForegroundColorAttributeName: UIColor.mainText,
-                     NSFontAttributeName: UIFont.systemFont(ofSize: 20)]
-        return NSAttributedString(string: "No Assignments Added", attributes: attrs)
+    
+        // Attributes for the attributed string
+        var attributes: [String : Any] = [NSFontAttributeName: UIFont.systemFont(ofSize: 20)]
+        
+        if let inProgress = _classObj, inProgress.rubrics.count > 0 {
+            // Class is in progress but has no assignments
+            attributes[NSForegroundColorAttributeName] = UIColor.mainText
+            return NSAttributedString(string: "No assignments added", attributes: attributes)
+        } else if let pastClass = _classObj, pastClass.rubrics.count == 0 {
+            // Class is a past class, assignments cannot be added
+            attributes[NSForegroundColorAttributeName] = UIColor.mainText
+            return NSAttributedString(string: "Past class: " + pastClass.name, attributes: attributes)
+        } else {
+            // No class selected
+            attributes[NSForegroundColorAttributeName] = UIColor.mutedText
+            return NSAttributedString(string: "Select a class", attributes: attributes)
+        }
     }
     
     var emptyStateDetailMessage: NSAttributedString? {
-        guard let _ = _classObj else { return nil }
-        
-        let attrs = [NSForegroundColorAttributeName: UIColor.mutedText,
-                     NSFontAttributeName: UIFont.systemFont(ofSize: 15)]
-        return NSAttributedString(string: "Add an assignment to this class to get started.", attributes: attrs)
+        guard let classObj = _classObj else { return nil }
+        
+        if classObj.rubrics.count > 0 {
+            // Class is in progress, thus assignments can be added
+            let attrs = [NSForegroundColorAttributeName: UIColor.mutedText,
+                         NSFontAttributeName: UIFont.systemFont(ofSize: 15)]
+            return NSAttributedString(string: "Add an assignment to this class to get started.", attributes: attrs)
+        } else {
+            // Class is not in progress, is a past class. Display a detail message and thats it
+            let attrs = [NSForegroundColorAttributeName: UIColor.mutedText,
+                         NSFontAttributeName: UIFont.systemFont(ofSize: 15)]
+            let detail = "This is a past class, assignments cannot be added.\n" +
+                        "Past classes are only used for calculating GPA.\n" +
+                        "\nYou earned a \(classObj.grade!.gradeLetter) in this class.\n\n" +
+                        "To track assignments create an In Progress class."
+            return NSAttributedString(string: detail, attributes: attrs)
+        }
+
     }
     
     var emptyStateButtonTitle: NSAttributedString? {
-        guard let _ = _classObj else { return nil }
+        // If no class selected, or if class is a past class, then dont show the button
+        if _classObj == nil || (_classObj?.rubrics.count ?? 0) == 0 { return nil }
         
         let attrs = [NSForegroundColorAttributeName: UIColor.accentGreen,
                      NSFontAttributeName: UIFont.systemFont(ofSize: 18)]

        self.tableView.reloadData()
        self.tableView.layoutIfNeeded()
        
        if let classObj = self._classObj {
            self.title = classObj.name
            self.addButton.isEnabled = true
            self.splitViewController?.displayModeButtonItem.isEnabled = true
        } else if shouldShowBlank {
            self.title = nil
            self.addButton.isEnabled = false
            self.splitViewController?.displayModeButtonItem.isEnabled = false

    }
    
    var emptyStateButtonImage: UIImage? {
        // If no class selected, or if class is a past class, then dont show the button image
        if _classObj == nil || (_classObj?.rubrics.count ?? 0) == 0 { return nil }
        
        return #imageLiteral(resourceName: "buttonBg")
    }
    
    var emptyStateButtonSize: CGSize? {
        // If no class selected, or if class is a past class, then dont return button size
        if _classObj == nil || (_classObj?.rubrics.count ?? 0) == 0 { return nil }
        
        return CGSize(width: 170, height: 50)
    }
