├── .gitattributes ├── .gitignore ├── Certificate.png ├── Readme.md ├── m3-assignment-shapes-skeleton ├── .gradle │ └── 2.10 │ │ ├── taskArtifacts │ │ ├── cache.properties │ │ ├── cache.properties.lock │ │ ├── fileHashes.bin │ │ ├── fileSnapshots.bin │ │ ├── outputFileStates.bin │ │ └── taskArtifacts.bin │ │ └── tasks │ │ ├── _app_compileDebugAndroidTestJavaWithJavac │ │ ├── localClassSetAnalysis │ │ │ ├── localClassSetAnalysis.bin │ │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ │ ├── localJarClasspathSnapshot.bin │ │ │ └── localJarClasspathSnapshot.lock │ │ ├── _app_compileDebugJavaWithJavac │ │ ├── localClassSetAnalysis │ │ │ ├── localClassSetAnalysis.bin │ │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ │ ├── localJarClasspathSnapshot.bin │ │ │ └── localJarClasspathSnapshot.lock │ │ └── _app_compileDebugUnitTestJavaWithJavac │ │ ├── localClassSetAnalysis │ │ ├── localClassSetAnalysis.bin │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ ├── localJarClasspathSnapshot.bin │ │ └── localJarClasspathSnapshot.lock ├── .idea │ ├── .name │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── gradle.xml │ ├── libraries │ │ ├── appcompat_v7_22_2_1.xml │ │ ├── commons_lang3_3_3_2.xml │ │ ├── design_22_2_1.xml │ │ ├── guava_17_0.xml │ │ ├── hamcrest_core_1_3.xml │ │ ├── junit_4_12.xml │ │ ├── mobilecloud_handin_1_0_0.xml │ │ ├── support_annotations_22_2_1.xml │ │ └── support_v4_22_2_1.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── workspace.xml ├── _71ee48b4957bb1f168fe60e16055731f_m3-assignment-shapes-skeleton.iml ├── _b2583e6195502e9349150098b5fa7b0a_geometry.pdf ├── app │ ├── app.iml │ ├── build.gradle │ ├── libs │ │ └── mobilecloud.handin-1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── mooc │ │ │ └── vandy │ │ │ └── java4android │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── mooc │ │ │ │ └── vandy │ │ │ │ └── java4android │ │ │ │ └── shapes │ │ │ │ ├── logic │ │ │ │ ├── Logic.java │ │ │ │ ├── LogicInterface.java │ │ │ │ └── Shapes.java │ │ │ │ └── ui │ │ │ │ ├── MainActivity.java │ │ │ │ └── OutputInterface.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── mooc │ │ └── vandy │ │ └── java4android │ │ └── shapes │ │ └── logic │ │ ├── LogicUnitTests.java │ │ └── tools │ │ ├── AndroidHandinUtil.java │ │ ├── AutoGrader.java │ │ └── TestingOutputInterface.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── m3-assignment-shapes-skeleton.iml └── settings.gradle ├── m4-assignment-diamond-sizes-skeleton ├── .gradle │ └── 2.10 │ │ ├── taskArtifacts │ │ ├── cache.properties │ │ ├── cache.properties.lock │ │ ├── fileHashes.bin │ │ ├── fileSnapshots.bin │ │ ├── outputFileStates.bin │ │ └── taskArtifacts.bin │ │ └── tasks │ │ └── _app_compileDebugJavaWithJavac │ │ ├── localClassSetAnalysis │ │ ├── localClassSetAnalysis.bin │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ ├── localJarClasspathSnapshot.bin │ │ └── localJarClasspathSnapshot.lock ├── .idea │ ├── .name │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── gradle.xml │ ├── libraries │ │ ├── appcompat_v7_22_2_1.xml │ │ ├── commons_lang3_3_3_2.xml │ │ ├── design_22_2_1.xml │ │ ├── guava_17_0.xml │ │ ├── hamcrest_core_1_3.xml │ │ ├── junit_4_12.xml │ │ ├── mobilecloud_handin_1_0_0.xml │ │ ├── support_annotations_22_2_1.xml │ │ └── support_v4_22_2_1.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── workspace.xml ├── _096465f8da8bfa9c908b9aebcb5ec777_m4-assignment-diamond-sizes-skeleton.iml ├── _2b2bada5ca796eaff8ad4f5f18254b72_Drawing-ASCII-Art.pdf ├── app │ ├── app.iml │ ├── build.gradle │ ├── libs │ │ └── mobilecloud.handin-1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── mooc │ │ │ └── vandy │ │ │ └── java4android │ │ │ └── diamonds │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── mooc │ │ │ │ └── vandy │ │ │ │ └── java4android │ │ │ │ └── diamonds │ │ │ │ ├── logic │ │ │ │ ├── Logic.java │ │ │ │ └── LogicInterface.java │ │ │ │ └── ui │ │ │ │ ├── MainActivity.java │ │ │ │ └── OutputInterface.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── mooc │ │ └── vandy │ │ └── java4android │ │ └── diamonds │ │ └── logic │ │ ├── LogicUnitTests.java │ │ └── tools │ │ ├── AndroidHandinUtil.java │ │ ├── AutoGrader.java │ │ └── TestingOutputInterface.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── m4-assignment-diamond-sizes-skeleton.iml └── settings.gradle ├── m5-assignment-birthday-probability-skeleton ├── .gradle │ └── 2.10 │ │ ├── taskArtifacts │ │ ├── cache.properties │ │ ├── cache.properties.lock │ │ ├── fileHashes.bin │ │ ├── fileSnapshots.bin │ │ ├── outputFileStates.bin │ │ └── taskArtifacts.bin │ │ └── tasks │ │ ├── _app_compileDebugJavaWithJavac │ │ ├── localClassSetAnalysis │ │ │ ├── localClassSetAnalysis.bin │ │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ │ ├── localJarClasspathSnapshot.bin │ │ │ └── localJarClasspathSnapshot.lock │ │ └── _app_compileDebugUnitTestJavaWithJavac │ │ ├── localClassSetAnalysis │ │ ├── localClassSetAnalysis.bin │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ ├── localJarClasspathSnapshot.bin │ │ └── localJarClasspathSnapshot.lock ├── .idea │ ├── .name │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── gradle.xml │ ├── libraries │ │ ├── appcompat_v7_22_2_1.xml │ │ ├── commons_lang3_3_3_2.xml │ │ ├── design_22_2_1.xml │ │ ├── guava_17_0.xml │ │ ├── hamcrest_core_1_3.xml │ │ ├── junit_4_12.xml │ │ ├── mobilecloud_handin_1_0_0.xml │ │ ├── support_annotations_22_2_1.xml │ │ └── support_v4_22_2_1.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── workspace.xml ├── _3b72adad16952aeecdfbe602fef960bf_BirthdayProblem.pdf ├── app │ ├── app.iml │ ├── build.gradle │ ├── libs │ │ └── mobilecloud.handin-1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── mooc │ │ │ └── vandy │ │ │ └── java4android │ │ │ └── birthdayprob │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── mooc │ │ │ │ └── vandy │ │ │ │ └── java4android │ │ │ │ └── birthdayprob │ │ │ │ ├── logic │ │ │ │ ├── Logic.java │ │ │ │ └── LogicInterface.java │ │ │ │ └── ui │ │ │ │ ├── MainActivity.java │ │ │ │ └── OutputInterface.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── mooc │ │ └── vandy │ │ └── java4android │ │ └── birthdayprob │ │ └── logic │ │ ├── LogicUnitTests.java │ │ └── tools │ │ ├── AndroidHandinUtil.java │ │ ├── AutoGrader.java │ │ └── TestingOutputInterface.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── m5-assignment-birthday-probability-skeleton.iml └── settings.gradle ├── m6-assignment-gate-b-skeleton ├── .gradle │ └── 2.10 │ │ ├── taskArtifacts │ │ ├── cache.properties │ │ ├── cache.properties.lock │ │ ├── fileHashes.bin │ │ ├── fileSnapshots.bin │ │ ├── outputFileStates.bin │ │ └── taskArtifacts.bin │ │ └── tasks │ │ ├── _app_compileDebugJavaWithJavac │ │ ├── localClassSetAnalysis │ │ │ ├── localClassSetAnalysis.bin │ │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ │ ├── localJarClasspathSnapshot.bin │ │ │ └── localJarClasspathSnapshot.lock │ │ └── _app_compileDebugUnitTestJavaWithJavac │ │ ├── localClassSetAnalysis │ │ ├── localClassSetAnalysis.bin │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ ├── localJarClasspathSnapshot.bin │ │ └── localJarClasspathSnapshot.lock ├── .idea │ ├── .name │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── gradle.xml │ ├── libraries │ │ ├── appcompat_v7_22_2_1.xml │ │ ├── commons_lang3_3_3_2.xml │ │ ├── design_22_2_1.xml │ │ ├── guava_17_0.xml │ │ ├── hamcrest_core_1_3.xml │ │ ├── junit_4_12.xml │ │ ├── mobilecloud_handin_1_0_0.xml │ │ ├── support_annotations_22_2_1.xml │ │ └── support_v4_22_2_1.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── workspace.xml ├── _2d5f23edc3fc3a43b75614a24a03f336_M6GateAssignment.pdf ├── _46aee2228dff678ea1e1bc92a15d9fad_M6ClientAssignment.pdf ├── app │ ├── app.iml │ ├── build.gradle │ ├── libs │ │ └── mobilecloud.handin-1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── mooc │ │ │ └── vandy │ │ │ └── java4android │ │ │ └── gate │ │ │ └── logic │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── mooc │ │ │ │ └── vandy │ │ │ │ └── java4android │ │ │ │ └── gate │ │ │ │ ├── logic │ │ │ │ ├── ClassToTest.java │ │ │ │ ├── FillTheCorral.java │ │ │ │ ├── Gate.java │ │ │ │ ├── HerdManager.java │ │ │ │ ├── Logic.java │ │ │ │ └── LogicInterface.java │ │ │ │ └── ui │ │ │ │ ├── MainActivity.java │ │ │ │ └── OutputInterface.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── mooc │ │ └── vandy │ │ └── java4android │ │ └── gate │ │ └── logic │ │ ├── .AllUnitTests.java.kate-swp │ │ ├── AllUnitTests.java │ │ └── tools │ │ ├── AndroidHandinUtil.java │ │ ├── AutoGrader.java │ │ └── TestingOutputInterface.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── m6-assignment-gate-b-skeleton.iml ├── settings.gradle └── zip │ └── answer-files.zip ├── m7-assignment-buildings-skeleton ├── .gradle │ └── 2.10 │ │ ├── taskArtifacts │ │ ├── cache.properties │ │ ├── cache.properties.lock │ │ ├── fileHashes.bin │ │ ├── fileSnapshots.bin │ │ ├── outputFileStates.bin │ │ └── taskArtifacts.bin │ │ └── tasks │ │ ├── _app_compileDebugJavaWithJavac │ │ ├── localClassSetAnalysis │ │ │ ├── localClassSetAnalysis.bin │ │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ │ ├── localJarClasspathSnapshot.bin │ │ │ └── localJarClasspathSnapshot.lock │ │ └── _app_compileDebugUnitTestJavaWithJavac │ │ ├── localClassSetAnalysis │ │ ├── localClassSetAnalysis.bin │ │ └── localClassSetAnalysis.lock │ │ └── localJarClasspathSnapshot │ │ ├── localJarClasspathSnapshot.bin │ │ └── localJarClasspathSnapshot.lock ├── .idea │ ├── .name │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── gradle.xml │ ├── libraries │ │ ├── appcompat_v7_22_2_1.xml │ │ ├── commons_beanutils_1_9_2.xml │ │ ├── commons_collections_3_2_1.xml │ │ ├── commons_io_2_4.xml │ │ ├── commons_lang3_3_3_2.xml │ │ ├── design_22_2_1.xml │ │ ├── fluent_interface_proxy_1_3_0.xml │ │ ├── guava_17_0.xml │ │ ├── hamcrest_core_1_3.xml │ │ ├── junit_4_12.xml │ │ ├── mobilecloud_handin_1_0_0.xml │ │ ├── multidex_1_0_0.xml │ │ ├── support_annotations_22_2_1.xml │ │ └── support_v4_22_2_1.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── workspace.xml ├── _7c894a2b2e9005c66eeb949c0381e1fc_M7assignmentspecification.pdf ├── app │ ├── app.iml │ ├── build.gradle │ ├── libs │ │ └── mobilecloud.handin-1.0.0.jar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── mooc │ │ │ └── vandy │ │ │ └── java4android │ │ │ └── buildings │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── mooc │ │ │ │ └── vandy │ │ │ │ └── java4android │ │ │ │ └── buildings │ │ │ │ ├── logic │ │ │ │ ├── Building.java │ │ │ │ ├── BuildingList.java │ │ │ │ ├── Cottage.java │ │ │ │ ├── House.java │ │ │ │ ├── Logic.java │ │ │ │ ├── LogicInterface.java │ │ │ │ ├── Neighborhood.java │ │ │ │ └── Office.java │ │ │ │ └── ui │ │ │ │ ├── MainActivity.java │ │ │ │ └── OutputInterface.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── mooc │ │ └── vandy │ │ └── java4android │ │ └── buildings │ │ └── logic │ │ ├── LogicUnitTests.java │ │ └── tools │ │ ├── AndroidHandinUtil.java │ │ ├── AutoGrader.java │ │ └── TestingOutputInterface.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── m7-assignment-buildings-skeleton.iml ├── settings.gradle └── zip │ └── answer-files.zip └── m8-Calculator final Project ├── .gradle └── 2.10 │ ├── taskArtifacts │ ├── cache.properties │ ├── cache.properties.lock │ ├── fileHashes.bin │ ├── fileSnapshots.bin │ ├── outputFileStates.bin │ └── taskArtifacts.bin │ └── tasks │ ├── _app_compileDebugJavaWithJavac │ ├── localClassSetAnalysis │ │ ├── localClassSetAnalysis.bin │ │ └── localClassSetAnalysis.lock │ └── localJarClasspathSnapshot │ │ ├── localJarClasspathSnapshot.bin │ │ └── localJarClasspathSnapshot.lock │ └── _app_compileDebugUnitTestJavaWithJavac │ ├── localClassSetAnalysis │ ├── localClassSetAnalysis.bin │ └── localClassSetAnalysis.lock │ └── localJarClasspathSnapshot │ ├── localJarClasspathSnapshot.bin │ └── localJarClasspathSnapshot.lock ├── .idea ├── .name ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── libraries │ ├── appcompat_v7_22_2_1.xml │ ├── commons_lang3_3_3_2.xml │ ├── design_22_2_1.xml │ ├── guava_17_0.xml │ ├── hamcrest_core_1_3.xml │ ├── junit_4_12.xml │ ├── mobilecloud_handin_1_0_0.xml │ ├── support_annotations_22_2_1.xml │ └── support_v4_22_2_1.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── workspace.xml ├── app ├── app.iml ├── build.gradle ├── libs │ └── mobilecloud.handin-1.0.0.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── mooc │ │ └── vandy │ │ └── java4android │ │ └── calculator │ │ └── ApplicationTest.java │ ├── main │ ├── .classpath │ ├── .project │ ├── AndroidManifest.xml │ ├── java │ │ └── mooc │ │ │ └── vandy │ │ │ └── java4android │ │ │ └── calculator │ │ │ ├── logic │ │ │ ├── Add.java │ │ │ ├── Divide.java │ │ │ ├── Logic.java │ │ │ ├── LogicInterface.java │ │ │ ├── Multiply.java │ │ │ └── Subtract.java │ │ │ └── ui │ │ │ ├── ActivityInterface.java │ │ │ └── MainActivity.java │ ├── project.properties │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── mooc │ └── vandy │ └── java4android │ └── calculator │ └── logic │ ├── AllUnitTests.java │ ├── AndroidHandinUtil.java │ └── AutoGrader.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── m8-Calculator final Project.iml ├── m8-calculator-app-grading-rubric.pdf ├── m8-calculator-app-instructions.pdf ├── settings.gradle └── zip └── m8-Calculator final Project.zip /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /Certificate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/Certificate.png -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # COURSERA JAVA FOR ANDROID MOOC COURSE 2 | 3 | #### About MOOC COURSE 4 | 5 | This MOOC teaches you how to program core features and classes from the Java programming language 6 | that are used in Android, which is the dominant platform for developing and deploying mobile device apps. 7 | 8 | #### Topics Covered 9 | 10 | * Overview of Android Studio 11 | * Creating a simple Android app using Java primitive Data types, classes and method 12 | * Java various looping constructs and conditional statements 13 | * Java built-in arrays and common classes in the Java Collections Framework, such as ArrayList and HashMap 14 | * Java's primitive and user-defined types, fields, methods, generic parameters, and exceptions 15 | * Inheritance and Polymorphism (such as subclass and overriding virtual methods) 16 | * Exceptions Handling 17 | 18 | #### Course Certificate 19 | ![Certificate](Certificate.png) 20 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Sun May 22 17:43:39 IST 2016 2 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugAndroidTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/.name: -------------------------------------------------------------------------------- 1 | m3-assignment-shapes-skeleton -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 24 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/appcompat_v7_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/commons_lang3_3_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/design_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/guava_17_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/mobilecloud_handin_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/support_annotations_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/libraries/support_v4_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/_71ee48b4957bb1f168fe60e16055731f_m3-assignment-shapes-skeleton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/_b2583e6195502e9349150098b5fa7b0a_geometry.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/_b2583e6195502e9349150098b5fa7b0a_geometry.pdf -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 22 5 | buildToolsVersion "23.0.2" 6 | 7 | defaultConfig { 8 | applicationId "mooc.vandy.java4android.shapes" 9 | minSdkVersion 22 10 | targetSdkVersion 22 11 | versionCode 1 12 | versionName "1.0" 13 | multiDexEnabled true 14 | } 15 | buildTypes { 16 | release { 17 | minifyEnabled false 18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 19 | } 20 | } 21 | compileOptions { 22 | sourceCompatibility JavaVersion.VERSION_1_7 23 | targetCompatibility JavaVersion.VERSION_1_7 24 | } 25 | testOptions { 26 | unitTests.returnDefaultValues = true 27 | unitTests.all{ 28 | ignoreFailures = true 29 | maxHeapSize = "1024m" 30 | } 31 | } 32 | packagingOptions { 33 | exclude 'META-INF/LICENSE.txt' 34 | exclude 'META-INF/NOTICE.txt' 35 | } 36 | } 37 | 38 | dependencies { 39 | compile fileTree(dir: 'libs', include: ['*.jar']) 40 | testCompile 'junit:junit:4.12' 41 | compile 'com.android.support:appcompat-v7:22.2.1' 42 | compile 'com.android.support:design:22.2.1' 43 | 44 | compile ("org.apache.commons:commons-lang3:3.3.2") 45 | compile ("com.google.guava:guava:17.0") 46 | } 47 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/libs/mobilecloud.handin-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/app/libs/mobilecloud.handin-1.0.0.jar -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\Mike\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/androidTest/java/mooc/vandy/java4android/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.shapes; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/java/mooc/vandy/java4android/shapes/logic/LogicInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.shapes.logic; 2 | 3 | /** 4 | * This Interface exists to help simplify the interactions between the 5 | * UI (User Interface: [MainActivity.java] in this application) and 6 | * the Logic class [Logic.java]. 7 | * 8 | * This Interface defines the 'void process()' method that 9 | * [Logic.java] will promise to implement. This allows 10 | * [MainActivity.java] to store an instance of [Logic.java] inside a 11 | * 'LogicInterface' variable (mLogic inside [MainActivity.java]) 12 | */ 13 | public interface LogicInterface { 14 | /** 15 | * This method gets called (indirectly through 16 | * [MainActivity.java]) when the button labeled 'Process...' is 17 | * pressed. 18 | */ 19 | public void process(); 20 | } 21 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/java/mooc/vandy/java4android/shapes/logic/Shapes.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.shapes.logic; 2 | 3 | /** 4 | * Ignore this Class, This class is called an Enum. Enum(s) are a 5 | * special type of class in Java that have special characteristics. 6 | * We make use of these characteristics to simplify the code in this 7 | * App. However, you are not going to be required to know this for 8 | * this course. This is a more advanced topic covered in other 9 | * courses. 10 | */ 11 | public enum Shapes { 12 | Rectangle, 13 | Box, 14 | Circle, 15 | Sphere, 16 | Triangle 17 | } 18 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | AccountApp 3 | 4 | Rectangle 5 | Box 6 | Circle 7 | Sphere 8 | Triangle 9 | 10 | 11 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/app/src/test/java/mooc/vandy/java4android/shapes/logic/tools/AutoGrader.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.shapes.logic.tools; 2 | 3 | import android.util.Log; 4 | 5 | import org.junit.Test; 6 | 7 | import java.io.File; 8 | 9 | import mooc.vandy.java4android.shapes.logic.LogicUnitTests; 10 | 11 | /** 12 | * IGNORE THIS CLASS. 13 | *

14 | * This class exists to assist in the auto-grading framework that we have developed. 15 | * Knowledge of this class and how it works will not be required in this course at all. 16 | */ 17 | public class AutoGrader { 18 | 19 | @Test 20 | public void mainTest(){ 21 | try { 22 | AndroidHandinUtil.generateHandinPackage("Asgn2", new File("./"), 23 | LogicUnitTests.class); 24 | }catch(Exception e){ 25 | Log.d("AutoGrader :", e.getMessage()); 26 | } 27 | 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | 4 | buildscript { 5 | repositories { 6 | jcenter() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:2.1.2' 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } 25 | 26 | 27 | task _projectZip(type:Zip) { 28 | description = 'Makes a zip file of your project that can be properly shared with others.' 29 | from projectDir 30 | baseName = project.name 31 | 32 | include 'build.gradle' 33 | include 'gradle.properties' 34 | include 'gradlew' 35 | include 'gradlew.bat' 36 | include 'settings.gradle' 37 | include 'gradle/**' 38 | 39 | exclude 'build' 40 | exclude '.gradle' 41 | exclude '*.iml' 42 | exclude 'local.properties' 43 | 44 | include 'app/**' 45 | exclude 'app/*.iml' 46 | exclude 'app/build' 47 | 48 | include '.idea/**' 49 | exclude '.idea/workspace.xml' 50 | exclude '.idea/libraries' 51 | 52 | destinationDir file('zip') 53 | } 54 | 55 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m3-assignment-shapes-skeleton/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun May 22 17:43:06 IST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 7 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Sun May 22 17:27:02 IST 2016 11 | ndk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1\\ndk-bundle 12 | sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1 13 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/m3-assignment-shapes-skeleton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m3-assignment-shapes-skeleton/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Sun May 29 09:52:51 IST 2016 2 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- 1 | ~$DU^ 2 | *+2 -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/.name: -------------------------------------------------------------------------------- 1 | m4-assignment-diamond-sizes-skeleton -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 24 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/appcompat_v7_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/commons_lang3_3_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/design_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/guava_17_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/mobilecloud_handin_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/support_annotations_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/libraries/support_v4_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/_096465f8da8bfa9c908b9aebcb5ec777_m4-assignment-diamond-sizes-skeleton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/_2b2bada5ca796eaff8ad4f5f18254b72_Drawing-ASCII-Art.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/_2b2bada5ca796eaff8ad4f5f18254b72_Drawing-ASCII-Art.pdf -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 22 5 | buildToolsVersion "23.0.2" 6 | 7 | defaultConfig { 8 | applicationId "mooc.vandy.java4android.diamonds" 9 | minSdkVersion 22 10 | targetSdkVersion 22 11 | versionCode 1 12 | versionName "1.0" 13 | multiDexEnabled true 14 | } 15 | buildTypes { 16 | release { 17 | minifyEnabled false 18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 19 | } 20 | } 21 | compileOptions { 22 | sourceCompatibility JavaVersion.VERSION_1_7 23 | targetCompatibility JavaVersion.VERSION_1_7 24 | } 25 | testOptions { 26 | unitTests.returnDefaultValues = true 27 | unitTests.all{ 28 | ignoreFailures = true 29 | maxHeapSize = "1024m" 30 | } 31 | } 32 | packagingOptions { 33 | exclude 'META-INF/LICENSE.txt' 34 | exclude 'META-INF/NOTICE.txt' 35 | } 36 | } 37 | 38 | dependencies { 39 | compile fileTree(dir: 'libs', include: ['*.jar']) 40 | testCompile 'junit:junit:4.12' 41 | compile 'com.android.support:appcompat-v7:22.2.1' 42 | compile 'com.android.support:design:22.2.1' 43 | 44 | compile ("org.apache.commons:commons-lang3:3.3.2") 45 | compile ("com.google.guava:guava:17.0") 46 | } 47 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/libs/mobilecloud.handin-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/app/libs/mobilecloud.handin-1.0.0.jar -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\Mike\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/androidTest/java/mooc/vandy/java4android/diamonds/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.diamonds; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/java/mooc/vandy/java4android/diamonds/logic/LogicInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.diamonds.logic; 2 | 3 | /** 4 | * This Interface exists to help simplify the interactions between the 5 | * UI (User Interface: [MainActivity.java] in this application) and 6 | * the Logic class [Logic.java]. 7 | * 8 | * This Interface defines the 'void process()' method that 9 | * [Logic.java] will promise to implement. This allows 10 | * [MainActivity.java] to store an instance of [Logic.java] inside a 11 | * 'LogicInterface' variable (mLogic inside [MainActivity.java]) 12 | */ 13 | public interface LogicInterface { 14 | /** 15 | * Perform the computation. 16 | */ 17 | public void process(int size); 18 | } 19 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/java/mooc/vandy/java4android/diamonds/ui/OutputInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.diamonds.ui; 2 | 3 | /** 4 | * Define the methods that the User Interface [MainActivity] will 5 | * implement. Ignore this interface for now - they will be covered 6 | * later in this course. 7 | */ 8 | public interface OutputInterface { 9 | /** 10 | * Return the string. 11 | */ 12 | public String getString(); 13 | 14 | /** 15 | * This prints to the output a string 16 | * @param text 17 | */ 18 | public void print(String text); 19 | 20 | /** 21 | * This prints to the output a char 22 | * @param _char 23 | */ 24 | public void print(char _char); 25 | 26 | /** 27 | * This prints to the screen a string then a new line 28 | * @param text 29 | */ 30 | public void println(String text); 31 | 32 | /** 33 | * This prints to the screen a char then a new line 34 | * @param _char 35 | */ 36 | public void println(char _char); 37 | 38 | /** 39 | * Reset the on-screen output (EditText box) 40 | */ 41 | public void resetText(); 42 | 43 | /** 44 | * Log @a logtext to the logcat. 45 | */ 46 | public void log(String logtext); 47 | } 48 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Diamond App 3 | 4 | 5 | 1 6 | 2 7 | 3 8 | 4 9 | 5 10 | 6 11 | 7 12 | 8 13 | 14 | 15 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/test/java/mooc/vandy/java4android/diamonds/logic/tools/AutoGrader.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.diamonds.logic.tools; 2 | 3 | import android.util.Log; 4 | 5 | import org.junit.Test; 6 | 7 | import java.io.File; 8 | 9 | import mooc.vandy.java4android.diamonds.logic.LogicUnitTests; 10 | 11 | /** 12 | * IGNORE THIS CLASS. 13 | *

14 | * This class exists to assist in the auto-grading framework that we have developed. 15 | * Knowledge of this class and how it works will not be required in this course at all. 16 | */ 17 | public class AutoGrader { 18 | 19 | @Test 20 | public void mainTest(){ 21 | try { 22 | AndroidHandinUtil.generateHandinPackage("Asgn2", new File("./"), 23 | LogicUnitTests.class); 24 | }catch(Exception e){ 25 | Log.d("AutoGrader :", e.getMessage()); 26 | } 27 | 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/app/src/test/java/mooc/vandy/java4android/diamonds/logic/tools/TestingOutputInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.diamonds.logic.tools; 2 | 3 | import mooc.vandy.java4android.diamonds.ui.OutputInterface; 4 | 5 | /** 6 | * IGNORE THIS CLASS. 7 | *

8 | * This class exists to assist in the auto-grading framework that we have developed. 9 | * Knowledge of this class and how it works will not be required in this course at all. 10 | */ 11 | public class TestingOutputInterface implements OutputInterface{ 12 | 13 | String output = ""; 14 | 15 | public String getString(){ 16 | return output; 17 | } 18 | 19 | @Override 20 | public void print(String text) { 21 | output += text; 22 | } 23 | 24 | @Override 25 | public void print(char _char) { 26 | output += _char; 27 | } 28 | 29 | @Override 30 | public void println(String text) { 31 | output += text + '\n'; 32 | } 33 | 34 | @Override 35 | public void println(char _char) { 36 | output += _char + '\n'; 37 | } 38 | 39 | @Override 40 | public void resetText() { 41 | output = ""; 42 | } 43 | 44 | @Override 45 | public void log(String logtext) { 46 | // no op for now. 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.1.2' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | 25 | task _projectZip(type:Zip) { 26 | description = 'Makes a zip file of your project that can be properly shared with others.' 27 | from projectDir 28 | baseName = project.name 29 | 30 | include 'build.gradle' 31 | include 'gradle.properties' 32 | include 'gradlew' 33 | include 'gradlew.bat' 34 | include 'settings.gradle' 35 | include 'gradle/**' 36 | 37 | exclude 'build' 38 | exclude '.gradle' 39 | exclude '*.iml' 40 | exclude 'local.properties' 41 | 42 | include 'app/**' 43 | exclude 'app/*.iml' 44 | exclude 'app/build' 45 | 46 | include '.idea/**' 47 | exclude '.idea/workspace.xml' 48 | exclude '.idea/libraries' 49 | 50 | destinationDir file('zip') 51 | } -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m4-assignment-diamond-sizes-skeleton/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun May 29 09:52:10 IST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 7 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Sun May 29 09:50:04 IST 2016 11 | ndk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1\\ndk-bundle 12 | sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1 13 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/m4-assignment-diamond-sizes-skeleton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m4-assignment-diamond-sizes-skeleton/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Sun May 29 22:23:54 IST 2016 2 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/.name: -------------------------------------------------------------------------------- 1 | m5-assignment-birthday-probability-skeleton -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 24 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/appcompat_v7_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/commons_lang3_3_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/design_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/guava_17_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/mobilecloud_handin_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/support_annotations_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/libraries/support_v4_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/_3b72adad16952aeecdfbe602fef960bf_BirthdayProblem.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/_3b72adad16952aeecdfbe602fef960bf_BirthdayProblem.pdf -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 22 5 | buildToolsVersion "23.0.2" 6 | 7 | defaultConfig { 8 | applicationId "edu.vandy.java4android.birthdayprob" 9 | minSdkVersion 22 10 | targetSdkVersion 22 11 | versionCode 1 12 | versionName "1.0" 13 | multiDexEnabled true 14 | } 15 | buildTypes { 16 | release { 17 | minifyEnabled false 18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 19 | } 20 | } 21 | compileOptions { 22 | sourceCompatibility JavaVersion.VERSION_1_7 23 | targetCompatibility JavaVersion.VERSION_1_7 24 | } 25 | testOptions { 26 | unitTests.returnDefaultValues = true 27 | unitTests.all{ 28 | ignoreFailures = true 29 | maxHeapSize = "1024m" 30 | } 31 | } 32 | packagingOptions { 33 | exclude 'META-INF/LICENSE.txt' 34 | exclude 'META-INF/NOTICE.txt' 35 | } 36 | } 37 | 38 | dependencies { 39 | compile fileTree(dir: 'libs', include: ['*.jar']) 40 | testCompile 'junit:junit:4.12' 41 | compile 'com.android.support:appcompat-v7:22.2.1' 42 | compile 'com.android.support:design:22.2.1' 43 | 44 | compile ("org.apache.commons:commons-lang3:3.3.2") 45 | compile ("com.google.guava:guava:17.0") 46 | } 47 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/libs/mobilecloud.handin-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/app/libs/mobilecloud.handin-1.0.0.jar -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\Mike\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/androidTest/java/mooc/vandy/java4android/birthdayprob/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.birthdayprob; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/java/mooc/vandy/java4android/birthdayprob/logic/LogicInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.birthdayprob.logic; 2 | 3 | 4 | /** 5 | * This Interface exists to help simplify the interactions between the 6 | * UI (User Interface: [MainActivity.java] in this application) and 7 | * the Logic class [Logic.java]. 8 | * 9 | * This Interface defines the 'void process()' method that 10 | * [Logic.java] will promise to implement. This allows 11 | * [MainActivity.java] to store an instance of [Logic.java] inside a 12 | * 'LogicInterface' variable (mLogic inside [MainActivity.java]) 13 | */ 14 | public interface LogicInterface { 15 | /** 16 | * This method gets called (indirectly through 17 | * [MainActivity.java]) when the button labeled 'Process...' is 18 | * pressed. 19 | */ 20 | public void process(); 21 | } 22 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Birthday Probability App 3 | 4 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/app/src/test/java/mooc/vandy/java4android/birthdayprob/logic/tools/AutoGrader.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.birthdayprob.logic.tools; 2 | 3 | import android.util.Log; 4 | 5 | import org.junit.Test; 6 | 7 | import java.io.File; 8 | 9 | import mooc.vandy.java4android.birthdayprob.logic.LogicUnitTests; 10 | 11 | /** 12 | * IGNORE THIS CLASS. 13 | *

14 | * This class exists to assist in the auto-grading framework that we have developed. 15 | * Knowledge of this class and how it works will not be required in this course at all. 16 | */ 17 | public class AutoGrader { 18 | 19 | @Test 20 | public void mainTest(){ 21 | try { 22 | AndroidHandinUtil.generateHandinPackage("Asgn2", new File("./"), 23 | LogicUnitTests.class); 24 | }catch(Exception e){ 25 | Log.d("AutoGrader :", e.getMessage()); 26 | } 27 | 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.1.2' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | 25 | task _projectZip(type:Zip) { 26 | description = 'Makes a zip file of your project that can be properly shared with others.' 27 | from projectDir 28 | baseName = project.name 29 | 30 | include 'build.gradle' 31 | include 'gradle.properties' 32 | include 'gradlew' 33 | include 'gradlew.bat' 34 | include 'settings.gradle' 35 | include 'gradle/**' 36 | 37 | exclude 'build' 38 | exclude '.gradle' 39 | exclude '*.iml' 40 | exclude 'local.properties' 41 | 42 | include 'app/**' 43 | exclude 'app/*.iml' 44 | exclude 'app/build' 45 | 46 | include '.idea/**' 47 | exclude '.idea/workspace.xml' 48 | exclude '.idea/libraries' 49 | 50 | destinationDir file('zip') 51 | } -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m5-assignment-birthday-probability-skeleton/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Apr 11 17:09:35 CDT 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 7 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Sun May 29 22:12:21 IST 2016 11 | ndk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1\\ndk-bundle 12 | sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1 13 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/m5-assignment-birthday-probability-skeleton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m5-assignment-birthday-probability-skeleton/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Sat Jun 18 09:54:46 IST 2016 2 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/.name: -------------------------------------------------------------------------------- 1 | m6-assignment-gate-b-skeleton -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 24 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/appcompat_v7_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/commons_lang3_3_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/design_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/guava_17_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/mobilecloud_handin_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/support_annotations_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/libraries/support_v4_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/_2d5f23edc3fc3a43b75614a24a03f336_M6GateAssignment.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/_2d5f23edc3fc3a43b75614a24a03f336_M6GateAssignment.pdf -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/_46aee2228dff678ea1e1bc92a15d9fad_M6ClientAssignment.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/_46aee2228dff678ea1e1bc92a15d9fad_M6ClientAssignment.pdf -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 22 5 | buildToolsVersion "23.0.2" 6 | 7 | defaultConfig { 8 | applicationId "mooc.vandy.java4android.gate" 9 | minSdkVersion 22 10 | targetSdkVersion 22 11 | versionCode 1 12 | versionName "1.0" 13 | multiDexEnabled true 14 | } 15 | buildTypes { 16 | release { 17 | minifyEnabled false 18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 19 | } 20 | } 21 | compileOptions { 22 | sourceCompatibility JavaVersion.VERSION_1_7 23 | targetCompatibility JavaVersion.VERSION_1_7 24 | } 25 | testOptions { 26 | unitTests.returnDefaultValues = true 27 | unitTests.all{ 28 | ignoreFailures = true 29 | maxHeapSize = "1024m" 30 | } 31 | } 32 | packagingOptions { 33 | exclude 'META-INF/LICENSE.txt' 34 | exclude 'META-INF/NOTICE.txt' 35 | } 36 | } 37 | 38 | dependencies { 39 | compile fileTree(dir: 'libs', include: ['*.jar']) 40 | testCompile 'junit:junit:4.12' 41 | compile 'com.android.support:appcompat-v7:22.2.1' 42 | compile 'com.android.support:design:22.2.1' 43 | 44 | compile ("org.apache.commons:commons-lang3:3.3.2") 45 | compile ("com.google.guava:guava:17.0") 46 | } 47 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/libs/mobilecloud.handin-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/app/libs/mobilecloud.handin-1.0.0.jar -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\Mike\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/androidTest/java/mooc/vandy/java4android/gate/logic/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.gate.logic; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/java/mooc/vandy/java4android/gate/logic/ClassToTest.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.gate.logic; 2 | 3 | /** 4 | * Enum to indicate which class to test. 5 | */ 6 | public enum ClassToTest { 7 | /** 8 | * Test the FillTheCorral class. 9 | */ 10 | Corral, 11 | 12 | /** 13 | * Test the HerdManager class. 14 | */ 15 | Herd 16 | } 17 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/java/mooc/vandy/java4android/gate/logic/LogicInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.gate.logic; 2 | 3 | /** 4 | * This Interface exists to help simplify the interactions between the 5 | * UI (User Interface: [MainActivity.java] in this application) and 6 | * the Logic class [Logic.java]. 7 | * 8 | * This Interface defines the 'void process()' method that 9 | * [Logic.java] will promise to implement. This allows 10 | * [MainActivity.java] to store an instance of [Logic.java] inside a 11 | * 'LogicInterface' variable (mLogic inside [MainActivity.java]) 12 | */ 13 | public interface LogicInterface { 14 | /** 15 | * This method gets called (indirectly via [MainActivity.java]) 16 | * when the button labeled 'Process...' is pressed. 17 | */ 18 | void process(); 19 | } 20 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/java/mooc/vandy/java4android/gate/ui/OutputInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.gate.ui; 2 | 3 | import mooc.vandy.java4android.gate.logic.ClassToTest; 4 | 5 | /** 6 | * Interface defines the methods that the User Interface 7 | * [MainActivity] will implement. 8 | */ 9 | public interface OutputInterface { 10 | /** 11 | * Return the enumeration literal for the class to test. 12 | */ 13 | ClassToTest getClassToTest(); 14 | 15 | /** 16 | * This prints to the output a string. 17 | * @param text 18 | */ 19 | void print(String text); 20 | 21 | /** 22 | * This prints to the output a char. 23 | * @param _char 24 | */ 25 | void print(char _char); 26 | 27 | /** 28 | * This prints to the screen a string then a new line. 29 | * @param text 30 | */ 31 | void println(String text); 32 | 33 | /** 34 | * This prints to the screen a char then a new line. 35 | * @param _char 36 | */ 37 | void println(char _char); 38 | 39 | /** 40 | * Reset the on-screen output (EditText box). 41 | */ 42 | void resetText(); 43 | 44 | /** 45 | * Allow log messages from Logic. 46 | */ 47 | void log(String logtext); 48 | } 49 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Gate App b 3 | 4 | Corral 5 | Herd 6 | 7 | 8 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/test/java/mooc/vandy/java4android/gate/logic/.AllUnitTests.java.kate-swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/app/src/test/java/mooc/vandy/java4android/gate/logic/.AllUnitTests.java.kate-swp -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/app/src/test/java/mooc/vandy/java4android/gate/logic/tools/AutoGrader.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.gate.logic.tools; 2 | 3 | import android.util.Log; 4 | 5 | import org.junit.Test; 6 | 7 | import java.io.File; 8 | 9 | import mooc.vandy.java4android.gate.logic.AllUnitTests; 10 | 11 | /** 12 | * IGNORE THIS CLASS. 13 | *

14 | * This class exists to assist in the auto-grading framework that we have developed. 15 | * Knowledge of this class and how it works will not be required in this course at all. 16 | */ 17 | public class AutoGrader { 18 | @Test 19 | public void mainTest(){ 20 | try { 21 | AndroidHandinUtil.generateHandinPackage("Asgn2", new File("./build/results.txt"), 22 | AllUnitTests.class); 23 | }catch(Exception e){ 24 | Log.d("AutoGrader :", e.getMessage()); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Apr 18 13:17:40 CDT 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 7 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Sat Jun 18 09:53:07 IST 2016 11 | ndk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1\\ndk-bundle 12 | sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1 13 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/m6-assignment-gate-b-skeleton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /m6-assignment-gate-b-skeleton/zip/answer-files.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m6-assignment-gate-b-skeleton/zip/answer-files.zip -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Fri Jul 08 00:38:13 IST 2016 2 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/cache.properties.lock -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/.name: -------------------------------------------------------------------------------- 1 | m7-assignment-buildings-skeleton -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 24 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/appcompat_v7_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/commons_beanutils_1_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/commons_collections_3_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/commons_io_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/commons_lang3_3_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/design_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/fluent_interface_proxy_1_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/guava_17_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/mobilecloud_handin_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/multidex_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/support_annotations_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/libraries/support_v4_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/_7c894a2b2e9005c66eeb949c0381e1fc_M7assignmentspecification.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/_7c894a2b2e9005c66eeb949c0381e1fc_M7assignmentspecification.pdf -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/libs/mobilecloud.handin-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/app/libs/mobilecloud.handin-1.0.0.jar -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\Mike\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/androidTest/java/mooc/vandy/java4android/buildings/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.buildings; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/java/mooc/vandy/java4android/buildings/logic/Cottage.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.buildings.logic; 2 | 3 | /** 4 | * This is the cottage class file. It is a subclass of House. 5 | */ 6 | public class Cottage 7 | extends House { 8 | 9 | // TODO - Put your code here. 10 | private boolean mSecondFloor; 11 | 12 | //constructors 13 | public Cottage(int dimension, int lotLength, int lotWidth) { 14 | super(dimension, dimension, lotLength, lotWidth); 15 | mSecondFloor = false; 16 | } 17 | 18 | //another constructor with second floor parameter 19 | 20 | public Cottage(int dimension, int lotLength, int lotWidth, String owner,boolean secondFloor) { 21 | super(dimension, dimension, lotLength, lotWidth, owner); 22 | this.mSecondFloor = secondFloor; 23 | } 24 | 25 | public boolean hasSecondFloor() { 26 | return mSecondFloor; 27 | } 28 | 29 | @Override 30 | public String toString() { 31 | return super.toString() + (hasSecondFloor() ? "; is a two story cottage" : ""); 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/java/mooc/vandy/java4android/buildings/logic/LogicInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.buildings.logic; 2 | 3 | /** 4 | * This Interface exists to help simplify the interactions between the 5 | * UI (User Interface: [MainActivity.java] in this app) and the Logic 6 | * class [Logic.java]. 7 | * 8 | * This Interface defines the 'void process()' method that 9 | * [Logic.java] will promise to implement. This allows 10 | * [MainActivity.java] to store an instance of [Logic.java] inside a 11 | * 'LogicInterface' variable (mLogic inside [MainActivity.java]) 12 | */ 13 | public interface LogicInterface { 14 | /** 15 | * This method gets called (indirectly via [MainActivity.java]) 16 | * when the button labeled 'Process...' is pressed. 17 | */ 18 | void process(); 19 | } 20 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/java/mooc/vandy/java4android/buildings/logic/Neighborhood.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.buildings.logic; 2 | 3 | import mooc.vandy.java4android.buildings.ui.OutputInterface; 4 | 5 | /** 6 | * This Neighborhood utility class provides static helper methods the 7 | * print a Building List and calculate the area of a Building list. 8 | * A utility class in Java should always be final and have a private 9 | * constructor, as per https://en.wikipedia.org/wiki/Utility_class. 10 | */ 11 | public final class Neighborhood { 12 | 13 | // TODO - Put your code here. 14 | public static void print(Building[] buildings, String header, OutputInterface out) { 15 | 16 | } 17 | 18 | public static int calcArea(Building[] buildings) { 19 | int totalLotArea = 0; 20 | for(int i = 0; i < buildings.length; i++) { 21 | totalLotArea += buildings[i].calcLotArea(); 22 | } 23 | return totalLotArea; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/java/mooc/vandy/java4android/buildings/ui/OutputInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.buildings.ui; 2 | 3 | import android.util.Log; 4 | 5 | /** 6 | * Interface defines the methods that the User Interface 7 | * [MainActivity] will implement. 8 | */ 9 | public interface OutputInterface { 10 | /** 11 | * This prints to the output a string. 12 | * @param text 13 | */ 14 | void print(String text); 15 | 16 | /** 17 | * This prints to the output a char. 18 | * @param _char 19 | */ 20 | void print(char _char); 21 | 22 | /** 23 | * This prints to the screen a string then a new line. 24 | * @param text 25 | */ 26 | void println(String text); 27 | 28 | /** 29 | * This prints to the screen a char then a new line. 30 | * @param _char 31 | */ 32 | void println(char _char); 33 | 34 | /** 35 | * Reset the on-screen output (EditText box). 36 | */ 37 | void resetText(); 38 | 39 | /** 40 | * Allow log messages from Logic. 41 | */ 42 | public void log(String logtext); 43 | } 44 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Buildings App 3 | 4 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/test/java/mooc/vandy/java4android/buildings/logic/tools/AutoGrader.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.buildings.logic.tools; 2 | 3 | import android.util.Log; 4 | 5 | import org.junit.Test; 6 | 7 | import java.io.File; 8 | 9 | import mooc.vandy.java4android.buildings.logic.LogicUnitTests; 10 | 11 | /** 12 | * IGNORE THIS CLASS. 13 | *

14 | * This class exists to assist in the auto-grading framework that we have developed. 15 | * Knowledge of this class and how it works will not be required in this course at all. 16 | */ 17 | public class AutoGrader { 18 | 19 | @Test 20 | public void mainTest(){ 21 | try { 22 | AndroidHandinUtil.generateHandinPackage("Asgn2", new File("./build/results.txt"), 23 | LogicUnitTests.class); 24 | }catch(Exception e){ 25 | Log.d("AutoGrader :", e.getMessage()); 26 | } 27 | 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/app/src/test/java/mooc/vandy/java4android/buildings/logic/tools/TestingOutputInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.buildings.logic.tools; 2 | 3 | 4 | import mooc.vandy.java4android.buildings.ui.OutputInterface; 5 | 6 | /** 7 | * IGNORE THIS CLASS. 8 | *

9 | * This class exists to assist in the auto-grading framework that we have developed. 10 | * Knowledge of this class and how it works will not be required in this course at all. 11 | */ 12 | public class TestingOutputInterface implements OutputInterface { 13 | 14 | String output = ""; 15 | 16 | public String getOutput(){ 17 | return output; 18 | } 19 | 20 | @Override 21 | public void print(String text) { 22 | output += text; 23 | } 24 | 25 | @Override 26 | public void print(char _char) { 27 | print("" + _char); 28 | } 29 | 30 | @Override 31 | public void println(String text) { 32 | output += text + '\n'; 33 | } 34 | 35 | @Override 36 | public void println(char _char) { 37 | println("" + _char); 38 | } 39 | 40 | @Override 41 | public void resetText() { 42 | output = ""; 43 | } 44 | 45 | @Override 46 | public void log(String logtext) { 47 | // no op for now. 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jul 08 00:37:27 IST 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 7 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Fri Jul 08 00:26:50 IST 2016 11 | ndk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1\\ndk-bundle 12 | sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1 13 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/m7-assignment-buildings-skeleton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /m7-assignment-buildings-skeleton/zip/answer-files.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m7-assignment-buildings-skeleton/zip/answer-files.zip -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/taskArtifacts/cache.properties: -------------------------------------------------------------------------------- 1 | #Sun Jul 10 22:48:18 IST 2016 2 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/taskArtifacts/cache.properties.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/taskArtifacts/cache.properties.lock -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/taskArtifacts/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/taskArtifacts/fileHashes.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/taskArtifacts/fileSnapshots.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/taskArtifacts/fileSnapshots.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/taskArtifacts/outputFileStates.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/taskArtifacts/outputFileStates.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/taskArtifacts/taskArtifacts.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/taskArtifacts/taskArtifacts.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.bin -------------------------------------------------------------------------------- /m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/.gradle/2.10/tasks/_app_compileDebugUnitTestJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/.name: -------------------------------------------------------------------------------- 1 | m8-Calculator final Project -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 23 | 24 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/appcompat_v7_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/commons_lang3_3_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/design_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/guava_17_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/mobilecloud_handin_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/support_annotations_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/libraries/support_v4_22_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /m8-Calculator final Project/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 22 5 | buildToolsVersion "23.0.2" 6 | 7 | defaultConfig { 8 | applicationId "mooc.vandy.java4android.calculator" 9 | minSdkVersion 22 10 | targetSdkVersion 22 11 | versionCode 1 12 | versionName "1.0" 13 | multiDexEnabled true 14 | } 15 | buildTypes { 16 | release { 17 | minifyEnabled false 18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 19 | } 20 | } 21 | compileOptions { 22 | sourceCompatibility JavaVersion.VERSION_1_7 23 | targetCompatibility JavaVersion.VERSION_1_7 24 | } 25 | testOptions { 26 | unitTests.returnDefaultValues = true 27 | unitTests.all{ 28 | ignoreFailures = true 29 | maxHeapSize = "1024m" 30 | } 31 | } 32 | packagingOptions { 33 | exclude 'META-INF/LICENSE.txt' 34 | exclude 'META-INF/NOTICE.txt' 35 | } 36 | } 37 | 38 | dependencies { 39 | compile fileTree(dir: 'libs', include: ['*.jar']) 40 | testCompile 'junit:junit:4.12' 41 | compile 'com.android.support:appcompat-v7:22.2.1' 42 | compile 'com.android.support:design:22.2.1' 43 | 44 | compile ("org.apache.commons:commons-lang3:3.3.2") 45 | compile ("com.google.guava:guava:17.0") 46 | } 47 | 48 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/libs/mobilecloud.handin-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/app/libs/mobilecloud.handin-1.0.0.jar -------------------------------------------------------------------------------- /m8-Calculator final Project/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/mike/development/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/androidTest/java/mooc/vandy/java4android/calculator/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.accounts; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | MainActivity 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/java/mooc/vandy/java4android/calculator/logic/Add.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.logic; 2 | 3 | /** 4 | * Perform the Add operation. 5 | */ 6 | public class Add { 7 | 8 | int sum; 9 | 10 | public void add (int arg1, int arg2) { 11 | sum = arg1 + arg2; 12 | } 13 | 14 | public String getResultString() { 15 | return String.valueOf(sum); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/java/mooc/vandy/java4android/calculator/logic/Divide.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.logic; 2 | 3 | /** 4 | * Perform the Divide operation. 5 | */ 6 | public class Divide { 7 | 8 | int quotient; 9 | int remainder; 10 | String resultString; 11 | 12 | public void divide(int arg1, int arg2) { 13 | 14 | // try dividing arg1 and arg2 15 | // if 0 is passed as the arg2 16 | // then throw an exception 17 | try { 18 | 19 | quotient = arg1/arg2; 20 | remainder = arg1 % arg2; 21 | 22 | resultString = String.valueOf(quotient) + " R: " + remainder; 23 | 24 | 25 | } catch (ArithmeticException e) { 26 | 27 | resultString = "Division by zero is not allowed."; 28 | } 29 | } 30 | 31 | public String getResultString() { 32 | return resultString; 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/java/mooc/vandy/java4android/calculator/logic/LogicInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.logic; 2 | 3 | /** 4 | * Defines the interface for processing user calculations. 5 | */ 6 | public interface LogicInterface { 7 | /** 8 | * Perform the @a operation on @a argumentOne and @a argumentTwo. 9 | */ 10 | public void process(int argumentOne, 11 | int argumentTwo, 12 | int operation); 13 | } 14 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/java/mooc/vandy/java4android/calculator/logic/Multiply.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.logic; 2 | 3 | /** 4 | * Perform the Multiply operation. 5 | */ 6 | public class Multiply { 7 | int multiplyResult; 8 | 9 | public void multiply(int arg1, int arg2) { 10 | multiplyResult = arg1 * arg2; 11 | } 12 | 13 | public String getResultString() { 14 | return String.valueOf(multiplyResult); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/java/mooc/vandy/java4android/calculator/logic/Subtract.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.logic; 2 | 3 | /** 4 | * Perform the Subtract operation. 5 | */ 6 | public class Subtract { 7 | 8 | int difference; 9 | 10 | public void subtract(int arg1, int arg2) { 11 | 12 | difference = arg1 - arg2; 13 | } 14 | 15 | public String getResultString() { 16 | return String.valueOf(difference); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/java/mooc/vandy/java4android/calculator/ui/ActivityInterface.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.ui; 2 | 3 | /** 4 | * Defines the interface for user input/output. 5 | */ 6 | public interface ActivityInterface { 7 | /** 8 | * Get the value of the first user input operand. 9 | */ 10 | public int getValueOne(); 11 | 12 | /** 13 | * Get the value of the second user input operand. 14 | */ 15 | public int getValueTwo(); 16 | 17 | /** 18 | * Get the value of the user input operation. 19 | */ 20 | public int getOperationNumber(); 21 | 22 | /** 23 | * Print the result to the user's display. 24 | */ 25 | public void print(String resultString); 26 | } 27 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-18 15 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Calculator 3 | 4 | 5 | add 6 | subtract 7 | multiply 8 | divide 9 | 10 | 11 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/test/java/mooc/vandy/java4android/calculator/logic/AllUnitTests.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.logic; 2 | 3 | import org.junit.Before; 4 | import org.junit.Rule; 5 | import org.junit.Test; 6 | import org.junit.rules.ExpectedException; 7 | 8 | import io.magnum.autograder.junit.Rubric; 9 | 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Run all the JUunit tests. 15 | */ 16 | public class AllUnitTests { 17 | // private BankAccount bankAccount ; 18 | } 19 | -------------------------------------------------------------------------------- /m8-Calculator final Project/app/src/test/java/mooc/vandy/java4android/calculator/logic/AutoGrader.java: -------------------------------------------------------------------------------- 1 | package mooc.vandy.java4android.calculator.logic; 2 | 3 | import android.util.Log; 4 | 5 | import org.junit.Test; 6 | 7 | import java.io.File; 8 | 9 | /** 10 | * Run the AutoGrader. 11 | */ 12 | public class AutoGrader { 13 | 14 | @Test 15 | public void mainTest(){ 16 | try { 17 | AndroidHandinUtil.generateHandinPackage("Asgn2", 18 | new File("./"), 19 | AllUnitTests.class); 20 | } catch(Exception e) { 21 | Log.d("AutoGrader :", 22 | e.getMessage()); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /m8-Calculator final Project/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.1.2' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | 25 | task _projectZip(type:Zip) { 26 | description = 'Makes a zip file of your project that can be properly shared with others.' 27 | from projectDir 28 | baseName = project.name 29 | 30 | include 'build.gradle' 31 | include 'gradle.properties' 32 | include 'gradlew' 33 | include 'gradlew.bat' 34 | include 'settings.gradle' 35 | include 'gradle/**' 36 | 37 | exclude 'build' 38 | exclude '.gradle' 39 | exclude '*.iml' 40 | exclude 'local.properties' 41 | 42 | include 'app/**' 43 | exclude 'app/*.iml' 44 | exclude 'app/build' 45 | 46 | include '.idea/**' 47 | exclude '.idea/workspace.xml' 48 | exclude '.idea/libraries' 49 | 50 | destinationDir file('zip') 51 | } -------------------------------------------------------------------------------- /m8-Calculator final Project/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /m8-Calculator final Project/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /m8-Calculator final Project/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Apr 09 07:16:38 CDT 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 7 | -------------------------------------------------------------------------------- /m8-Calculator final Project/local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Sun Jul 10 22:47:49 IST 2016 11 | ndk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1\\ndk-bundle 12 | sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\sdk1 13 | -------------------------------------------------------------------------------- /m8-Calculator final Project/m8-Calculator final Project.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /m8-Calculator final Project/m8-calculator-app-grading-rubric.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/m8-calculator-app-grading-rubric.pdf -------------------------------------------------------------------------------- /m8-Calculator final Project/m8-calculator-app-instructions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/m8-calculator-app-instructions.pdf -------------------------------------------------------------------------------- /m8-Calculator final Project/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /m8-Calculator final Project/zip/m8-Calculator final Project.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peterfayez/Coursera-Java-For-Android/81100970edf634f49cb87ea2994dfae6f684da25/m8-Calculator final Project/zip/m8-Calculator final Project.zip --------------------------------------------------------------------------------