<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@511f5206618e439490e9540cb7b4e285" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@74362dfe7dcb48e88edfbcb22d237a2e">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@74362dfe7dcb48e88edfbcb22d237a2e" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p class="pf0"><span class="cf0">In the previous session (<strong>Preparing for the Sandbox</strong>), you were introduced to the basics of the </span><strong><span class="cf0">JupyterLab</span></strong><span class="cf0"><strong> Sandbox</strong>. In this session, we will recap how to access the <strong>Sandbox</strong> and the basic elements of </span><strong><span class="cf0">JupyterLab</span></strong><span class="cf0">. </span></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@e86306b5317d4e6ba6aa7a2803d0f23d" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@a8239bc2bd7f441fa30f7cb250a33f71">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@a8239bc2bd7f441fa30f7cb250a33f71" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<ol><ol>
<li><span class="cf0">Visit <a href="https://sandbox.digitalearth.africa/" target="_blank">https://sandbox.digitalearth.africa/</a> and click on the <strong>Login or Sign up</strong> button.</span></li>
<li><span class="cf0">Fill in the <strong>Email</strong> and <strong>Password</strong> fields. </span></li>
<li><span class="cf0">Click on the <strong>Sign in</strong> button.</span></li>
<li><span class="cf0">You will be prompted to select a server from Server Options. For regular users, only the <strong>default environment</strong> is available. Select the Default environment option and click on <strong>Start</strong>.</span></li>
</ol></ol>
<p></p>
<p><span class="cf0"><img height="362" width="653" src="/assets/courseware/v1/1852c2311338f64dda03f269143bb5a3/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image50.png" alt="Server options" /></span></p>
<p>The server will start up; this can take a few minutes. You will automatically be redirected to the Sandbox environment.</p>
<p class="pf0"><span class="cf0">The Sandbox runs completely in-browser, and all necessary software is provided. No additional installation or configuration is required.</span></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@1ca2461c0bd945c3b48ac4762ea73bb6" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@01f3bd0d529c46608b63182f18790598">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@01f3bd0d529c46608b63182f18790598" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p class="pf0"><span class="cf0">The Digital Earth Africa Sandbox uses a </span><span class="cf0">JupyterLab</span><span class="cf0"> interface. </span><span class="cf0">JupyterLab</span><span class="cf0"> is a web-based interactive coding environment. It has a user-friendly interface to make file navigation and workflows more intuitive. Within the Sandbox, we create </span><span class="cf0">Jupyter</span><span class="cf0"> Notebooks to contain and execute code.</span></p>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@a0f01d24f2c543b7a343bd158a0ac276">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@a0f01d24f2c543b7a343bd158a0ac276" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3 class="pf0"><strong><span class="cf0">1.2.3.1 Components of the Sandbox</span></strong></h3>
<p class="pf0"><span class="cf0">When the Sandbox starts up, you will be presented with three main sections, as numbered in the diagram below:</span></p>
<p class="pf0"><span class="cf0"><img height="370" width="653" src="/assets/courseware/v1/91b3bff779f3526203b31e7cf15b4ba0/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image51.png" alt="Sanbox diagram" /></span></p>
<p class="pf0"></p>
<p></p>
<ol>
<li><span class="cf0"><strong>Main work area:</strong> Enables you to arrange documents and other windows (such as terminals or code consoles) into panels of tabs that can be resized or subdivided. Open files will be displayed in this area. Most of your work will be done here.</span></li>
<li><span class="cf0"><strong>Left sidebar:</strong> Contains a file browser, the list of running kernels and terminals, the command palette, the notebook cell tools inspector, and the tabs list. By default, the file browser is selected; this will be the most useful toolbar for new users.</span></li>
<li><span class="cf0"><strong>Horizontal menu bar:</strong> Exposes actions available in </span><span class="cf0">JupyterLab</span><span class="cf0">, including actions related to saving, editing, viewing and running notebooks. When you are done, you can select <strong>File -> Log Out</strong> to quit your Sandbox session and free up server space.</span></li>
</ol>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@5a65680421d94d8eb89db78c1424299b" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@7e7fca5a164c40228ff7f8e4217d1dcc">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@7e7fca5a164c40228ff7f8e4217d1dcc" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p class="pf0"><span class="cf0">The Sandbox comes with many example notebooks that you can learn from and use. Follow the instructions in this section to learn how to open a notebook.</span></p>
<ol><ol>
<li><span class="cf0">In </span><span class="cf0">JupyterLab</span><span class="cf0">, double-clicking in the left sidebar file browser opens folders and files. Double-click the </span><strong><span class="cf0">Beginners_guide</span></strong><span class="cf0"> folder in the left sidebar to open the folder and view its contents. This is shown in the figure below. </span></li>
</ol></ol>
<p><img height="292" width="654" src="/assets/courseware/v1/c5a8c12818b4c26da5f26191e83964c5/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image52.png" alt="Beginners guide" /></p>
<p style="padding-left: 30px;">2. Jupyter notebooks can be identified by the file extension <span id="docs-internal-guid-f3627274-7fff-73df-ea91-bc24fb649d22"><span style="font-size: 9pt; font-family: "Courier New", monospace; color: rgb(231, 76, 60); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">.ipynb</span></span>. Choose a notebook (for example, <span id="docs-internal-guid-a5c951da-7fff-9032-e3c4-b2231c2f84a5"><span style="font-size: 9pt; font-family: "Courier New", monospace; color: rgb(231, 76, 60); background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">01_Jupyter_notebooks.ipynb</span></span>) and double-click to open it in the main work area.</p>
<p style="padding-left: 30px;">3. To navigate back to the home folder, click the folder icon at the start of the folder path. The folder path is near the top of the left sidebar.</p>
<p><img height="434" width="660" src="/assets/courseware/v1/2f802f941e6cd47c8a37a7345f7dea8d/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image53.png" alt="Datasets" /></p>
<p><span class="cf0">For more information, refer to the </span><span class="cf0">JupyterLab</span><span class="cf0"> documentation on <a href="https://jupyterlab.readthedocs.io/en/stable/user/files.html" target="_blank">Working with Files</a>.</span></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@ac86732c5e28455496d8f0ac64cd9660" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@b3a44b1fef9e43b18af885b2be151af5">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@b3a44b1fef9e43b18af885b2be151af5" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p class="pf0"><span class="cf0">Closing a notebook browser tab will not shut down its “computational engine” (called the kernel). It is good practice to shut down the kernel of any notebooks you aren’t using, as it will free up memory in your Sandbox session. Follow the instructions below to completely shut down the notebook you opened in the previous section.</span></p>
<ol><ol>
<li><span class="cf0">With the notebook open, click on the menu option <strong>File -> Close and Shutdown Notebook</strong>.</span></li>
</ol></ol>
<p><img height="330" width="653" src="/assets/courseware/v1/773a21065608fde743e0ee2931e2c8a7/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image54.png" alt="Notebook" /></p>
<p style="padding-left: 30px;"><span style="font-size: 1em;"></span></p>
<p style="padding-left: 30px;"><span style="font-size: 1em;">2. When asked whether you want to shut down the notebook, click </span><strong style="font-size: 1em;">OK</strong><span style="font-size: 1em;">. </span></p>
<p><img height="238" width="657" src="/assets/courseware/v1/076a4a8b0a24df913d9aeb04df9bd9c2/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image55.png" alt="Shut down message" style="font-size: 1em;" /></p>
<p><span class="cf0">Well done! You can now open and close existing </span><span class="cf0">Jupyter</span><span class="cf0"> notebook files. The next section will cover how to run an existing </span><span class="cf0">Jupyter</span><span class="cf0"> notebook.</span></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@d3870d885629427aaec9fd60687ffc11" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@problem+block@2ef6a6bac84749f589940f93a01923e5">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-block-type="problem" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@problem+block@2ef6a6bac84749f589940f93a01923e5" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="True">
<div class="page-banner"><div class="alert alert-warning"><span class="icon icon-alert fa fa fa-warning" aria-hidden="true"></span><div class="message-content">Question 1 is only accessible to enrolled learners. Sign in or register, and enroll in this course to view it.</div></div></div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:digitalearthafrica+DEA101+2021+type@problem+block@4aab53796eb04aef9839c99a4350667b">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-block-type="problem" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@problem+block@4aab53796eb04aef9839c99a4350667b" data-request-token="19c695f04d0411f1b4d66b8c55c4de7e" data-graded="True" data-has-score="True">
<div class="page-banner"><div class="alert alert-warning"><span class="icon icon-alert fa fa fa-warning" aria-hidden="true"></span><div class="message-content">Question 2 is only accessible to enrolled learners. Sign in or register, and enroll in this course to view it.</div></div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>