OPS145 Weekly Schedule Newversion

From Littlesvr Wiki
Jump to navigation Jump to search

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
  • Professor introduction
  • How to be successful. Grades don't matter, hard work does.
  • A bad start will almost always lead to a bad finish.
  • Hardware requirements, laptop strongly recommended
  • Course policies
  • What is a computer
  • What is software, source code
  • What is open source
  • Different Licences and why they matter
  • Short Linux history
  • Linux distributions
  • Who uses Linux
Course Introduction
Week 2:
11 - 15 september
Workstation setup
  • Virtualization
  • Install VirtualBox and a Linux Mint Workstation VM. Including GuestAdditions.
  • Work in full screen.
  • Make snapshots, and backups.
  • Experiment with system settings, applets
  • Firefox for web browsing
  • Thunderbird - connect to student email
  • Installing extra software
  • File manager
  • Graphical text editor
  • Terminal
  • ls, cat, less, cd
  • How to submit labs in this course
Lab 1
Week 3:
18 - 22 september
Linux terminal
  • Why a terminal is useful, and used all the time.
  • Command arguments; revisit ls
  • Hidden files
  • man pages: search techniques, scrolling, quitting
  • Never ever use Ctrl+z for any reason.
  • Ctrl+c and wait, or close the terminal if that doesn't work.
  • pwd, mkdir, tree/find, rm, mv, cp and their common arguments
  • Case sensitivity for file names, command arguments
  • wget, tar to extract sample files and directory structures
  • Command history, history command
  • Reading error messages. They're not always obvious, and on rare occasions they are plain wrong.
  • Minimal vi: modes, move cursor, save and exit, exit without saving.
Lab 2
Week 4:
25 - 29 september
Paths, symbolic links
  • root directory
  • Absolute paths
  • Relative paths
  • Your home directory
  • Relative-to-home paths
  • Revisit ls, cat, less, pwd, mkdir, rm, mv, cp with more complicated paths
  • Creating and using symbolic links
  • echo $PWD, export
Lab 3
Week 5:
2 - 6 october
Wildcards, quotes
  • *
  • ?
  • Single & double quotes to work with filenames with spaces
  • Back-quote does something else
  • Revisit ls, cat, mkdir, rm, mv, cp with spaces and special characters
  • Mismatched quotes
  • Quotes to work with filenames with special characters, and other quotes
  • Variables in single, double quotes
Lab 4
Week 6:
10 - 13 october
(monday is a holiday)
Catch-up week
Week 7:
16 - 20 october
Evaluation
  • Midterm test
Study Week:

23 - 27 october

Week 8:
30 october - 3 november
Standard input/output/error
  • New commands: grep, head, tail, wc
  • Every Linux application has STDIN, STDOUT, STDERR
  • Redirect STDOUT to file
  • Redirect STDERR to file
  • Redirect STDERR to /dev/null
  • Many commands can read from STDIN. E.g.: cat, less, tar, grep, head, tail
  • The STDOUT from one command can be piped to the STDIN of another
Lab 5
Week 9:
6 - 10 november
Binary, permissions, boolean logic
  • What is binary and why it matters
  • Representing numbers from 0 to 255 as bits in a byte
  • Representing numbers from 0 to 7 in 3 bits
  • User, group, others permissions for files
  • User, group, others permissions for directories
  • Practice using file and directory permissions
  • Binary AND/OR
  • Running multiple commands at the same time with ;, &&, ||
Lab 6
Week 10:
13 - 17 november
SSH, SCP
  • Create an account on ops345.ca for ssh practice
  • The "server" concept
  • Using ssh to control a remote Linux server
  • Remote credentials don't need to match local credentials
  • Permissions work the same way, they apply to the user who is logged in
  • Practice with permissions on files you own and files you don't own
  • Copy files between Linux machines using scp
  • Copy directories
  • Note how ownership applies to files transferred between systems
Lab 7
Week 11:
20 - 24 november
Trivial shell scripting
  • echo command
  • Hello world shell script with shebang line and optional .sh extension
  • Simple scripts using commands from the course so far
  • Sample scripts simulating repetitive human-error-prone tasks
  • Simple backup script
  • Simple "print report" script
Lab 8
Week 12:
27 november - 1 december
Still simple shell scripting
  • Bash is not a general-purpose programming language
  • if/else
  • Return codes
  • Using existing and creating new variables
  • Better versions of scripts from previous week
Lab 9
Week 13:
4 - 8 december
Review week
Week 14:
11 - 13 december
(wednesday is last day)
Exam