{
  "title": "Intro To Software Design",
  "desc": "An objects first approach to introductory programming and design in Java.",
  "theme": "haiku",
  "build_dir": "Books",
  "code_dir": "SourceCode/",
  "code_lang": {
    "Java": {
      "ext": [
        "java"
      ],
      "label": "Java",
      "lang": "java"
    },
    "C++": {
      "ext": [
        "cpp",
        "h"
      ],
      "label": "C++",
      "lang": "C++"
    }
  },
  "tabbed_codeinc": false,
  "lang": "en",
  "build_JSAV": false,
  "build_cmap": false,
  "suppress_todo": false,
  "dispModComp": true,
  "tag": "Java;CS1",
  "glob_exer_options": {
    "JXOP-debug": "true"
  },
  "glob_ss_options": {
    "threshold": 1.0,
    "points": 0.0,
    "required": false
  },
  "glob_ff_options": {
    "threshold": 1.0,
    "points": 0.0,
    "required": false
  },
  "glob_ka_options": {
    "threshold": 3,
    "points": 1.0,
    "required": true,
    "partial_credit": true
  },
  "glob_extr_options": {
    "code-workout": {
      "points": 30.0,
      "required": true,
      "partial_credit": true,
      "enable_scrolling": true
    },
    "points": 1.0,
    "frame_width": 1000,
    "frame_height": 900
  },
  "glob_pe_options": {
    "threshold": 0.9,
    "points": 2.0,
    "required": true
  },
  "chapters": {
    "Course Policies": {
      "IntroToSoftwareDesign/CoursePolicies": {
        "NoExercises": {
          "points": 0,
          "threshold": 0
        }
      }
    },
    "Objects, Classes, and Micro-Worlds": {
      "IntroToSoftwareDesign/GettingStarted": {
        "Programming Practice 1": {
          "points": 7
        }
      }
    },
    "Methods, Selection, and Repeating Actions": {
      "IntroToSoftwareDesign/ConditionalActions": {
        "EGPSurvey": {
          "points": 1,
          "threshold": 1
        },
        "Programming Practice 2": {
          "points": 6
        }
      }
    },
    "Software Testing": {
      "IntroToSoftwareDesign/SoftwareTesting": {
        "Programming Practice 3": {
          "points": 7
        }
      }
    },
    "Variables, Primitive Types, Parameters, and Logic": {
      "IntroToSoftwareDesign/VariablesPrimitivesAndParameters": {
        "Programming Practice 4": {
          "points": 7
        }
      }
    },
    "Fields, Encapsulation, and 2D Pixel Grids": {
      "IntroToSoftwareDesign/FieldsEncapsulationAndImages": {
        "Programming Practice 5": {
          "points": 7
        }
      }
    },
    "Reactive Agent Simulations and Delegation": {
      "IntroToSoftwareDesign/ReactiveSimulationsAndDelegation": {
        "Programming Practice 6": {
          "points": 7
        }
      }
    },
    "Object-Oriented Inheritance, Overriding, and Interfaces": {
      "IntroToSoftwareDesign/InheritanceAndPolymorphism": {
        "Programming Practice 7": {
          "points": 7
        }
      }
    },
    "Grouping Objects: Lists, Aggregation, and Strings": {
      "IntroToSoftwareDesign/ListsAndAggregation": {
        "Programming Practice 8": {
          "points": 7
        }
      }
    },
    "Fixed-Size 1D Arrays and Array Idioms": {
      "IntroToSoftwareDesign/Arrays": {
        "Programming Practice 9": {
          "points": 7
        }
      }
    },
    "Multi-Dimensional Arrays and Matrix Algorithms": {
      "IntroToSoftwareDesign/MultiDimensionalArrays": {
        "Programming Practice 10": {
          "points": 7
        }
      }
    },
    "Abstract Classes, Frameworks, and Command Patterns": {
      "IntroToSoftwareDesign/AbstractClassesAndCommandPatterns": {
        "Programming Practice 11": {
          "points": 7
        }
      }
    },
    "Maps, Sets, and Associative Data Modeling": {
      "IntroToSoftwareDesign/MapsAndSets": {
        "Programming Practice 12": {
          "points": 7
        }
      }
    },
    "Variable Scoping, File Input/Output, and Streams": {
      "IntroToSoftwareDesign/FileIO": {
        "EGPSurvey": {
          "points": 1,
          "threshold": 1
        },
        "Programming Practice 13": {
          "points": 6
        }
      }
    },
    "Static Members, Main Method, and Exception Handling": {
      "IntroToSoftwareDesign/StaticMainAndExceptions": {
        "Programming Practice 14": {
          "points": 7
        }
      }
    }
  }
}
