AIST3720 Agenda

Week 0 beginning Mon Jan 8

Preliminaries & Comments

  1. Classes start Mon Jan 8
  2. Microsoft Teams: We won't use Teams for online class sessions but it is helpful for one-on-one (or one-on-a-few) meetings and office hours Q&A. So visit Participation with MS Teams and be sure you can use Teams on at least one device. It may help to include the computer you intend to use for this course to help with screen sharing and trouble-shooting via Teams.
  3. Alert to Mac owners: Some of my videos are Windows media which on a Mac might get a blank / black screen; if so, visit the VideoLAN MacOS Page and download & install the correct player version for your Mac. After installation, if the videos don't play (at all or correctly) when you click a link, just drag the link down onto the VLAN icon and all should be well. This works on my Mac but let me know if you run into difficulties.
  4. Alert to Mac owners: If the Mac you will use for AIST 3720 has an M1 or M2 chip (e.g., see How to check if your Mac has an M1 chip) then you will emulate VMs for this course using UTM rather than virtualizing using VMware Fusion; in further documentation any reference to a Mac M1 chip applies also to M2 chips. Nothing actionable this week but be sure you are following the correct guidance for your computer later in the course.
  5. Alert to Windows PC owners: Please follow guidance at How to check if your CPU has Intel VT-x or AMD-V to verify that the PC you intend to use for class can support virtualization. If virtualization is disabled on your Windows PC you might look at How to enable vt-x (look for the section entitled Turn Intel VT-x On in Your BIOS or UEFI Firmware) to resolve the issue. Contact me immediately if you can't create VM's.
  6. Note that the Operating System Concepts Essentials textbook has a Student Companion Site
  7. Next Mon Jan 15 is MLK Holiday; no F2F classes

Read, Study, Execute

  1. Visit AIST3720 in D2L, logging in with your @augusta.edu credentials. Note: Logging into D2L for this course is how first week attendance will be checked.
  2. Read the Preface and Part 1. Overview from Operating System Concepts Essentials
  3. View video Course Overview from Linux Administration Bootcamp Notes: (1) I had to set the volume up from zero to 'unmute' when I first started a new video; (2) I found I could speed this presentation up to 2x and still understand it well; (3) the video playback automatically goes to the next video in the course; you are welcome to continue watching but can stop when finished with the assigned module(s)
  4. Read web article What is Windows Server Notes: (1) Ignore the ads
  5. TechPrac00 due Sun Jan 14  Note quick due date

Content & Presentation

  1. (Video) AIST3270 Kickoff
    1. Course processes, rules & regs
    2. Always complete the requirements in the TechPrac, not just what might be demonstrated in videos or guides
    3. If you run into questions or issues completing a TechPrac, reach out to me right away. Showing errors or typing explanations into D2L or deliverables is not a good way to get help or clarification.
    4. On screen caps: Try to capture the screen, not snap a picture with your phone ... much easier to read (usually). See, e.g., Take a screenshot on your Mac or 10 ways to take a screenshot on any Windows 10 device
    5. Be sure you can Access O'Reilly online texts
    6. Visit VMware on Brightspace for guidance on establishing a VMware subscription and downloading installs for VMware Workstation (for PCs) and VMware Fusion (for Intel Macs); if you have an M1 Mac (e.g., see How to check if your Mac has an M1 chip) the UTM emulator will be used instead (e.g., see Install UTM on an M1 Mac)
    7. Visit Azure Dev Tools for Teaching and Sign In with your @augusta.edu credentials; this gets you access to free-to-students software downloads and Azure resources. Once activated you can visit https://portal.azure.com and use your @augusta.edu credentials to get back to these assets
    8. Make sure you have 100 GB empty disk space on the computer you will use to hold your virtual machines (VMs) for class; consider purchasing a USB portable hard drive (not a thumb drive) if not -- this isn't a bad idea even if you have the disk space on your computer
    9. Time permitting a quick peek at a Simple 8-bit Assembler Simulator
  2. (Video) Computer hardware basics (e.g., see TechPrac00 item I) Note: The video was from AIST2330, the precursor to this course, but the principle ideas still apply.
  3. (Video) Introduction to machine / assembler lang & some OS concepts (e.g., see TechPrac00 item II) | Simple 8-bit Assembler Simulator | Assembler 101 Code | Dec-Bin-Hex-ASCII table | Easy Unit Converter

Week 1 beginning Mon Jan 15

Preliminaries & Comments

Read, Study, Execute

  1. Begin reading Chapter 1. Introduction from Operating System Concepts Essentials (finish by end of next week)
  2. View all 14 video modules of Chapter 3: Linux Fundamentals from Linux Administration Bootcamp beginning with Linux Directory Structure
  3. TechPrac01 due Sun Jan 28
  4. This Mon Jan 15 is MLK Holiday; no F2F classes

Content & Presentation

  1. (Video) Week 1 Overview & Comments
    1. TechPrac00 grades to be posted soon
    2. Note Quiz01 in D2L is item I for TechPrac01 due Sun Sep 3
    3. OK to use VirtualBox or other VM hypervisor than VMware but I can help better with VMware; with an M1 Mac, UTM is the only solution that I know will work with the OS's we are virtualizing
    4. Make sure you have 100 GB empty disk space on the computer you will use to hold your virtual machines (VMs) for class; consider purchasing a USB portable hard drive (not a thumb drive) if not -- this isn't a bad idea even if you have the disk space on your computer
    5. Getting your materials together:
      1. Install your hypervisor by following guidance in whichever is appropriate:
      2. Get Ubuntu Desktop 22.04 LTS install .iso from Download Ubuntu Desktop saving this somewhere where you can find it later
      3. Windows Server 2022 Datacenter* install .iso + product key from Software in Microsoft Azure Education (use your @augusta.edu credentials for authentication).

        *The same install .iso works for both Standard and Datacenter versions of Windows Server but VMware may install Datacenter regardless of what version is chosen when building the VM. Maybe get keys for both versions while you are in Azure.

        Critical alert for Windows PC users: Do not double-click this downloaded .iso and then double-click setup.exe when this virtual drive is opened. This will start an install of Windows Server over your current operating system. See guidance below for using this .iso to create Windows Server virtual machines (VMs) using VMware Workstation.

  2. Creating a local Ubuntu Desktop VM (e.g., see TechPrac01 item II) - choose the guidance relevant to your computer
    1. Guide: Ubuntu Desktop VM using VMware WorkStation on a PC
    2. Guide: Ubuntu Desktop VM using VMware Fusion on an Intel Mac
    3. Guide: Ubuntu Desktop VM using UTM on an M1 Mac
  3. (Guide) First steps with a Linux server (e.g., see TechPrac00 item II)
    1. Turn off automatic updates and apply updates
    2. Set time zone
    3. Set the computer name
    4. Technique: Share files between VM & host (e.g., see Sharing files between VM & Host)
  4. Creating a local Windows Server VM (e.g., see TechPrac01 item II)
    1. Guide: Windows Server VM using VMware WorkStation on a PC
    2. Guide: Windows Server VM using VMware Fusion on an intel Mac
    3. Guide: Windows Server VM using UTM on an M1 Mac
  5. (Guide) First steps with a Windows server
    1. Activate Windows
    2. Set updates to manual and apply updates
    3. Set time zone
    4. Set the computer name
    5. Technique: Share files between VM & host (e.g., see Sharing files between VM & Host)

Week 2 beginning Mon Jan 22

Preliminaries & Comments

Read, Study, Execute

  1. Continue reading Chapter 1. Introduction from Operating System Concepts Essentials (finish by end of this week)
  2. Review first five sections of Mastering Ubuntu Server Ch 2 - Managing Users and Permissions
  3. View first seven modules of Chapter 4: Linux Fundamentals from Linux Administration Bootcamp beginning with Wildcards - Part 1
  4. View all ten sections of Chapter 5: System Access and File System from A Complete Course on Windows Server 2016 Administration beginning with Welcome to Module 4
  5. Review Wikipedia articles of Windows directory structure and Unix/Linux directory structure
  6. Scan Windows (command line) commands and Ultimate List of Linux Commands to use as references
  7. TechPrac01 due Sun Jan 28

Content & Presentation

  1. Week 2 Overview & Comments - no video provided but please contact me with questions or issues
    1. Be sure to visit First steps with a Linux server and First steps with a Windows server and sharing files between VMs and host computer
    2. Some Windows Server tips
  2. (Video) Comments & Review of OS Concepts Ch01 | Ch01 PowerPoint
  3. (Video) Server shell tidbits (e.g., see TechPrac01 item IV)
    1. What is a server?
    2. Shell games & command lines
    3. File systems & managing from the command line
  4. (Guide) Adding Users (e.g., see TechPrac01 item V)

Week 3 beginning Mon Jan 29

Preliminaries & Comments

Read, Study, Execute

  1. View last seven modules of Chapter 4: Linux Fundamentals from Linux Administration Bootcamp beginning with Shell Aliases
  2. View all ten sections of Chapter 6: System Administration from A Complete Course on Windows Server 2016 Administration beginning with Welcome to Module 5
  3. Begin reading Chapter 2. Operating System Structures from Operating System Concepts Essentials by completing through Section 2.5 System Programs
  4. Read What is a Bash Script? and as much more of the tutorial as you like or need
  5. Read Batch Script - Overview and as much more of the tutorial as you like or need
  6. Read Environment variable from Wikipedia
  7. TechPrac02 due Sun Feb 11

Content & Presentation

  1.  Week 3 Overview & Comments
    1. If a Linux file (like a script or configuration file) that you've downloaded or copied from a reliable source gives odd errors (e.g., unexpected end of file or missing then or else statement) it may be the file has picked up some extraneous 'white space' characters. A quick way to (try to) fix the file is to issue the command sed -i 's/[[:space:]]*$//' FILENAME (where FILENAME is the name of the file having problems).
  2. (Video) Quick course in 'old school' scripting (e.g., see TechPrac02 item II)
  3. Guidance for TP02.III
    1. (Video) Environment variables intro
    2. (Reference files) MyDir.bat (for Windows) and MyDir.sh (for Linux)

Week 4 beginning Mon Feb 5

Preliminaries & Comments

Read, Study, Execute

  1. Read Enable Remote Desktop (ostensibly in Win10 but also in Windows Server)
  2. Read Overview of Secure Shell (SSH)
  3. Read Enable SSH in Ubuntu | SSH: Limit Users and groups
  4. Review Learning About Password Policy in Ubuntu
  5. Review Linux Password Complexity
  6. Review How to auto logout inactive users after a period of time in Linux
  7. Review Configuring Password Policies with Windows Server 2016
  8. Read A Free Password Policy Template
  9. Read Password policy recommendations (Microsoft)
  10. Continue reading Chapter 2. Operating System Structures from Operating System Concepts Essentials by completing through Section 2.8 Virtual Machines
  11. TechPrac02 due Sun Feb 11

Content & Presentation

  1. Week 4 Overview & Comments
    1. Check that your Windows Server VM login does not have a space (e.g., it should be something like Administrator or tschultz and not Todd Schultz). A space in your login ID will cause the TP02.bat script to fail. If your login has a space create (or use) a login without a space for TechPrac02.II.B
  2. Guidance for TP02.IV
    1. (Video) Configuring Windows Remote Desktop | Notes | Addendum: In the video I ping my Windows server VM. Ping isn't required to setup Remote Desktop but to ping a Windows computer, some modifications to the server's firewall are needed. Visit Configure Windows Server to Respond to ping for guidance on setting this up if you are interested.
    2. (Video) Configuring Linux Secure Shell | Notes

Week 5 beginning Mon Feb 12

Preliminaries & Comments

Read, Study, Execute

  1. Review Installing IIS on Windows Server
  2. Review Install & configure Apache in Ubuntu
  3. Continue reading Chapter 2. Operating System Structures from Operating System Concepts Essentials by completing through Section 2.12 Summary
  4. TechPrac03 due Sun Feb 25

Content & Presentation

  1. Revisit assembly language with some OS 'flavor' added (TP03.V)
    1. (Links) Simple 8-bit Assembler Simulator | Convert To Uppercase (code) | Convert to Uppercase with OS 'flavor' (code)
    2. (Video) Discussion of case conversion application and a taste of OS management
  2. (Video) Some comments on Ch 2 of Operating System Concepts Essentials | Ch02 PowerPoint
  3. (Video) IIS web server in Windows (e.g., TP02.II and note the video mentions AIST2330 and not AIST3720 but otherwise demonstrates the critical steps).
  4. (Video) Apache web server in Linux (e.g., TP02.II and note the video mentions AIST2330 and not AIST3720 but otherwise demonstrates the critical steps).
  5. Guidance for TP03.III
    1. PreReq: Install PowerShell Core and Visual Studio Code in your xxxxLS1 and xxxxWS1 VMs: Overview | Linux | Windows
    2. (Video) Intro to cross-platform scripting with PowerShell
    3. (PowerShell script as text file) TP03ps1.txt -- this is the Windows version; for Linux the HOMEPATH environment variable needs to be changed to HOME

Week 6 beginning Mon Feb 19

Preliminaries & Comments

Read, Study, Execute

  1. Review (Tutorial) Get started with C# and Visual Studio Code
  2. Read Process Management from Operating System Concepts Essentials (intro to the text's Part 2)
  3. TechPrac03 due Sun Feb 25

Content & Presentation

  1. Week 6 Overview & Comments
    1. I provide some code below which may help if task TechPrac03.IV.5 where you fill the output buffer with asterisks seems impenetrable. This program does nothing but output the asterisks and you can use / modify it if you want at the appropriate place in your assembler code:

      ; Fill output buffer (OB) with stars
            MOV B, 0xE8 ; OB start loc to Reg B
      Star: MOV [B], '*' ; Put * in reg B memloc
            INC B ; increment reg B memloc
            CMP B, 0x00 ; past end of buffer?
            JNE Star ; if not add extra star
            HLT
  2. Guidance for TP03.IV
    1. Prereq: Install .NET Core (and Visual Studio Code if you haven't already) in your xxxxLS1 and xxxxWS1 VMs -- Overview | Ubuntu | Windows
    2. (Tutorial) Get started with C# and Visual Studio Code
    3. (Video) A first look at .NET Core

Week 7 beginning Mon Feb 26

Preliminaries & Comments

  1. Next week Tue Mar 5 is midterm; not an exam but the last date to withdraw from a class without a grade penalty.
  2. Next week Thu & Fri Mar 8 & 9 is Spring Pause; no F2F classes

Read, Study, Execute

  1. Review article on IIS Basic Authentication
  2. Review article on Apache Basic Authentication
  3. Read short article What is Windows event log?
  4. Read articles Linux Log Files and How to View System Log Files on Ubuntu 18.04 LTS
  5. Begin Chapter 3. Processes from OS Concepts Essentials
  6. TechPrac04 due Sun Mar 10

Content & Presentation

  1. Week 7 Overview & Comments
    1. TechPrac04.II.A Errata: Adding Users

      When I recorded the video that accompanies this exercise -- (Video) Using basic authentication for web sites in IIS -- I happened to be on a computer that had Active Directory (AD) installed and when I add a user I used Active Directory Users and Groups. Our Windows servers don't have AD so continue to add users the way we have all term (e.g., see Adding Users scrolling down to the section Windows Server without Active Directory). Sorry for any confusion; Active Directory is not required for this task.

    2. TechPrac04.III.B.7 MySQL Log Errata

      1. Sorry for any confusion but in reshuffling some assignment tasks I have TP04.III about logs before TP04.V about installing MySQL in Ubuntu. Task TP04.III.B.7 asks you to look at your MySQL log which won't be there unless you complete TP04.V first. Just something that slipped past me in prepping this term's work.
      2. Recent versions of MySQL changed default logging levels, so to get MySQL log to catch the bad login use the following from a Linux terminal to get into MySQL, change the logging level, exit MySQL and then try the bad login which should show up in the log.

        sudo mysql
        set global log_error_verbosity = 3;
        exit
        mysql # should be access denied
        sudo tail /var/log/mysql/error.log -n 1 # should show in log

  2. (Video) Ch 3 Overview | Ch 3 PPT
  3. Guidance for TP04.II
    1. (Video) Using basic authentication for web sites in IIS
    2. (Video) Using basic authentication for web sites in Apache | Notes
  4. Guidance for TP04.III
    1. (Video) Windows events log
    2. (Video) A quick look at Linux log files

Week 8 beginning Mon Mar 4

Preliminaries & Comments

  1. This week Tue Mar 5 is midterm; not an exam but the last date to withdraw from a class without a grade penalty.
  2. This week Thu & Fri Mar 8 & 9 is Spring Pause; no F2F classes

 Study, Execute

  1. Review the following lessons from W3 Schools SQL Tutorial: SQL Intro, SQL Syntax, SQL Select, SQL Insert Into, SQL Update, SQL Delete
  2. Finish Chapter 3. Processes from OS Concepts Essentials
  3. TechPrac04 due Sun Mar 10

Content & Presentation

  1. Week 8 Overview & Comments
    1. TechPrac04.II.A Errata: Adding Users

      When I recorded the video that accompanies this exercise -- (Video) Using basic authentication for web sites in IIS -- I happened to be on a computer that had Active Directory (AD) installed and when I add a user I used Active Directory Users and Groups. Our Windows servers don't have AD so continue to add users the way we have all term (e.g., see Adding Users scrolling down to the section Windows Server without Active Directory). Sorry for any confusion; Active Directory is not required for this task.

    2. TechPrac04.III.B.7 MySQL Log Errata

      1. Sorry for any confusion but in reshuffling some assignment tasks I have TP04.III about logs before TP04.V about installing MySQL in Ubuntu. Task TP04.III.B.7 asks you to look at your MySQL log which won't be there unless you complete TP04.V first. Just something that slipped past me in prepping this term's work.

      2. Recent versions of MySQL changed default logging levels, so to get MySQL log to catch the bad login use the following from a Linux terminal to get into MySQL, change the logging level, exit MySQL and then try the bad login which should show up in the log.

        sudo mysql
        set global log_error_verbosity = 3;
        exit
        mysql # should be access denied
        sudo tail /var/log/mysql/error.log -n 1 # should show in log

  2. Guidance for TechPrac04 item III
    1. (Video) SQL Server Quick Start
    2. (Guide) SQL Server in Windows
  3. Guidance for TechPrac04 item IV
    1. (Video) MySQL Quick Start
    2. (Guide) MySQL in Ubuntu

Week 9 beginning Mon Mar 11

Preliminaries & Comments

Read, Study, Execute

  1. Begin  Chapter 4. Threads from OS Concepts Essentials
  2. Read articles What is a File Extension and MIME Type? and Apache: Deny Access to Certain File Types
  3. Review article Adding Linux Users to Groups
  4. Read articles chmod command in Linux | How to use the Linux chown command | Linux file permission tutorial | Linux permissions demystified
  5. TechPrac05 due Sun Mar 24

Content & Presentation

  1. Week 9 Overview & Comments
    1. TP05.II.A Errata: In TP04.II where we set up Basic Authentication in Linux for the BASite directory, changes we made in the apache2.conf configuration file also required that web directories contain a .htaccess file to control authentication for the directory. To avoid a 403 Forbidden error accessing your root web directory (i.e., /var/www/html accessed via http as http://localhost) you will need to add the following .htaccess file in the root folder which says any access is allowed. Before beginning TP05.II.A use
      sudo nano /var/www/html/.htaccess
      from a terminal and enter / save the following lines:
      AuthType None
      Require all granted

  2. (Video) Ch 4 Overview | Ch04 PPT
  3. Guidance for TP05.II
    1. (Video) MIME types & web downloads on Linux Server / Apache
    2. (Video) MIME types & web downloads on Windows Server / IIS
  4. Guidance for TP05.III
    1. (Video) Linux ACL 101
    2. (Notes) Linux file and directory access control

Week 10 beginning Mon Mar 18

Preliminaries & Comments

Read, Study, Execute

  1. Finish  Chapter 4. Threads from OS Concepts Essentials
  2. Read article User Accounts, Groups, Permissions & Their Role in Sharing (in Windows)
  3. TechPrac05 due Sun Mar 24

Content & Presentation

  1. Week 10 Overview & Comments
    1. TP05.II.A Errata: In TP04.II where we set up Basic Authentication in Linux for the BASite directory, changes we made in the apache2.conf configuration file also required that web directories contain a .htaccess file to control authentication for the directory. To avoid a 403 Forbidden error accessing your root web directory (i.e., /var/www/html accessed via http as http://localhost) you will need to add the following .htaccess file in the root folder which says any access is allowed. Before beginning TP05.II.A use
      sudo nano /var/www/html/.htaccess
      from a terminal and enter / save the following lines:
      AuthType None
      Require all granted

  2. (Video) Windows groups and file permissions (e.g., TP05.IV)

Week 11 beginning Mon Mar 25

Preliminaries & Comments

Read, Study, Execute

  1. Review article on String Handling in PowerShell
  2. Begin Chapter 5. CPU Scheduling from OS Concepts Essentials
  3. Read walkthru How to create a file share in Windows Server
  4. Read walkthru How to backup Windows Server 2016
  5. TechPrac06 due Sun Apr 7

Content & Presentation

  1. Ch 5 overview: Textbook PowerPoint
  2. TechPrac06 Item II guidance
    1. (Video) Using bash script to 'unit test' access privilege | Notes
    2. (bash script) TestAccess.sh (as a text file)
  3. (Video) Backups 101 in Windows -- TechPrac06 item III guidance

Week 12 beginning Mon Apr 1

Preliminaries & Comments

  1. Next week Apr 8 - 12 is Spring Break, no classes

Read, Study, Execute

  1. Finish Chapter 5. CPU Scheduling from OS Concepts Essentials
  2. Read CSV vs XML vs JSON - Which is the Best Response Data Format?
  3. Read Overview and Syntax from the TutorialsPoint JSON Basics
  4. Complete Introduction and How to Use from the W3Schools XML Tutorial
  5. Read Creating a Linux service with systemd
  6. TechPrac06 due Sun Apr 7

Content & Presentation

  1. (Video) Text files for data -- CSV, XML, JSON (TechPrac07 item IV guidance)
  2. TechPrac06 item V guidance
    1. (Article) Creating a Linux service with systemd
    2. (Video) Creating a Linux service
    3. (Notes) Create a Linux Service

Week 13 beginning Mon Apr 8

Preliminaries & Comments

  1. This week Apr 8 - 12 is Spring Break; no classes

Read, Study, Execute

  1. Begin Chapter 6. Process Syncronization from OS Concepts Essentials
  2. TechPrac07 due Sun Apr 21

Content & Presentation

  1. Week 13 Overview & Comments
  2. Ch 6 Overview | Ch 6 PPT
  3. TechPrac07 item II guidance
    1. (Video) Develop an 'intermediate' PowerShell script in Windows
    2. (Video) Deploy an 'intermediate' PowerShell script in Linux

Week 14 beginning Mon Apr 15

Preliminaries & Comments

Read, Study, Execute

  1. Finish Chapter 6. Process Synchronization from OS Concepts Essentials
  2. TechPrac07 due Sun Apr 21

Content & Presentation

  1. Happy Thanksgiving!

Week 15 beginning Mon Apr 22

Preliminaries & Comments

  1. Next Wed May 1s last class

Read, Study, Execute

  1. Begin Chapter 7. Main Memory from OS Concepts Essentials
  2. Review notes Add Drive to VM, Configure New Windows Disk, and Configure New Ubuntu Disk
  3. Review guide Create Windows Server 2012 Domain
  4. TechPrac08 due Sun May 5

Content & Presentation

  1. Week 15 Overview & Comments
    1. Completing TechPrac08 is intended as kind of a self-study, take-home exam. Notes and guides for the tasks are provided but there are no specific videos demonstrating the how-to. Your background and experience from earlier in the course should be enough to successfully apply this guidance but do not hesitate to reach out to me immediately if you run into questions or issues; knowing when and what to ask is as important as having the technical know-how in the first place.
    2. Note: With end-of-term approaching and grades being due I cannot extend TP08 due dates beyond midnite Sun Dec 10
  2. Ch 7 Overview | Ch 7 PPT

Week 16 beginning Mon Apr 29

Preliminaries & Comments

  1. This Wed May 1 is last class

Read, Study, Execute

  1. Finish Chapter 7. Main Memory from OS Concepts Essentials
  2. Review guide Ubuntu 22.04 System Backup & Restore
  3. TechPrac08 due Sun May 5

Content & Presentation

  1. Week 16 Overview & Comments
    1. Completing TechPrac08 is intended as kind of a self-study, take-home exam. Notes and guides for the tasks are provided but there are no specific videos demonstrating the how-to. Your background and experience from earlier in the course should be enough to successfully apply this guidance but do not hesitate to reach out to me immediately if you run into questions or issues; knowing when and what to ask is as important as having the technical know-how in the first place.
    2. Note: With end-of-term approaching and grades being due I cannot extend TP08 due dates beyond midnite Sun May 7.

Week 17 beginning Mon May 6

Preliminaries & Comments

  1. Classes ended May 1; TechPrac08 was due May 5

Read, Study, Execute

Content & Presentation