One must pass the exam in order to receive a grade from the course. The exam is taken in Moodle, where you log in using your University account.

Rules in the exam:

  • Exam is open in Moodle during the following times:
    • Starting 12.02.2024 at 16:00 and ending 03.03.2024 at 23:59.
    • Starting 15.04.2024 at 16:00 and ending 05.05.2024 at 23:59.
  • Students can start the exam anywhere and anytime they wish, as long as it started and completed in the above timeslots.
  • You have three (3) hours to pass the exam.
  • Students are allowed to use the internet during the exam.
  • Students are allowed to search for information on the internet and visit for example forums or other similiar resources during the exam.
  • Students can also test out any commands they wish: actually this is highly recommended and sometimes even necessary. Make sure you pass the exam in a Unix-like environment or Windows’ bash shell.
  • The exam must be taken alone. Students are not allowed to work together during the exam. Asking for help from a course assistant or any other person directly or indirectly is strictly forbidden. Students also must not use others’ answers as their own. All such acts are perceived as cheating and will have consequences.
  • The computer you pass the exam on has to have Git installed.
  • If you have access to the CS department’s computers, we recommend passing the exam on one of them.
  • Each question and answer option is written in Finnish and in English. Please let us know immediately if this is not the case.
  • The exam consists of mostly multiple choice questions, and “short answers”, where the answer is for example a command name. In some questions the user is required to for example download a file and run commands on the command line.

Grading:

  • The grading scale is the following:
    • Failed
    • 3
    • 5
  • The exam counts for 18 points.
  • Minimum of 9 points from the exam are required for passing the course.
  • Exercises from each part count for 2 points. A total of 6 points can be earned by doing the exercises.
  • A total of 17 combined exam and exercise points are required for the grade 5.
  • If you don’t pass the exam, you can retake it for an unlimited amount of times, until . There must be a week between each retake.
  • The exam contains exercises of one and two points.
  • Moodle gives you an unofficial grade which you can see in your gradebook. This unofficial grade might be incorrect if you score under 9 points in exam.

Subjects covered in the exam

Here is a list of things covered in each part of the material:

The goal is that after the first week, the student will

  • Understand the differences between a graphical and a command line user interface.
  • Be able to navigate through files and folders on the command line.
    • ls and the options -a and -l
    • cd
    • mkdir
  • Know how to open and create, save and close a file with a command line text editor.
    • nano
    • vim
  • Know how to use relative and absolute paths for referring to files and folders.
  • Understand the difference between the root and home folder.
  • Be able to copy, cut and paste files and folders from the command line.
  • Know how to give several files and folders as arguments using the \* wildcard.
  • Know how to handle text with the following commands:
    • cat
    • tail and head with the option n
    • grep
  • Know how to handle output with the following commands:
    • The pipe |
    • > and >>
  • Know how to create an SSH key pair, and form an SSH connection to another system.
  • Know how to fetch content from the internet from the command line.
    • wget
  • Know how to read the output of the command ls -l.
  • Know how to edit the permissions of files and folders.
    • chmod
  • Know how to write a simple bash script and run it.
    • The material only has echo as an example: no further bash skills are required
  • Understand the implications and dangers of the sudo command.

The goal is that after the second week, the student will

  • Understand the motivations for using version control.
  • Know how to create a Git project.
  • Understand what a commit is and knows how to create one.
  • Understand the different states a change goes through before it's added to a commit.
  • Understand what the main branch is.
  • Know how to read the output of the command git status
  • Know how to create a repository on GitHub and add it to an existing Git project.
  • Know how to use GitHub through an SSH connection.
  • Know how to publish locally made commits.
  • Know how set locally made changes aside to the stash, and how to get them back.
  • Know what a merge commit is.
  • Know what a merge conflict is.
  • Understand how a merge conflict is formed.
  • Know how to solve a merge conflict.
  • Know how to view old commits on GitHub and the command line, and how to move back to the latest commit of the main branch after checking out old ones.
  • Know how to clone a Git project to their local machine.
  • Understand how GitHub can be used in team projects.
    • Know what an issue is.
    • Know what forking a project means.
    • Know what a pull request is.

The goal is that after the third week, the student will

  • Understand what a static website means.
  • Understand what HTML is and what it's used for.
  • Know what an HTML element is and what it consists of.
  • Know what an HTML document consists of.
  • Know how to correctly indent HTML and understands the syntax.
  • Know how to place elements on a web site.
  • Know how to make a simple web page more readable
  • Know what CSS is and what it is used for.
  • Know how to use the most common features of CSS
  • Know how to publish static web pages written with vanilla HTML and CSS