Difference between revisions of "OPS245 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
m (Adding another sample to week 4)
 
(57 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
{{Admon/caution|DO NOT USE THIS VERSION OF THE COURSE. This page will no longer be updated.|'''Debian version here:''' https://seneca-ictoer.github.io/OPS245
 +
<br>'''CentOS version here:''' https://seneca-ictoer.github.io/OPS245-C7<br>'''Andrew's version here:''' http://wiki.littlesvr.ca/wiki/OPS245_Weekly_Schedule}}
 
[[Category:OPS245]][[Category:peter.callaghan]]
 
[[Category:OPS245]][[Category:peter.callaghan]]
= Winter 2021 =
+
= Summer 2023 =
 
This schedule is a considered to be a general guideline for week-by-week content. Due dates may vary per instructor.
 
This schedule is a considered to be a general guideline for week-by-week content. Due dates may vary per instructor.
  
Line 9: Line 11:
 
!style="width: 30%"|Labs
 
!style="width: 30%"|Labs
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 1:'''<br>11 - 15 Jan
+
|'''Week 1:'''<br>May 8 - 12
 
|'''Create a CentOS Linux VM in VMware:'''
 
|'''Create a CentOS Linux VM in VMware:'''
 
*Install CentOS (Full Install) in VMware Workstation application (create customized partitions)
 
*Install CentOS (Full Install) in VMware Workstation application (create customized partitions)
Line 15: Line 17:
 
*Obtain System Information
 
*Obtain System Information
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w1-l1.pptx Welcome to OPS245!]
+
*[https://github.com/OPS245/slides/raw/main/w1-l1.pptx Welcome to OPS245!]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w1-l2.pptx Installing Linux]
+
*[https://www.dropbox.com/s/7dlp8g5ynp7973w/w1-l2.pptx?dl=1 Installing Linux]
 
|[[OPS245 Lab 1|Lab 1: Installing CentOS 7 with VMWare Workstation]]
 
|[[OPS245 Lab 1|Lab 1: Installing CentOS 7 with VMWare Workstation]]
  
Line 27: Line 29:
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 2:'''<br>18 - 22 Jan
+
|'''Week 2:'''<br>May 15 - 19
 
|'''Post-Installation Tasks:'''
 
|'''Post-Installation Tasks:'''
 
*Post-Install Commands
 
*Post-Install Commands
 
*Bash Shell Scripting Essentials
 
*Bash Shell Scripting Essentials
 
*Introduction to Python Scripting
 
*Introduction to Python Scripting
*Using a Bash Shell Script to Create a Post Installation Report
+
*Using a Python Shell Script to Create a Post Installation Report
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w2-l1.pptx Bash Shell Scripting (part 1)]
+
*[https://www.dropbox.com/s/2dxebm9yrmync1t/w2-l1.pptx?dl=1 Python Scripting (part 1)]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w2-l2.pptx Python Scripting (part 1)]
+
 
'''Script Samples:'''
 
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/menu.bash menu.bash]
 
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/if1.bash if1.bash]
 
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/twoif.bash twoif.bash]
 
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/if2.bash if2.bash]
 
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/if3.bash if3.bash]
 
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/if4.bash if4.bash]
 
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/if5.bash if5.bash]
 
 
|'''Scripting Practice:'''
 
|'''Scripting Practice:'''
 
*[[OPS245_Scripting_Exercises | OPS245 Scripting Exercises]]
 
*[[OPS245_Scripting_Exercises | OPS245 Scripting Exercises]]
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 3:'''<br>25 - 29 Jan
+
|'''Week 3:'''<br>May 23 - 26
 
|'''Creating & Using Virtual Machines'''
 
|'''Creating & Using Virtual Machines'''
 
*Installing and Using Virtualization Software
 
*Installing and Using Virtualization Software
 
*Installing Guest VMs
 
*Installing Guest VMs
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w3-l1.pptx Installing Virtual Machines]
+
*[https://www.dropbox.com/s/0xgkv4a26hjjzjm/w3-l1.pptx?dl=1 Installing Virtual Machines]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w3-l2.pptx Bash Shell Scripting (part2)]
+
*[https://www.dropbox.com/s/9i95fs2706rklhp/w3-l2.pptx?dl=1 Python Scripting (part 2)]
 
'''Script Samples:'''
 
'''Script Samples:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/for1.bash for1.bash]
+
*[https://www.dropbox.com/s/neahqj4bsj7lgro/menu.py?dl=1 menu.py]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/for2.bash for2.bash]
+
*[https://www.dropbox.com/s/b04u0e1snvfcrqs/if1.py?dl=1 if1.py]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/for3.bash for3.bash]
+
*[https://www.dropbox.com/s/j5omwggit05vi5g/twoif.py?dl=1 twoif.py]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/simpleif.bash simpleif.bash]
+
*[https://www.dropbox.com/s/2mof7xszd7kp9ma/if2.py?dl=1 if2.py]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/complexif.bash complexif.bash]
+
*[https://www.dropbox.com/s/ywo3b797okb3tf8/if3.py?dl=1 if3.py]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/while.bash while.bash]
+
*[https://www.dropbox.com/s/mral0c2pnxpqsgu/if4.py?dl=1 if4.py]
 +
*[https://www.dropbox.com/s/9v857kr93r82pbh/if5.py?dl=1 if5.py]
 
|[[OPS245 Lab 2|Lab 2: Creating and Using Virtual Machines]]
 
|[[OPS245 Lab 2|Lab 2: Creating and Using Virtual Machines]]
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 4:'''<br>01 - 05 Feb
+
|'''Week 4:'''<br>May 29 - June 2
 
|'''Creating & Using Virtual Machines / Continued:'''
 
|'''Creating & Using Virtual Machines / Continued:'''
 
*Manipulating Virtual Machines
 
*Manipulating Virtual Machines
Line 72: Line 67:
 
*Decision Making in Python Scripts
 
*Decision Making in Python Scripts
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w4-l1.pptx Managing Virtual Machines]
+
*[https://www.dropbox.com/s/citztrp5f8kkd92/w4-l1.pptx?dl=1 Managing Virtual Machines]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w4-l2.pptx Python Scripting (part2)]
+
*[https://www.dropbox.com/s/zpekjhrr58nuxl4/w4-l2.pptx?dl=1 Python Scripting (part 3)]
 
'''Script Samples:'''
 
'''Script Samples:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/samples/userprint.py userprint.py]
+
*[https://www.dropbox.com/s/4nraz2sp31inpg7/userprint.py?dl=1 userprint.py]
 +
*[https://www.dropbox.com/s/ziwugivlpwd0prg/countup.py?dl=1 countup.py]
 +
*[https://www.dropbox.com/s/mv2ke7a8hyfrkqj/countup2.py?dl=1 countup2.py]
 +
 
 
|
 
|
  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 5:'''<br>08 - 12 Feb
+
|'''Week 5:'''<br>June 5 - June 9
 
|'''Troubleshooting, Archiving, Package Management:'''
 
|'''Troubleshooting, Archiving, Package Management:'''
 
*Common Troubleshooting Examples
 
*Common Troubleshooting Examples
Line 86: Line 84:
 
*Package Management
 
*Package Management
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w5-l1.pptx Troubleshooting, Archiving, Package Management]
+
*[https://www.dropbox.com/s/hp7qqvai7xklv5w/w5-l1.pptx?dl=1 Troubleshooting, Archiving, Package Management]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w5-l2.pptx Bash Shell Scripting (part 3)]
+
*[https://www.dropbox.com/s/95xdxemu20fad3s/w5-l2.pptx?dl=1 Python Scripting (part 4)t]
 
|[[OPS245 Lab 3|Lab 3: Troubleshooting, Archiving, and Packages]]
 
|[[OPS245 Lab 3|Lab 3: Troubleshooting, Archiving, and Packages]]
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 6:'''<br>15 - 19 Feb
+
|'''Week 6:'''<br>June 12 - June 16
 
|'''Managing Users, Groups & Services:'''
 
|'''Managing Users, Groups & Services:'''
 
*User Management
 
*User Management
Line 98: Line 96:
 
*Starting / Stopping Services
 
*Starting / Stopping Services
 
*Looping in Python scripts
 
*Looping in Python scripts
 +
'''Evaluation:'''
 +
*Assignment 1
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w6-l1.pptx Managing Users, Groups & Services]
+
*[https://www.dropbox.com/s/l7dvohl9ghnnodh/w6-l1.pptx?dl=1 Managing Users, Groups & Services]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w6-l2.pptx Manging Sudo]
+
*[https://www.dropbox.com/s/ilxjqe8sdwmrfuk/w6-l2.pptx?dl=1 Managing Sudo]
*[https://ict.senecacollege.ca/~peter.callaghan/ops245/slides/w6-l3.pptx Bash Shell Scripting (part 4)]
+
*[https://www.dropbox.com/s/9prvagrjem3nx7d/w6-l3.pptx?dl=1 Python Scripting (part 5)]
 +
'''Script Samples:'''
 +
 
 
|[[OPS245 Lab 4|Lab 4: Users, Groups and Services]]
 
|[[OPS245 Lab 4|Lab 4: Users, Groups and Services]]
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 7:'''<br>22 - 26 Feb
+
|'''Week 7:'''<br>June 19 - 23
|*Error Handling in Python Scripts
+
|'''Evaluation:'''
 
+
*MIDTERM
'''Evaluation:'''
+
|
*Assignment 1
 
|'''Lecture Notes'''
 
*[https://ict.senecacollege.ca/~ops245/slides/w7_l1.pptx Python Scripting (part 4)]
 
 
|
 
|
 
  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
!colspan="4" style="text-align:left;"| '''Study Week:'''<br>01 - 05 Mar
+
!colspan="4" style="text-align:left;"| '''Study Week:'''<br>June 26 - 30
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 8:'''<br>08 - 12 Mar
+
|'''Week 8:'''<br>July 4 - July 8
 
|'''Monitoring Disk Space, Intro to LVM'''
 
|'''Monitoring Disk Space, Intro to LVM'''
 
*Monitoring Hard Disk Space
 
*Monitoring Hard Disk Space
Line 126: Line 124:
 
*Using LVM
 
*Using LVM
 
*Creating Shell Scripts to Flag Low Disk Space
 
*Creating Shell Scripts to Flag Low Disk Space
'''Evaluation:'''
+
*Error Handling in Python Scripts
*Written Midterm Test
 
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~ops245/slides/w8_l1.pptx Monitoring Disk Space, <code>crontab</code>, <code>awk</code> command]
+
*[https://www.dropbox.com/s/vp7dyu760ah433q/w8-l1.pptx?dl=1 Monitoring Disk Space, <code>crontab</code>]
 +
*[https://www.dropbox.com/s/h0lymk1pq8somdp/w8-l2.pptx?dl=1 Python Scripting (part 6)]
 
|[[OPS245 Lab 5|Lab 5: Monitoring Disk Space - Investigation 1]]
 
|[[OPS245 Lab 5|Lab 5: Monitoring Disk Space - Investigation 1]]
  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 9:'''<br>15 - 19 Mar
+
|'''Week 9:'''<br>July 10 - July 14
 
|'''Using LVM'''
 
|'''Using LVM'''
 
*Using Logical Volume Manager (LVM)
 
*Using Logical Volume Manager (LVM)
 
*Creating Shell Scripts to Flag Low Disk Space
 
*Creating Shell Scripts to Flag Low Disk Space
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~ops245/slides/w9_l1.pptx Introduction to LVM]
+
*[https://www.dropbox.com/s/u0cqkaptjurkp08/w9-l1.pptx?dl=1 Introduction to LVM]
 +
*[https://www.dropbox.com/s/lnw8gzln1b2yfw0/w9-l2.pptx?dl=1 Advanced uses of the <code>awk</code> command]
 
*Demonstration of Growing ''/home'' partition using LVM: [https://youtu.be/4fGQmw9RInYg YouTube]
 
*Demonstration of Growing ''/home'' partition using LVM: [https://youtu.be/4fGQmw9RInYg YouTube]
 +
'''Script Samples:'''
 +
*[https://www.dropbox.com/s/p3bxgyhka592sff/cars.txt?dl=1 cars]
 +
*[https://www.dropbox.com/s/vdedytlcc2wlocu/users2.txt?dl=1 users2.txt]
 +
*[https://www.dropbox.com/s/oc1ae5s3uolp60n/awkFile1?dl=1 awkFile1]
 +
*[https://www.dropbox.com/s/izv1l12bqxp6hbn/awkFile2?dl=1 awkFile2]
 +
*[https://www.dropbox.com/s/i15jbfrw0t1afw5/awkFile3?dl=1 awkFile3]
 +
*[https://www.dropbox.com/s/d2apxu1nc6p50q9/awkFile4?dl=1 awkFile4]
 
|[[OPS245 Lab 5#INVESTIGATION 2: MANAGING HARD DISK SPACE USING LVM|Lab 5: Using LVM - Investigation 2]]
 
|[[OPS245 Lab 5#INVESTIGATION 2: MANAGING HARD DISK SPACE USING LVM|Lab 5: Using LVM - Investigation 2]]
  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 10:'''<br>22 - 26 Mar
+
|'''Week 10:'''<br>July 17 - July 21
 
|'''Configuring a Network Using Virtual Machines'''
 
|'''Configuring a Network Using Virtual Machines'''
 
*Static Network Configuration
 
*Static Network Configuration
 
*Network Configuration with a DHCP client
 
*Network Configuration with a DHCP client
 
*Basic TCP/IP network commands: <code>ping</code>, <code>ip</code>, <code>ss</code>
 
*Basic TCP/IP network commands: <code>ping</code>, <code>ip</code>, <code>ss</code>
*Executing Python Scripts on Remote Machines
+
*Using Python Scripts to Access Files
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~ops245/slides/w10_l1.pptx Creating a Virtual Network]
+
*[https://www.dropbox.com/s/degjqz79cahb8em/w10-l1.pptx?dl=1 Creating a Virtual Network]
*[https://ict.senecacollege.ca/~ops245/slides/w10_l2.pptx Bash Shell Scripting (part 5)]
+
*[https://www.dropbox.com/s/bjdc97c430ypvjk/w10-l2.pptx?dl=1 Python Scripting (part 7)]
*[https://ict.senecacollege.ca/~ops245/slides/w10_l3.pptx Python Scripting (part 5)]
 
 
|[[OPS245 Lab 6|Lab 6: Virtual Networks]]
 
|[[OPS245 Lab 6|Lab 6: Virtual Networks]]
  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 11:'''<br>29 Mar - 02 Apr
+
|'''Week 11:'''<br>July 24 - July 28
 
|'''Setup and Configure Secure Shell Services'''
 
|'''Setup and Configure Secure Shell Services'''
 
*Network Services
 
*Network Services
 
*SSH
 
*SSH
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~ops245/slides/w11_l1.pptx Securing Network via SSH]
+
*[https://www.dropbox.com/s/q61rurwnpmavk0z/w11-l1.pptx?dl=1 Securing Network via SSH]
*[https://ict.senecacollege.ca/~ops245/slides/w11_l2.pptx Configuring Firewalls (iptables)]
+
*[https://www.dropbox.com/s/nmjeh2uciq2d7sp/W11-l2.pptx?dl=1 Configuring Firewalls (iptables)]
 
|[[OPS245 Lab 7|Lab 7: Setup and Configure SSH]]
 
|[[OPS245 Lab 7|Lab 7: Setup and Configure SSH]]
  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 12:'''<br>05 - 09 Apr
+
|'''Week 12:'''<br>July 31 - August 4
 
|'''Setting Up, Using & Maintaining a DHCP Server'''
 
|'''Setting Up, Using & Maintaining a DHCP Server'''
 
*DHCP Server
 
*DHCP Server
*Using Python Scripts to Access Files
 
 
|'''Lecture Notes:'''
 
|'''Lecture Notes:'''
*[https://ict.senecacollege.ca/~ops245/slides/w12_l1.pptx Setting up a DHCP Server]
+
*[https://www.dropbox.com/s/taikt9hk9ffjtyg/w12-l1.pptx?dl=1 Setting up a DHCP Server]
*[https://ict.senecacollege.ca/~ops245/slides/w12_l2.pptx Python Scripting (part 6)]
+
|[[OPS245 Lab 8|Lab 8: Setup and Configure a DHCP Server]]
|[[OPS24 Lab 8|Lab 8: Setup and Configure a DHCP Server]]
 
  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 13:'''<br>12 - 16 Apr
+
|'''Week 13:'''<br>August 8 - August 11
 
|'''Evaluation:'''
 
|'''Evaluation:'''
 
*Assignment 2
 
*Assignment 2
*Test 2
 
 
|
 
|
 
|
 
|
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
|'''Week 14:'''<br>19 - 23 Apr
+
|'''Week 14:'''<br>August 14 - August 18
 
|'''Evaluation:'''
 
|'''Evaluation:'''
*Final Exam
+
*Final Assessment
 
|
 
|
 
|
 
|

Latest revision as of 19:51, 9 March 2024

Stop (medium size).png
DO NOT USE THIS VERSION OF THE COURSE. This page will no longer be updated.
Debian version here: https://seneca-ictoer.github.io/OPS245
CentOS version here: https://seneca-ictoer.github.io/OPS245-C7
Andrew's version here: http://wiki.littlesvr.ca/wiki/OPS245_Weekly_Schedule

Summer 2023

This schedule is a considered to be a general guideline for week-by-week content. Due dates may vary per instructor.

Week Objectives and Tasks References Labs
Week 1:
May 8 - 12
Create a CentOS Linux VM in VMware:
  • Install CentOS (Full Install) in VMware Workstation application (create customized partitions)
  • Shell Scripting
  • Obtain System Information
Lecture Notes: Lab 1: Installing CentOS 7 with VMWare Workstation


WARNING:
If working from home, use VMware Workstation (Windows/Linux) or VMware Fusion (macOS).

Do not use any other virtualization software!

Week 2:
May 15 - 19
Post-Installation Tasks:
  • Post-Install Commands
  • Bash Shell Scripting Essentials
  • Introduction to Python Scripting
  • Using a Python Shell Script to Create a Post Installation Report
Lecture Notes: Scripting Practice:
Week 3:
May 23 - 26
Creating & Using Virtual Machines
  • Installing and Using Virtualization Software
  • Installing Guest VMs
Lecture Notes:

Script Samples:

Lab 2: Creating and Using Virtual Machines
Week 4:
May 29 - June 2
Creating & Using Virtual Machines / Continued:
  • Manipulating Virtual Machines
  • Backing-up Virtual Machines
  • Manipulating Virtual Machines with Shell Scripts
  • Decision Making in Python Scripts
Lecture Notes:

Script Samples:


Week 5:
June 5 - June 9
Troubleshooting, Archiving, Package Management:
  • Common Troubleshooting Examples
  • Archiving Files
  • Package Management
Lecture Notes: Lab 3: Troubleshooting, Archiving, and Packages
Week 6:
June 12 - June 16
Managing Users, Groups & Services:
  • User Management
  • Group Management
  • Service Status
  • Starting / Stopping Services
  • Looping in Python scripts

Evaluation:

  • Assignment 1
Lecture Notes:

Script Samples:

Lab 4: Users, Groups and Services
Week 7:
June 19 - 23
Evaluation:
  • MIDTERM


Study Week:
June 26 - 30
Week 8:
July 4 - July 8
Monitoring Disk Space, Intro to LVM
  • Monitoring Hard Disk Space
  • LVM - Definition
  • Using LVM
  • Creating Shell Scripts to Flag Low Disk Space
  • Error Handling in Python Scripts
Lecture Notes: Lab 5: Monitoring Disk Space - Investigation 1


Week 9:
July 10 - July 14
Using LVM
  • Using Logical Volume Manager (LVM)
  • Creating Shell Scripts to Flag Low Disk Space
Lecture Notes:

Script Samples:

Lab 5: Using LVM - Investigation 2


Week 10:
July 17 - July 21
Configuring a Network Using Virtual Machines
  • Static Network Configuration
  • Network Configuration with a DHCP client
  • Basic TCP/IP network commands: ping, ip, ss
  • Using Python Scripts to Access Files
Lecture Notes: Lab 6: Virtual Networks


Week 11:
July 24 - July 28
Setup and Configure Secure Shell Services
  • Network Services
  • SSH
Lecture Notes: Lab 7: Setup and Configure SSH


Week 12:
July 31 - August 4
Setting Up, Using & Maintaining a DHCP Server
  • DHCP Server
Lecture Notes: Lab 8: Setup and Configure a DHCP Server


Week 13:
August 8 - August 11
Evaluation:
  • Assignment 2
Week 14:
August 14 - August 18
Evaluation:
  • Final Assessment