OPS145 Weekly Schedule Newversion: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 33: | Line 33: | ||
<td style="border-bottom: thin solid black;">'''L''<nowiki/>''inux terminal''' | <td style="border-bottom: thin solid black;">'''L''<nowiki/>''inux terminal''' | ||
<ul> | <ul> | ||
<li>Why a terminal is useful, and used all the time.</li><li>Command arguments; revisit ls</li><li>man pages: search techniques, scrolling, quitting</li><li>Never ever use Ctrl+z for any reason.</li><li>Ctrl+c and wait, or close the terminal if that doesn't work.</li><li>pwd, mkdir, tree/find, rm, mv, cp and their common arguments</li><li>Case sensitivity for file names, command arguments</li><li>wget, tar to extract sample files and directory structures</li><li>Command history, history command</li><li>Reading error messages. They're not always obvious, and on rare occasions they are plain wrong.</li><li>Minimal vi: modes, move cursor, save and exit, exit without saving.</li> | <li>Why a terminal is useful, and used all the time.</li><li>Command arguments; revisit ls</li><li>Hidden files</li><li>man pages: search techniques, scrolling, quitting</li><li>Never ever use Ctrl+z for any reason.</li><li>Ctrl+c and wait, or close the terminal if that doesn't work.</li><li>pwd, mkdir, tree/find, rm, mv, cp and their common arguments</li><li>Case sensitivity for file names, command arguments</li><li>wget, tar to extract sample files and directory structures</li><li>Command history, history command</li><li>Reading error messages. They're not always obvious, and on rare occasions they are plain wrong.</li><li>Minimal vi: modes, move cursor, save and exit, exit without saving.</li> | ||
</ul> | </ul> | ||
</td> | </td> | ||
Line 40: | Line 40: | ||
<tr valign="top"> | <tr valign="top"> | ||
<td width="20%" style="border-bottom: thin solid black;">'''Week 4:'''<br>25 - 29 september<br></td> | <td width="20%" style="border-bottom: thin solid black;">'''Week 4:'''<br>25 - 29 september<br></td> | ||
<td style="border-bottom: thin solid black;">'''P''<nowiki/>''aths'''<ul> | <td style="border-bottom: thin solid black;">'''P''<nowiki/>''aths, symbolic links'''<ul> | ||
<li>root directory</li><li>Absolute paths</li><li>Relative paths</li><li>Your home directory</li><li>Relative-to-home paths</li><li>Revisit ls, cat, less, pwd, mkdir, rm, mv, cp with more complicated paths</li><li>echo $PWD, export</li> | <li>root directory</li><li>Absolute paths</li><li>Relative paths</li><li>Your home directory</li><li>Relative-to-home paths</li><li>Revisit ls, cat, less, pwd, mkdir, rm, mv, cp with more complicated paths</li><li>Creating and using symbolic links </li><li>echo $PWD, export</li> | ||
</ul></td> | </ul></td> | ||
<td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 3 Newversion|Lab 3]]</td> | <td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 3 Newversion|Lab 3]]</td> | ||
Line 74: | Line 74: | ||
<td width="20%" style="border-bottom: thin solid black;">'''Week 8:'''<br />30 october - 3 november | <td width="20%" style="border-bottom: thin solid black;">'''Week 8:'''<br />30 october - 3 november | ||
</td> | </td> | ||
<td style="border-bottom: thin solid black;">''''''<ul> | <td style="border-bottom: thin solid black;">'''S''<nowiki/>''tandard input/output/error'''<ul> | ||
<li></li> | <li>New commands: grep, head, tail, wc</li><li>Every Linux application has STDIN, STDOUT, STDERR</li><li>Redirect STDOUT to file</li><li>Redirect STDERR to file </li><li>Redirect STDERR to /dev/null</li><li>Many commands can read from STDIN. E.g.: cat, less, tar, grep, head, tail</li><li>The STDOUT from one command can be piped to the STDIN of another</li> | ||
</ul></td> | </ul></td> | ||
<td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 5 Newversion|Lab 5]]</td> | <td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 5 Newversion|Lab 5]]</td> | ||
Line 81: | Line 81: | ||
<tr valign="top"> | <tr valign="top"> | ||
<td width="20%" style="border-bottom: thin solid black;">'''Week 9:'''<br>6 - 10 november<br></td> | <td width="20%" style="border-bottom: thin solid black;">'''Week 9:'''<br>6 - 10 november<br></td> | ||
<td style="border-bottom: thin solid black;">''''''<ul> | <td style="border-bottom: thin solid black;">'''Binary, permissions, boolean logic'''<ul> | ||
<li></li> | <li>What is binary and why it matters</li><li>Representing numbers from 0 to 255 as bits in a byte</li><li>Representing numbers from 0 to 7 in 3 bits</li><li>User, group, others permissions for files</li><li>User, group, others permissions for directories</li><li>Practice using file and directory permissions</li><li>Binary AND/OR</li><li>Running multiple commands at the same time with <code>;</code>, <code>&&</code>, <code>||</code></li> </ul></td> | ||
<td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 6 Newversion|Lab 6]]</td> | <td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 6 Newversion|Lab 6]]</td> | ||
</tr> | </tr> | ||
<tr valign="top"> | <tr valign="top"> | ||
<td width="20%" style="border-bottom: thin solid black;">'''Week 10:'''<br>13 - 17 november<br></td> | <td width="20%" style="border-bottom: thin solid black;">'''Week 10:'''<br>13 - 17 november<br></td> | ||
<td style="border-bottom: thin solid black;">''''''<ul> | <td style="border-bottom: thin solid black;">'''S'''<nowiki/>'''SH, SCP'''<ul> | ||
<li></li> </ul></td> | <li>Create an account on ops345.ca for ssh practice</li><li>The "server" concept</li><li>Using ssh to control a remote Linux server</li><li>Remote credentials don't need to match local credentials</li><li>Permissions work the same way, they apply to the user who is logged in</li><li>Practice with permissions on files you own and files you don't own</li><li>Copy files between Linux machines using scp</li><li>Copy directories</li><li>Note how ownership applies to files transferred between systems</li> </ul></td> | ||
<td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 7 Newversion|Lab 7]]</td> | <td style="border-bottom: thin solid black;font-weight:bold;">[[OPS145 Lab 7 Newversion|Lab 7]]</td> | ||
</tr> | </tr> | ||
<tr valign="top"> | <tr valign="top"> | ||
<td width="20%" style="border-bottom: thin solid black;">'''Week 11:'''<br>20 - 24 november<br></td> | <td width="20%" style="border-bottom: thin solid black;">'''Week 11:'''<br>20 - 24 november<br></td> | ||
<td style="border-bottom: thin solid black;">''''''<ul> | <td style="border-bottom: thin solid black;">'''T''<nowiki/>''rivial shell scripting'''<ul> | ||
<li></li> </ul> | <li>echo command</li><li>Hello world shell script with shebang line and optional .sh extension</li><li>Simple scripts using commands from the course so far</li><li>Sample scripts simulating repetitive human-error-prone tasks</li><li>Simple backup script</li><li>Simple "print report" script</li> </ul> | ||
</td> | </td> | ||
<td style="border-bottom: thin solid black;font-weight:bold;">[[OPS245 Lab 8|Lab 8]]</td> | <td style="border-bottom: thin solid black;font-weight:bold;">[[OPS245 Lab 8|Lab 8]]</td> | ||
Line 101: | Line 100: | ||
<tr valign="top"> | <tr valign="top"> | ||
<td width="20%" style="border-bottom: thin solid black;">'''Week 12:'''<br>27 november - 1 december<br></td> | <td width="20%" style="border-bottom: thin solid black;">'''Week 12:'''<br>27 november - 1 december<br></td> | ||
<td style="border-bottom: thin solid black;">''''''<ul> | <td style="border-bottom: thin solid black;">'''S''<nowiki/>''till simple shell scripting'''<ul> | ||
<li></li></ul> | <li>Bash is not a general-purpose programming language</li><li>if/else</li><li>Return codes</li><li>Using existing and creating new variables</li><li>Better versions of scripts from previous week</li></ul> | ||
</td> | </td> | ||
<td style="border-bottom: thin solid black;font-weight:bold;">[[OPS245 Lab 9 Newversion|Lab 9]]</td> | <td style="border-bottom: thin solid black;font-weight:bold;">[[OPS245 Lab 9 Newversion|Lab 9]]</td> | ||
Line 108: | Line 107: | ||
<tr valign="top"> | <tr valign="top"> | ||
<td width="20%" style="border-bottom: thin solid black;">'''Week 13:'''<br>4 - 8 december<br></td> | <td width="20%" style="border-bottom: thin solid black;">'''Week 13:'''<br>4 - 8 december<br></td> | ||
<td style="border-bottom: thin solid black;">'''Review'''</td> | <td style="border-bottom: thin solid black;">'''Review week'''</td> | ||
<td style="border-bottom: thin solid black;font-weight:bold;"></td> | <td style="border-bottom: thin solid black;font-weight:bold;"></td> | ||
</tr> | </tr> |
Latest revision as of 11:06, 26 October 2023
THIS PAGE IS WORK IN PROGRESS, GO HERE for the current usable version
Note: Each professor will indicate the due dates for labs, tests and assignments for their sections. This schedule is a general guideline for week-by-week content. |
Week | Objectives and Tasks | Labs | |
Week 1: 5 - 8 september (monday is a holiday) |
Course introduction
|
Course Introduction | |
Week 2: 11 - 15 september |
Workstation setup
|
Lab 1 | |
Week 3: 18 - 22 september |
Linux terminal
|
Lab 2 | |
Week 4: 25 - 29 september |
Paths, symbolic links
|
Lab 3 | |
Week 5: 2 - 6 october |
Wildcards, quotes
|
Lab 4 | |
Week 6: 10 - 13 october (monday is a holiday) |
Catch-up week |
||
Week 7: 16 - 20 october |
Evaluation
|
||
Study Week: 23 - 27 october |
|||
Week 8: 30 october - 3 november |
Standard input/output/error
|
Lab 5 | |
Week 9: 6 - 10 november |
Binary, permissions, boolean logic
|
Lab 6 | |
Week 10: 13 - 17 november |
SSH, SCP
|
Lab 7 | |
Week 11: 20 - 24 november |
Trivial shell scripting
|
Lab 8 | |
Week 12: 27 november - 1 december |
Still simple shell scripting
|
Lab 9 | |
Week 13: 4 - 8 december |
Review week | ||
Week 14: 11 - 13 december (wednesday is last day) |
Exam |