{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Final Exam review exercises\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Static and shared libraries. Header files. \n",
    "\n",
    "- Install package `libgpg-error-dev` on your desktop.\n",
    "- What are the file names that contain static libraries, dynamic libraries, and header files in the package?\n",
    "- Specify the commands you used to find the file names."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<hr>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Static and shared libraries\n",
    "\n",
    "- Install package libgsl-dev on your desktop.\n",
    "- What are the file names that contain static and dynamic libraries in the package?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Compilation and Makefiles\n",
    "\n",
    "Find three examples of source code for matrices with Gnu Scientific Libraries (GSL) at the link below:\n",
    "https://www.gnu.org/software/gsl/doc/html/vectors.html#example-programs-for-matrices\n",
    "\n",
    "Store them in three files:\n",
    "- <tt>matrix_alloc.c</TT>\n",
    "- <TT>matrix_file.c</TT>\n",
    "- <TT>matrix_view.c</TT>\n",
    "\n",
    "A) Compile each of the files: <TT>matrix_alloc.c,  matrix_file.c,  matrix_view.c\n",
    "</TT>,  and run the executables. \n",
    "<br>\n",
    "B) Develop a  <TT>Makefile</TT> with the targets to compile each of the files.\n",
    "<br>\n",
    "C) Install <TT>make</TT> and run it for the targets.\n",
    "\n",
    "<br><br>\n",
    "\n",
    "<hr>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. Python scripting\n",
    "\n",
    "Start jupyter notebook in directory Python.\n",
    "\n",
    "The tasks below, should be completed within jupyter notebook:\n",
    "\n",
    "A) Create nested directory tree DIR1/DIR2/DIR3\n",
    "\n",
    "B) Write words 'task1', 'task2', 'task3', and 'task4', each in new line, into file `output.txt` in directory DIR1/DIR2/DIR3\n",
    "\n",
    "<hr>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. Python scripting\n",
    "\n",
    "A) Write a python script to find all files with extension ```.script``` in directory /usr.\n",
    "<br>\n",
    "B) Modify the script to provide the searchable filename as an argument.  Run the scipt to find files with extensions ```.script```, then ```.conf```\n",
    "\n",
    "***"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 6. Task scheduling\n",
    "\n",
    "- A) Schedule the script in 5A to run once on July 9 at 11 pm.\n",
    "- B) Schedule the script in 5A to run every Wednesday at 10:15 AM."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
