Digital Journal

From Coder Merlin
Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder
Alexander Liholiho's personal journal, 1849

Curriculum[edit]

ExercisesIcon.png
 Coder Merlin™  Computer Science Curriculum Data

Unit: Lab basics

Experience Name: Digital Journal (W1005)

Next Experience: ()

Knowledge and skills:

  • §10.111 Participate with electronic communities as a learner and contributor
  • §10.112 Actively mentor learners within and beyond the school environment
  • §10.121 Demonstrate proficiency in managing files and processes using a command line interface
  • §10.651 Create web pages using HTML and CSS

Topic areas: Reflection

Classroom time (average): 20 minutes

Study time (average): 30 minutes

Successful completion requires knowledge: understand the purpose of a digital journal; understand the purpose of reflection

Successful completion requires skills: creating a digital journal in the proper format

Background[edit]

Introduction[edit]

As you journey through these computer science experiences, you will benefit greatly by journaling. Each journal entry should have these parts:

  1. A brief journal header
  2. The second part of your journal should document assistance that you have received or provided.
  3. The third part of your journal should have a prescribed format. Here, you'll have the opportunity to ponder phenomena that you've observed and answer some questions.
  4. The fourth part of your journal entry should address some open-ended prompts that will be the same for each experience.
  5. The final part is your opportunity to further explore the experience on your own.

Your journals should be one component of your Digital Portfolio; we'll set that up next.

Create your Digital Portfolio on the Server[edit]

1. Create a new directory called Digital Portfolio in your home directory.

jane-williams@codermerlin:~$ cd

jane-williams@codermerlin:~$ mkdir "Digital Portfolio"

2. Create a link to the new directory from your www directory, which is the only directory from which your web server will serve files.

jane-williams@codermerlin:~$ cd ~/www

jane-williams@codermerlin:~/www$ ln -s ~/Digital\ Portfolio "Digital Portfolio"

3. By default, other users, including the web server itself, will not have access to your directories and files. However, in this case, we do want to expose our journals to the web server. To do so, create a file to set the permissions to allow the web server read access to the files and traverse access to the directories.

jane-williams@codermerlin:~/www$ emacs setPermissions.sh

Into this file, add the following:

#!/bin/bash

# Allow this and descenant directories to be traversed by everyone, ignoring hidden directories
find -L "$PWD" -not -path "*/.*" -type d -exec chmod a+X {} \;

# Allow everyone read access to all files in this hierarchy with an extension of
# .html, .png, or .jpg
find -L "$PWD" -not -path "*/.*" -type f \( -name "*.html" -o -name "*.png" -o -name "*.jpg" -o -name "*.css" \) -exec chmod a+r {} \;

Save the file and exit emacs.

Set the permissions of this file:

jane-williams@codermerlin:~/www$ chmod u+x setPermissions.sh


4. Any time you add a new file, execute the script:

jane-williams@codermerlin:~/www$ ./setPermissions.sh

Conventions[edit]

Journal Location and Name[edit]

All of your journals should be in a subdirectory called "Journals" under your current class in your "Digital Portfolio" directory. Let's create that directory now.

john-williams@codermerlin:~$  cd ~/"Digital Portfolio"

john-williams@codermerlin:~/Digital Portfolio$  mkdir -p CS-I/Journals

john-williams@codermerlin:~/Digital Portfolio$  cd CS-I/Journals

john-williams@codermerlin:~/Digital Portfolio/CS-I/Journals$  

We'll be using HTML files for your journals. You should name each file in accordance with the identifier of the experience (with the "W" replaced by a "J") with an extension of ".html".

Template[edit]

Hint.pngHelpful Hint

To quickly create journals, you can copy this text into emacs into a file inside your Journals directory called "Template.html". Then, to start a new journal, copy the template as a starting point.

jane-williams@codermerlin:~/Digital Portfolio/CS-I/Journals$  emacs Template.html

Then, copy the text below into emacs:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>CS-I Journal J1002</title>
  </head>

  <body>
    <h1>CS-I Journal J1002: Shell</h1>
    <p>Name: Jane Williams</p>
    <p>Date: 28-Aug-2022</p>

    <p>I received assistance from: John Williams</p>
    <p>I assisted: Cameron Delgado</p>

    <h2>Section 1</h2>
    <h3>Question 1: This is the first question in section 1.</h3>
    <p>This is an answer in the format of a full sentence.</p>

    <h2>Section 2</h2>
    <h3>Question 1: This is the first question in section 2.</h3>
    <p>This is an answer in the format of a full sentence.</p>
    <h3>Question 2: This is the second question in section 2.</h3>
    <p>This is an answer in the format of a full sentence.</p>

    <h2>What did I learn? What is the "big idea"?</h2>
    <p>I learned that...</p>

    <h2>What challenges did I encounter?</h2>
    <p>I encountered challlenges when...</p>

    <h2>How could this experience be improved?</h2>
    <p>This experience could be improved by...</p>

    <h2>Free Reflection: How has what I've learned affected my thinking?</h2>
    <p>I now realize that...</p>

  </body>
</html>

Before saving the file, change the name of the author to your name. Then save the file.

Now, the next time that you need a journal, copy the template as a starting point. For example:

jane-williams@codermerlin:~/Digital Portfolio/CS-I/Journals$  cp Template.html J1002.html

Journaling Requirements[edit]

  • The first part of your journal should be the Journal's title and a simple header with your name, the journal identifier, and the date that you started writing the journal. Update that in emacs now:
  <head>
    <meta charset="utf-8">
    <title>CS-I Journal J1002</title>
  </head>

  <body>
    <h1>CS-I Journal J1002: Shell</h1>
    <p>Name: Jane Williams</p>
    <p>Date: 28-Aug-2022</p>
  • The second part of your journal simply lists the individuals who have provided you with assistance and those who you yourself have assisted:
    <p>I received assistance from: John Williams</p>
    <p>I assisted: Cameron Delgado</p>
CautionWarnIcon.png

Providing clear attribution when using the ideas and creations of others is a core tenet of your journey and a serious responsibility. Do not leave these lines relating to assistance blank. You must either list one or more names or explicitly state NO ONE.

  • The third part of your journal should have a prescribed format, as determined by the specific observation boxes in that experience. As an example, consider the following two boxes from W1002:


ObserveObserveIcon.png
Observe, Ponder, and Journal: : Section 1
  1. Name at least two other services that you personally use that are implemented using a Client/Server Model


ObserveObserveIcon.png
Observe, Ponder, and Journal: : Section 2
  1. It appears that both Jack Williams and John Williams can have a directory of the same name. Do you think the ability to have two different users create a directory of the same name is important? Why?
  2. If this weren't possible, what would you need to do instead?


These questions should be labeled in your journal using the convention Section (as an h2) and Question (as an h3). Use complete sentences. In this example, the first section has one question and the second two questions. In emacs, we'd continue as follows:

    <h2>Section 1</h2>
    <h3>Question 1: This is the first question in section 1.</h3>
    <p>This is an answer in the format of a full sentence.</p>

    <h2>Section 2</h2>
    <h3>Question 1: This is the first question in section 2.</h3>
    <p>This is an answer in the format of a full sentence.</p>
    <h3>Question 2: This is the second question in section 2.</h3>
    <p>This is an answer in the format of a full sentence.</p>
  • The fourth section should address some questions that require a bit more thought. These same questions will be answered for each experience. They appear as follows:
    <h2>What did I learn? What is the "big idea"?</h2>
    <p>I learned that...</p>

    <h2>What challenges did I encounter?</h2>
    <p>I encountered challlenges when...</p>

    <h2>How could this experience be improved?</h2>
    <p>This experience could be improved by...</p>
  • The final part of your journal is titled "Free Reflection." It's an opportunity for you to reflect on your experience and how it has affected your thinking. This appears as:
    <h2>Free Reflection: How has what I've learned affected my thinking?</h2>
    <p>I now realize that...</p>

The Index[edit]

To be able to find your journals you'll need to add to two index files. We'll do that now. The first is at the level of your Digital Portfolio.

jane-williams@codermerlin:~$ cd ~/"Digital Portfolio"

jane-williams@codermerlin:~/Digital Portfolio$ emacs index.html

Add the following text to this file:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Digital Portolio</title>
  </head>

  <body>
    <h1>Digital Portfolio</h1>

    <a href="CS-I/index.html"><h2>Advanced Computer Science I</h2></a>

  </body>
</html>

The second is at the level of "CS-I".

jane-williams@codermerlin:~/Digital Portfolio$ cd CS-I

jane-williams@codermerlin:~/Digital Portfolio/CS-I$ emacs index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Advanced Computer Science I</title>
  </head>

  <body>
    <h1>Advanced Computer Science I</h1>

    <h2>Journals</h2>
    <ul>
      <li><a href="Journals/J1002.html">J1002: Shell</a></li>
    </ul>
  </body>
</html>

As you add new journals, remember to update this index file.

Exercises[edit]

ExercisesExercisesIcon.png

Now that you've completed W1005, complete:

  •  J1002  Create a journal and answer all questions in W1002. Be sure to include all sections of the journal, properly formatted.
  • Familiarize yourself (using other sources) with all HTML elements used above, including:
    • html
    • head
    • body
    • title
    • a
    • p
    • h1, h2, h3...
    • ul
    • li

Journal Checklist[edit]

1 Copy the Template

Copy template.html to new file (for example J1002.html)
Include your external, site style sheet in the header

2 Edit the new Journal

Be sure your name is correct
Be sure the date is the first date that you are working on the file
Be sure to note from whom you received assistance
Be sure to note to whom you provided assistance
Answer every question in every section. The number of questions and sections vary by lesson so be sure to complete all of them.

3 Answer the open-ended Questions

What did I learn? What is the “bid idea”?
What challenges did I encounter?
How could this experience be improved?
Free Reflection: How has what I’ve learned affected my thinking?

4 Set permissions

Execute the ./setPermissions.sh script. Ensure that all directories are traversable and all files are readable by “other”.

5 Add link to index

Add a link to the new journal to your index.html file.

6 Final Checklist

Ensure that the journal is visible at the correct URL.
Ensure that the journal is navigable from your Digital Portfolio Home Page
Ensure that the journal is styled sufficiently to express your creativity
Ensure that the journal page is validated by https://validator.w3.org
Ensure that your CSS files are validated by https://jigsaw.w3.org/css-validator/



Experience Metadata

Experience ID W1005
Next experience ID
Unit Lab basics
Knowledge and skills §10.111
§10.112
§10.121
§10.651
Topic areas Reflection
Classroom time 20 minutes
Study time 30 minutes
Acquired knowledge understand the purpose of a digital journal
understand the purpose of reflection
Acquired skill creating a digital journal in the proper format
Additional categories