This page contains an overview of expected learning outcomes from all labs. It can be useful if you are searching for a particular topic but do not remember in which lab the topic was covered.
Lab #1
Conceptual knowledge
- explain why graphical user interface is not a fixed part of Linux
- list several differences between various graphical interfaces available in Linux
- explain in broad terms what is a Linux distribution
- explain what can be understood under the term of unix family of operating systems
- list a few types of assets that are typically needed for software projects
- explain in broad terms what is a versioning tool
- explain fundamental high-level operations of versioning tools
Practical skills
- boot your own machine into Linux (either via USB, dual-boot or virtualized)
- log in to a graphical Linux environment
- log in to the faculty instance of GitLab
- create a new project in GitLab
- upload a new file to GitLab via its web user interface and create a commit from it
- edit existing files in a GitLab project using its web interface
- customize a selected graphical environment
- create a basic GitLab issue in a given project
Lab #2
Conceptual knowledge
- list pros and cons of using a command-line interface vs a graphical one
- explain the difference between a terminal (emulator) and a shell
- explain what is a path to a file
- explain difference between a relative and an absolute file path
- explain what are shell (filename) wildcards
- explain what are command-line options (switches)
- explain usefulness of
--delimiter (when using wildcards on specifically named files) - explain what is a home directory
Practical skills
- start and close (exit) a terminal emulator
- customize a selected terminal emulator
- browse through a filesystem via text user interface tools (e.g.
mcorranger) - browse through a filesystem using commands
lsandcd - use basic switches of the
lscommand such as-l,-hor-a - use wildcards to apply commands to specific subsets of filenames
- run own Python programs from the command line
- view contents of text files using the
catutility - view contents of binary files in hexadecimal using the
hexdumputility - identify file type by using
fileutility - use (basic operations) of the built-in manual pages
- use clipboards available in a graphical interface on Linux
- use tab completion to effectively write file names and paths
- use irregularly named files