{
  "title": "Intro To Software Design",
  "desc": "An objects first approach to introductory programming adn design",
  "theme": "sphinx_book_theme",
  "html_theme_options": {
    "use_download_button": false,
    "single_page": true
  },
  "html_css_files": [
    "_static/renku-book.css"
  ],
  "html_js_files": [
    "_static/sphinx-book-theme.12a9622fbb08dcb3a2a40b2c02b83a57.js"
  ],
  "build_dir": "Books",
  "code_dir": "SourceCode/",
  "code_lang": {
    "Java_Generic": {
      "ext": [
        "java"
      ],
      "label": "Java (Generic)",
      "lang": "java"
    },
    "Java": {
      "ext": [
        "java"
      ],
      "label": "Java",
      "lang": "java"
    },
    "C++": {
      "ext": [
        "cpp",
        "h"
      ],
      "label": "C++",
      "lang": "C++"
    }
  },
  "lang": "en",
  "build_JSAV": false,
  "build_cmap": false,
  "suppress_todo": false,
  "dispModComp": true,
  "tag": "CPP;CS2",
  "glob_exer_options": {
    "JXOP-debug": "true"
  },
  "chapters": {
    "Course Policies": {
      "IntroToSoftwareDesign/CoursePolicies": {
        "long_name": "Course Policies",
        "sections": {
          "Cheating and The Honor Code": {
            "Week0Quiz": {
              "long_name": "Week0Quiz",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Week0Quiz.html",
              "mod_name": "CoursePolicies",
              "threshold": 5
            }
          },
          "Using Webacat": {},
          "Using Codeworkout": {}
        }
      }
    },
    "Getting Started": {
      "IntroToSoftwareDesign/GettingStarted": {
        "long_name": "Getting Started",
        "sections": {
          "Module Objectives": {}
        }
      }
    },
    "Inheritance And Polymorphism": {
      "IntroToSoftwareDesign/InheritanceAndPolymorphism": {
        "long_name": "Inheritance and Polymorphism",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "InheritanceAndPolymorphism"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "InheritanceAndPolymorphism",
              "threshold": 5
            }
          }
        }
      }
    },
    "Conditional Actions": {
      "IntroToSoftwareDesign/ConditionalActions": {
        "long_name": "Conditional Actions",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "ConditionalActions"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Week3Quiz1": {
              "long_name": "Week3Quiz1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Week3Quiz1.html",
              "mod_name": "ConditionalActions",
              "threshold": 5
            },
            "Week3Quiz2": {
              "long_name": "Week3Quiz2",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Week3Quiz2.html",
              "mod_name": "ConditionalActions",
              "threshold": 5
            },
            "Week3Quiz3": {
              "long_name": "Week3Quiz3",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Week3Quiz3.html",
              "mod_name": "ConditionalActions",
              "threshold": 5
            }
          }
        }
      }
    },
    "Compound Conditions And Software Testing": {
      "IntroToSoftwareDesign/CompoundConditionsAndSoftwareTesting": {
        "long_name": "Compound Conditionals and Software Testing",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "CompoundConditionsAndSoftwareTesting"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "CompoundConditionsAndSoftwareTesting",
              "threshold": 5
            }
          }
        }
      }
    },
    "Fields And Parameters": {
      "IntroToSoftwareDesign/FieldsAndParameters": {
        "long_name": "Fields and Parameters",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "FieldsAndParameters"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "FieldsAndParameters",
              "threshold": 5
            }
          }
        }
      }
    },
    "ArrayList, Generics, Iterators, And Null": {
      "IntroToSoftwareDesign/ArrayListGenericsIteratorsAndNull": {
        "long_name": "ArrayLists, Generics, Iterators, and the Null Keyword",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "ArrayListGenericsIteratorsAndNull"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "ArrayListGenericsIteratorsAndNull",
              "threshold": 5
            }
          }
        }
      }
    },
    "Variables And Primitives": {
      "IntroToSoftwareDesign/VariablesAndPrimitives": {
        "long_name": "Variables and Primitives",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "VariablesAndPrimitives"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "VariablesAndPrimitives",
              "threshold": 5
            }
          }
        }
      }
    },
    "Grouping Objects": {
      "IntroToSoftwareDesign/GroupingObjects": {
        "long_name": "Grouping Objects",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "GroupingObjects"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "GroupingObjects",
              "threshold": 5
            }
          }
        }
      }
    },
    "Using Lists": {
      "IntroToSoftwareDesign/UsingLists": {
        "long_name": "Using Lists",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "UsingLists"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "UsingLists",
              "threshold": 5
            }
          }
        }
      }
    },
    "Grouping Using Lists And Fixed Size Arrays": {
      "IntroToSoftwareDesign/GroupingUsingListsAndFixedSizeArrays": {
        "long_name": "Grouping Using Lists and Fixed Size Arrays",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "GroupingUsingListsAndFixedSizeArrays"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "GroupingUsingListsAndFixedSizeArrays",
              "threshold": 5
            }
          }
        }
      }
    },
    "More On Fixed Sized Arrays": {
      "IntroToSoftwareDesign/MoreOnFixedSizedArrays": {
        "long_name": "More On Fixed Sized Arrays",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "MoreOnFixedSizedArrays"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "MoreOnFixedSizedArrays",
              "threshold": 5
            }
          }
        }
      }
    },
    "Fle I/O": {
      "IntroToSoftwareDesign/FleIO": {
        "long_name": "File I/O",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "FleIO"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "FleIO",
              "threshold": 5
            }
          }
        }
      }
    },
    "Maps": {
      "IntroToSoftwareDesign/Maps": {
        "long_name": "Maps",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "Maps"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "Maps",
              "threshold": 5
            }
          }
        }
      }
    },
    "Variable Scoping": {
      "IntroToSoftwareDesign/VariableScoping": {
        "long_name": "Variable Scoping",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "VariableScoping"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "VariableScoping",
              "threshold": 5
            }
          }
        }
      }
    },
    "Static And Exceptions": {
      "IntroToSoftwareDesign/StaticAndExceptions": {
        "long_name": "Static and Exceptions",
        "sections": {
          "Introduction": {},
          "Syntax Review": {},
          "Syntax Practice": {},
          "changePointeeDataDirect": {
            "learning_tool": "code-workout",
            "resource_type": "external_assignment",
            "resource_name": "changePointeeDataDirect",
            "points": 2.0,
            "workout_id": "0",
            "type": "extr",
            "mod_name": "StaticAndExceptions"
          },
          "Programming Practice": {},
          "Codeworkout exercises": {},
          "Reading Quiz 1": {
            "Question1": {
              "long_name": "Question1",
              "required": true,
              "points": 1.0,
              "type": "ka",
              "av_address": "Exercises/IntroToSoftwareDesign/Question1.html",
              "mod_name": "StaticAndExceptions",
              "threshold": 5
            }
          }
        }
      }
    }
  }
}