KUAS Engineering

Class plans

Recurring procedures

After class: post next week's a self-assessment quiz on the Teams channel

When creating the SAQ in Forms…

  • in settings, select “anyone in my org” and both options underneath it
  • in “Responses” tab:
    • Open in excel (to download data, which enables…)
    • in “…” just above download button, click “Delete all data”
    • answer in the affirmative

In Teams…

  • delete the previous week's SAQ from the Teams > General tabs bar
  • click “+” on the Teams > General tabs bar
  • choose “Forms” > Add an existing form > choose appropriate form
  • select “collect responses” in the drop-down
  • deselect “post to channel” if not wanted
  • click “Save”

Review the aggregate scores in Forms webapp

After class: post next week's assignment with attachment

In Teams…

  • click Assignments
  • click Create
  • title = week number + topic description
  • instructions = what to do
  • check assigned to whole class
  • set due date 23:30 following Friday
  • click “Assign”

flip

plan

  • tools
  • strategies
  • learning outcomes
    • what do students need to do to achieve the outcomes
  • student’s learning activities ⇒ creating meaning and subsequent understanding
  • correct learning environment ⇒ students empowered to take ownership of their learning ⇒ engaged students =. active, ‘producing’ students

self-prep

  • video
  • immediate check
    • quiz, project, try-it-yourself with additional twists
  • low-level learning outcomes
    • how to make the parts work
      • scenarioS with worked step-by-step solutions

class: problem solving, creating, critiquing, and synthesizing; students are working together and solving problems

  • mini-lectures where appropriate
  • workshop
  • collaborative project
  • quiz-swap-check
  • student-led activities
  • worksheet
  • problem solving
  • reflective writing
  • high-level learning outcomes
    • how to combine and/or apply the parts to situations or problems
      • mini projects involving multiple tools
      • reflective writing or content creation to summarise learning
      • scenario using same steps as prep, but no explicit steps provided
      • Scenarios asking which tools would be applied but no actual follow through needed

https://www.researchgate.net/profile/Barry_Ryan/publication/269584315_Flipping_Over_Student-Centred_Learning_and_Assessment/links/583d994408ae61f75dc468e9/Flipping-Over-Student-Centred-Learning-and-Assessment.pdf?origin=publication_detail

Week 01 E-mail

slides: il-01.pdf

presentation of IL

presentation of course web site

course requirement: initiative and autonomy

  • use all available resources to research information you need to pass the class
    • course web site, encyclopedias (wikipedia), online search engines (blogs, tutorials, etc.)

learning strategy

  • get a notebook for writing down useful information, URLs, etc.
    • use your laptop if you have to, but you will learn better if you write by hand
  • write down anything useful I present using slides, or as verbal comments, in-class
    • there is no guarantee that the same information is written down elsewhere

presentation of e-mail

  • brief explanation of parts and netiquette

exercise

  • reply to the e-mail that Mr. Katsuma sent to you
  • follow the instructions that were attached to that e-mail
  • if you have questions
    • discuss with the person sitting next to you
    • if both of you are stuck, raise your hand and ask an instructor for help

-15 minutes: presentation of continuation exercise

  • ask the person next to you for their ID or e-mail address
  • do the “further practice” assignment on the course web site with them
  • help your partner to write better e-mails
  • keep practicing until your e-mails are perfect

-10 minutes: presentation of next week's class and ongoing model of learning

  • read the online material on the course web site
  • complete the online proficiency check questionnaire
    • perform your own research to fill in any gaps in your knowledge
    • make a note of any good sources of information you come across
  • do the self-preparation exercise before class
  • make sure you understand the material before coming to class
    • there will be very little time for review in the class
  • when arriving for class next week, choose a seat according to your comfort with the material
    • sit near the front if you are not comfortable with the material
    • sit near the back if you are very comfortable with the material
  • do the in-class exercise in class (duh)

Week 02 Word

review of self-preparation exercise

  • expected result

review of self-assessment questionnaire

  • topics to be discussed during class

presentation of class notebook

  • perform your own research to fill in any gaps in your knowledge
  • make a note of any good sources of information you come across
  • add that information to the class notebook
    • sign your entries with your student ID – you may receive credit for your contributions at the end of the course

presentation of text and word processing

  • brief explanation of text files and processing
  • brief explanation of word processing; follow-along intros to
    • the menu bar tabs, ribbon, groups, ruler, etc.
    • formatting, styles, etc.
    • headers, footers
    • citations and references
    • images and text flow
  • emphasize that these explanations will be shorter in coming classes
    • it is expected and necessary to complete the self-preparation and -assessment before class
    • these are your entire homework for this class
    • spend up to five hours researching, practicing, and trying to make your self-assessment perfect!

self-preparation quiz

  • complete the self-assessment quiz
  • continue to revise your answers as you perform your research for the self-preparation exercises

self-preparation exercise

GRADING

On the main page for Week 02 there is a list of 15 formatting tasks that the students are asked to perform. Check their submitted work. They earn 1 point for each of the tasks they have completed, up to a maximum of 10 points.

in-class exercise

  • download the example documents and choose one of them
    • facts and figures about the University
    • summary of information literacy, with references
    • how to write a good e-mail
  • format the content of the document to make it similar to the sample document
  • if you have questions
    • discuss with the person sitting next to you
    • if both of you are stuck, raise your hand and ask an instructor for help

challenge

  • insert charts, shapes, or smart art into a document.
  • create a document with more than one column
  • mix different column counts on the same page

https://www.kpl.org/sites/default/files/intro-word-practice.pdf

https://creativebooster.net/products/free-modern-elegant-photo-cv-resume-template-in-microsoft-word-doc-format

Week 03 PowerPoint

From this week onwards the grading system changes slightly:

  • Friday after previous class the self-preparation assignment and self-assessment quiz for this class are posted
  • Thursday the students should submit their self-assessment questionnaires; they do not need to submit their self-preparation assignment
  • Friday during class they will receive their real assignment which will be graded
    • students with no problems can work on it by themselves in-class with help from instructors
    • weaker students can join my review of the low average score items in the questionnaire, and ask their own questions
  • 23:59 is the deadline for the assignment to be turned in (should this be Sunday?)
    • they can score up to 10 points for the assignment

https://www.inf.ed.ac.uk/teaching/courses/pi/2016_2017/phil/tufte-powerpoint.pdf

http://web.mit.edu/5.95/readings/doumont-responds-to-tufte.pdf

https://files.eric.ed.gov/fulltext/EJ1000695.pdf

Create a presentation about yourself or some favorite topic

Instructions: 03-in-class.pptx

Funny stuff

Don McMillan: Life After Death by PowerPoint

Week 04 Excel

Excel

https://contexturesblog.com/archives/2009/07/13/14-basic-skills-for-excel-users/

https://engineering.sjsu.edu/e10/labs/excel/

https://engineering.sjsu.edu/e10/wp-content/uploads/E10-Excel-Lab-Exercises-F18.doc

https://www.cours-gratuit.com/excel-courses/excel-pdf-training-for-engineers

https://www.cours-gratuit.com/excel-courses/excel-data-analysis-training-course

https://onemat.files.wordpress.com/2012/05/ebooksclub-org__excel_for_scientists_and_engineers__numerical_methods.pdf

video scripts

Self-preparation assignment [5 points]

  1. Create an Excel spreadsheet to track your scores in each of your classes.
  2. The spreadsheet should show your percentage score so far, and the predicted percentage score based on known results.
  3. Use conditional formatting to shade actual or predicted percentages less than 60 percent in red.
  4. One way to do this would be to make a column for each week of the semester.
  5. For each class use two rows.
  6. The first row contains the scores obtained each week, and the second row contains the maximum score possible each week.
  7. Calculate the actual percentage grade from the sum of scores already obtained (SUM function) divided by the sum of possible score for all 15 weeks (SUM function).
  8. Calculate the predicted percentage grade from the sum of scores already obtained (SUM function) divided by the sum of possible scores for those weeks that have a reported score (SUMIF function).
  9. Find out about the VLOOKUP function.
  10. Use it to convert the actual and predicted percentage scores into a letter grade.
  11. A sample of my spreadsheet is attached (showing how much I suck at maths).

04-self-preparation-sample

Self-preparation challenge
  1. Watch video 13 and reproduce the experiment

Self-assessment questionnaire

In-class assignment [10 points]

  1. Create a spreadsheet to track and predict your scores and grades. [5 points]
  2. Import a data set and use Excel to smooth the data and visualise it in different ways. [5 points]

Assignment attachments: 04-in-class.xlsx 04-METARs.csv

In-class challenge exercise [1 bonus point]
  1. Reproduce the LPF example from video 13, if you have not done so already.
  2. Implement the HPF example described at the end of video 13.
  3. An audio amplifier usually has a big capacitor at the output, to protect the loudspeaker from DC voltages that would destroy it.
  4. The loudspeaker is connected to ground.
  5. The output capacitor and loudspeaker therefore form a high-pass circuit (capacitor in series, loudspeaker in parallel, with the signal).
    • This is logical, if you think about it, because DC voltage has a frequency of 0 Hz and we want to completely attenuate it.
  6. A typical loudspeaker has an impedance (resistance) of 8 Ohms.
  7. A very good amplifier will try to reproduce low frequencies faithfully, which means having a very big capacitor on the output to balance the very low resistance of the loudspeaker.
  8. If we want the amplifier output power to be attenuated by only 3 decibels (an attenuation of approximately 0.709 from the capacitor-resistor high-pass filter combination), what value of output capacitor do we have to use with an 8 Ohm loudspeaker?

Week 05 Filesystems

Outcomes:

  • Know how to describe sizes of storage using SI and IEC prefixes
  • Know the purposes of file systems
    • storing user documents and data
    • storing applications
    • storing the OS and system programs
    • virtual memory
  • How data is stored physically on a disk
    • a fixed number of fixed-size blocks usually 512 bytes long
  • How the OS organises that data into allocation units
    • default on Windows is 4096
    • smaller AUs waste less space from unused internal space
    • smaller AUs increase fragmentation of files split over many smaller units instead of one larger unit
    • larger AUs waste less space in the tables that remember which blocks are free and which belong to which files
  • How the OS imposes organisation on blocks of data as files and directories
    • a directory is a map from file names to file contents
      • when you open a folder in Mac Fider or Windows Explorer, you are looking at a file directory
      • every entry in the directory has a unique name
      • every entry in the directory associates that name with some storage on the disk where the contents are stored
      • the structure describing where the contents are stored is called an index node (inode)
    • inodes contain contain all the information relating to a file's contents
      • file type: regular, directory, symbolic link, “special” (files connected to physical device /dev or processes /proc or system information /sys)
      • file permissions (security: who can access the file to read, write, execute it)
      • file ownership (who created it)
      • file size (total number of bytes in the file)
      • link count (how many directory entries point to the index node)
      • timestamps: creation, modification, access
      • a list of AUs where the contents of the file are physically stored on the disk * if the file is larger than one AU, they will all be listed here
  • How files and directories are organised
    • tree structured hierarchy
    • directories are really just files too, and are themselves named within a “parent” directory
    • only one directory has no name: the “root” directory which is at the top of the tree structure
    • to specify a file or directory, start at the root and describe the “path” to the file down the tree hierarchy
      • each element in the path is separated by a “/”
      • the root directory has no name (it is empty)
      • e.g: /Users/piumarta/Documents/things-to-remember.txt * under the root directory look in Users dir then piumarta dir them Documents dir for file things-to-remember.txt
    • on Windows each attached volume (disk, more or less) has a drive letter, e.g., “C:”
      • each element in the path is separated by a “"
      • e.g. C:\Users\piumarta\Documents\things-to-forget.txt * on the C drive, under the root directory look in (… as above …) for the file things-to-forget.txt
    • the list of directory names, followed by a file name, is called the path name of the file
  • How data is stored logically on the disk.
    • your application “opens” a file based on its path name
      • after opening the file, the application can read bytes from or write bytes to the file
      • the file appears to be a contiguous sequence of bytes, even if underlying storage is non-contiguous allocation units on the actual disk
      • any fragmentation of the file into multiple AUs is completely hidden from the application

how big is a file?

  • measured in bytes

what is a byte?

  • eight bits of digital information (eight 0s or 1s)
  • in other words, a number between 0 and 255

what can you keep in a byte?

  • one byte can contain, e.g., one character of a text file in a European language
  • two bytes can represent most Japanese characters, or a single sample of CD-quality audio
  • four bytes can represent any character on the planet, or a stereo pair of samples for CD audio, or a pixel colour value with transparency (red, green, blue, alpha)
  • bytes are so small that we are used instead to dealing with multiples of them:
    • kilobytes, megabytes, gigabytes

note on SI units and orders of magnitude

prefix multiplier name
p 10-12 pico
n 10-9 nano
μ 10-6 micro
m 10-3 milli
1
k 103 kilo
M 106 mega
G 109 giga
T 1012 tera
P 1016 peta

Memory hierarchy = cpu / ram / hdd ssd / nas / backup

level size speed / latency / bandwidth cost
cpu a few kB fastest .333 ns 2 TB/s very expensive
cache a few MB very fast 10 ns 0.5 TB/s quite expensive
ram tens of GB fast 50 ns 25 GB/s expensive (10$/GB)
ssd a couple TB medium 1 ms 500 MB/s medium (100 GB/$)
hdd tens of TB slow 10 ms 125 MB/s cheap (300 GB/$)
nas a PB slow 10 ms 100 MB/s cheap (300 GB/$)

https://lh3.googleusercontent.com/D1tZNSvoc5MzwnXxmoq3_cqAU1GnNRN5J2Xh9z931OC29ffEY9r8sz5EpD_lZldnw9T9hgiym9phkeW2ao4I4mqU8vbrOD--2m2JVUHBvWtIimahHP4LAcDJMpa3Dphi_p1Jk0jo

Permanent storage of files ⇒ hdd ssd

software architecture

application
OS virtual file system
file system (NTFS, AFS, EXT4)
disk fixed size blocks
cylinders, heads, sectors

https://www.brainbell.com/tutors/A+/Hardware/_Geometry.htm

filesystem requirements

  • naming
  • organisational principle
    • categories, compartments
  • mapping onto low-level storage
    • cyls heads sectors presented as blocks sequentially numbered

https://opensource.com/life/16/10/introduction-linux-filesystems

self-prep

install a POSIX environment with terminal (command line) interface

  • mac: you already have it (Terminal.app + Darwin, the Unix-based OS underneath the mac UI)
  • lin: you already have it (Xterm, Konsole, etc., + the Linux filesystem which is POSIX compatible)
  • win: you need to install either
    • MobaXterm (a terminal, command line shell, and POSIX compatibility)
    • WSL (a port of Linux to Windows that can run Linux applications directly)
    • a virtual machine (VMWare Player or VirtualBox) with Linux or BSD guest OS

you must do this before class or you will not be able to complete the in-class assignment

Finder/Explorer vs. the command line: file system layout and navigation
Why using the command line will make you ten times more productive and a more effective engineer
+++ Everyone has to submit a text file for the next week's class.
    Content of the file has to be non-trivial but easy to generate.
    About a paragraph to a page is OK.
    Make it something interesting to read.

Week 06 Command line

“You do not rise to the level of your goals. You fall to the level of your systems.” – James Clear

http://web.cs.ucla.edu/~miryung/teaching/EE461L-Spring2012/labs/posix.html

https://wiki.lib.sun.ac.za/images/c/ca/TLCL-13.07.pdf

https://swcarpentry.github.io/shell-novice/

https://flaviocopes.com/bash/

https://flaviocopes.com/bash-scripting/

http://www.ee.surrey.ac.uk/Teaching/Unix/

Outcomes:

  • understand the difference between absolute and relative path names
  • understand the need for relative path names and therefore the need for the concept of CWD
  • know how to convert to/from absolute path name and path name relative to some CWD
Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 07 Command line: command sequencing

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 08 Command line: variables

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 09 Command line: loops and conditionals

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 10 The Internet

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 11 Data mobility

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 12 The WWW

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lines for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 13 Content creation

self-prep assignment

  • research how to write a simple web page
    • suggestions…
  • research how simple CSS works
    • suggestions…
Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 14 Web applications and cloud services

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)

Week 15 Safety and security

Commands and arguments versus words in text
Searching, sorting, modifying, analysing data stored in text files using command-line tools
Standard input and output, pipelines: combining simple commands to perform more complex tasks
using CSV and text files (e.g., from "office" tools) as simple databases
Editing plain text files
+++ Extract, analyse and generate a report on the contents of many files,
		 and e-mail the script and its results to your instructor
+++ Count characters, words, lins for many text files.
    Generate a CSV file containing the raw data.
    Import the data into a spreadsheet.
    Analyse the number of caracters per word, words per line, words per file, lines, per file, etc.
    (wc command piped into tr command to change spaces into commas)
+++ Using same data files calculate a histogram of word usage.
    Alphabetical list of unique words used with a count of how many times they are used.
    (sort command)