Cyber Capability Development Officer Basic Officer Leader Course

4-17D-C208 (CT) / 1.0

Effective Date: 01 Oct 2019

SCOPE: Cyber Capability Development Officer BOLC

This course provies Cyber Capability Development Officers with the skills and knowledge to become innovative, agile, highly-skilled practitioners that conduct vulnerability analysis, exploitatoin research and development, software development, software and user documentation, and implementation of software and hardware capabilities that operate in and through cyberspace. Graduates of this course will be certified as Army Cyberspace Capability Developers at the Basic Skill Level.

Distribution Restriction: Distribution authorized to U.S. Government agencies only in accordance with DoDD 5205.02. Other requests must be referred to Commander, US Army Cyber Center of Excellence, Attn: ATZH-DTS-S, Fort Gordon, GA 30905.

Destruction Notice: Destroy by any method that will prevent disclosure of contents or reconstruction of the document

Foreign Disclosure - FD1: Course is releasable to students from all requesting foreign countries without restrictions.

SECTION I. ADMINISTRATIVE DATA

Table 1. All Courses Including This Lesson
Course Number Version Course Title Phase Status

4-17D-C208 (CT)

01.0

Cyber Capability Development Officer BOLC

0

Pending

Table 2. All POIs Including This Lesson
POI Number Version Title Phase Status

4-17D-C208 (CT)

01.0

Cyber Capability Development Officer BOLC

0

Pending

Table 3. Task(s) Taught(*) or Supported
Task Number Task Title Status

UNK (Basic JQR 3.6.1)

Describe the terms and concepts associated with secure coding practices.

New

UNK (Basic JQR 3.6.2)

Demonstrate skill in using secure coding techniques.

New

Table 4. Reinforced Task(s)
Individual Task Number Task Title Status
Table 5. Knowledge
Knowledge Id Title Taught Required

NEW (Possibly existing?)

Understand the Virtual Training Area and how to deploy training environments

Yes

Yes

NEW

Understand git as a version control system

Yes

Yes

NEW

Understand Atlassian as a tool suite and its similarities and differences with gitlab

Yes

Yes

NEW

Understand Gitlab, Atlassian, the VTA, and their relation to course requirements for lessons, activities, and graded events

Yes

Yes

Table 6. Skills
Skill Id Title Taught Required

NEW

Demonstrate ability to use git within gitlab as a version control system

Yes

Yes

NEW

Demonstrate ability to utilize gitlab Continuous Integration, Continuous Delivery, and Continuous Deployment (CI/CD)

Yes

Yes

NEW

Demonstrate ability to use git within Atlassian Bitbucket as a version control system

Yes

Yes

NEW

Demonstrate ability to use Atlassian Jenkins for continuous integration, deployment and delivery

Yes

Yes

NEW

Demonstrate ability to write and deploy a working VTA HEAT template

Yes

Yes

Table 7. The administrative/academic (50 min) hours required to teach this lesson are as follows:
Academic Resident Hours/Methods

Yes

4 hrs 12 mins / DSL - Discussion (Small or Large Group)

Yes

2 hrs 0 mins / DM - Demonstration

Yes

2 hrs 0 mins / CAC - Compare and Contrast

Yes

8 hrs 0 mins / PS - Problem Solving

Yes

0 hrs 18 mins / TR - Test Review

Yes

7 hrs 30 mins / TE - Test

Yes

8 hrs 0 mins / PE - Practical Exercise (hands-on/written)

Total Hours (50min): 32 hrs 10 mins

Table 8. The instructor action (60 min) hours required to teach this lesson are as follows:
Hours/Actions Instructor Type

0 hrs 30 mins / Classroom Breakdown

Military/Civilian

0 hrs 30 mins / Classroom Setup

Military/Civilian

1 hrs 0 mins / Course AAR

Military/Civilian

1 hrs 0 mins / Prepare student gitlab repositories

Military/Civilian

1 hrs 0 mins / Prepare student Atlassian access

Military/Civilian

8 hrs 0 mins / Evaluate Student PE Submissions

Military/Civilian

1 hrs 0 mins / Logistics Support - Equipment

Military/Civilian

1 hrs 0 mins / Read and address Student email

Military/Civilian

1 hrs 0 mins / Training Rehearsal

Military/Civilian

Total Hours (50min): 15 hrs 0 mins

Table 9. Test Lesson(s)
Hours (50 min) Lesson Number/Version Lesson Title:
Table 10. Prerequisite Lesson(s)
Hours (50 min) Lesson Number/Version Lesson Title
Training Material Classification

Security Level - This course/lesson will present information that has a Security Classification of: UNCLASSIFIED

Foreign Disclosure Restrictions

Foreign Disclosure - FD1: Course is releasable to students from all requesting foreign countries without restrictions.

Table 11. Lesson References
Number Title Date

https://git.cybbh.space/CSD/internal/standards/csd-standards/

CSD Standards Gitlab Repository

Cloned 04JUN2019

https://github.com/google/styleguide/blob/gh-pages/pyguide.md

Google Python Code Style Guide

Cloned 04JUN2019

https://about.gitlab.com/devops-tools/bitbucket-vs-gitlab.html

Atlassian Bitbucket vs. Gitlab

Saved 04JUN2019

https://confluence.atlassian.com/confeval/development-tools-evaluator-resources/bitbucket/bitbucket-bitbucket-vs-gitlab

Bitbucket: Bitbucket vs. Gitlab

Saved 04JUN2019

http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html

No Silver Bullet - Essence and Accident in Software Engineering, by Frederick P. Brooks, Jr

1987

https://web.archive.org/web/20180612140317/http://www.cam.ly/blog/2010/12/code-fearlessly/

Code Fearlessly

Saved 04JUN2019

https://blog.codinghorror.com/the-best-code-is-no-code-at-all/

The best code is no code at all

Saved 04JUN2019

Student Study Assignment

Students will be responsible for reading articles and guides. Web site curriculum study and study guide for each chapter will be done prior to the day of lecture/labs.

Instructor Requirements
  1. Whether military or civilian, instructors must meet requirements as provided in AR 614-200, TR 350-70-3, DA PAM 611-21, and TR 600-21.

  2. Instructors meet 8140.01M workforce certification requirements for IAT Level II.

  3. Instructor has bassed the Basic Skill Level Exam for a Basic CCD per ARCYBER Standards.

Table 12. Support Personnel Requirements
Personnel: Student Ratio or Quantity Man Hours (60M/Hr) Personnel Type Work Description Supporting School Work Location

1:20

2.0

Lab Technician

Virtual Training Area (VTA) Lab Support

Cyber School, Fort Gordon, GA

Digital Training Access Center

Table 13. Additional Support Personnel Requirements
Personnel: Student Ratio or Quantity Man Hours (60M/Hr) Personnel Type Work Description Supporting School Work Location

1:20

2.0

Lab Technician

Virtual Training Area (VTA) Lab Support

Cyber School, Fort Gordon, GA

Digital Training Access Center

Table 14. Equipment Required for Instruction
ID - Name Student Ratio Instructor Ratio Spt Qty Exp

3610-01-306-0748 – Copyboard, Electronic

0:0

0:0

Yes

2

No

5835-01-C92-0199 - Player, DVD Blu-Ray: Samsung BD-D7000

0:0

0:0

Yes

1

No

7025-01-665-7732 - Catalyst Switch: CATALYST 3850, SWITCH, 48 PORTS, MANAGED, RACK MOUNTABLE

0:0

0:0

Yes

2

No

5999-01-X00-1078 - Network Router: Cisco 2901-SEC/K9

0:0

0:0

Yes

2

No

6130-01-C04-6578 - Power Supply Assembly: Gateway Smart -UPS3000VA

0:0

0:0

Yes

2

No

7010-01-551-3609 – Network Security Protection System

0:0

0:0

Yes

1

No

7025-01-440-6151 - Printer, Automatic Data Processing, Laser, Desktop

0:0

0:0

Yes

1

No

7035-01-600-4618 - Server, Automatic Data Processing

0:0

0:0

Yes

1

No

7035-01-C11-4523 - Rack Server, Dell,PE 4210: Dell PE2410

0:0

0:0

Yes

1

No

7110-00-919-9306 - Filing Cabinet, Tactical Unit, Integral Combination Lock

0:0

0:0

Yes

2

No

7110-01-573-6557 - Chair, Rotary, Black

1:1

1:1

Yes

No

Desk/Workspace

1:1

1:1

Yes

No

7050-01-534-1991 - Dell Latitude Inspiron C Dock II Docking Station

1:1

1:1

Yes

No

7025-01-C01-9450 - Monitor, Color IMPE: Samsung 913V

2:1

2:1

Yes

No

7021-01-C13-4004 - Computer, Personal Workstation: Optiplex 780 Dell

1:1

1:1

Yes

No

7010-01-607-3973 - Computer System, Digital: Dell Latitude E5520

1:1

1:1

Yes

No

6130-01-494-3655 - Power Supply, Uninterruptible

1:1

1:1

Yes

No

Instructor Materials Required for Training
  1. Cyber Training Battalion Virtual Training Area (VTA)

  2. Cyber School Gitlab

  3. DI2E 17D Course Reference Materials

Student Materials Required for Training
  1. CSD Guidelines Repository

  2. DI2E 17D Course Reference Materials

Table 15. Classroom, Training Area, and Range Requirements
ID - Name Quantity Student Ratio Set-up Mins (50M/Hr) Clean-up Mins (50M/Hr)

17136 Automation-Aided Instructional BUilding

1:20

30min

30min

Table 16. Ammunition Requirements
DODIC Name Exp Student Ratio Instructor Ratio Spt Qty

None

Table 17. Instructor Guidance
NOTE: Before presenting this lesson, instructor must thoroughly prepare by studying this lesson and identified reference material.

Lesson Preparation

The facilitator should ensure the classrooms are scheduled and prepared, all students materials are on hand in the quantities needed, and the equipment is in working condition. Additionally, the facilitator must ensure usernames and passwords have been established for each student to enable access to the network and sufficient data is available in the training network for practical exercise and demonstration purposes, when appropriate.

Lesson Training Strategy

This lesson is taught through a blended learning model that combines classroom instruction with demonstrations and practical exercises, interactive tools, hands-on activities, and online assessments that provide immediate feedback. It delivers a comprehensive learning experience to help students develop the foundational skills needed to use to tools and environment for the remainder of the course, along with career skills such as, lifelong learning, tactical and technical competence, critical thinking and problem solving. Students will gain concrete experience through self-study homework assignments that will allow them to engage with the content, the instructor, each other, as well as self. Inform the Students of the terminal learning objective requirements and identify how the Students should demonstrate the accomplishment of the TLO. Refer the Student to the Individual Student Assessment Plan (ISAP).

The General Learning Outcomes that can be applied to this lesson are:

1. Demonstrate proficiency in mission command systems

2. Demonstrate capacity in creative - critical thinking

3. Demonstrate proficiency in communications skills

4. Pursue lifelong learning, self-assessment, and goal setting.

5. Demonstrate proficiency in Army and Joint doctrine

6. Support Army policies, programs, and processes

7. Technically and tactically proficient

Other Guidance

Facilitators must incorporate the political, military, economic, social, information, infrastructure, and physical environment and time (PMESII & PT) into each learning activity and classroom work as appropriate. Illustrate them with appropriate examples from the Operational Environment (OE) as it pertains to the lesson.

Table 18. Proponent Lesson Plan Approvals
Name Rank Position Date

TBD

TBD

Approver

TBD

SECTION II. INTRODUCTION

Security Classification: UNCLASSIFIED

*Method of Instruction:

DSL - Discussion (Large or Small Group).

*Mode of Delivery:

Resident Instruction

*Instructor Type (I:S Ratio/Qty):

Military/Civilian - (1:10)

*Time of Instruction (50M/hr):

10 mins

Motivator

Introduce the lesson with some sort of software engineering anecdote based on your professional experience. If you have no experience or qualifications as a teacher, try using a public example of how continuous integration/delivery/deployment can improve workflows (example: https://blog.badsectorlabs.com/pelican-gitlab-cicd-docker-aws-awesome-static-site.html). The goal here is to provide a realistic example for why version control matters and what it can do for you.

Terminal Learning Objective At the end of this lesson, students will understand the tools, environment, and expectations in order to succeed in the remainder of the course.

Action:

Write a working VTA HEAT template within a git project according to given prompt.

Conditions:

Given classroom environment, instructor assistance, workstation, access to the virtual training area, and a vulnerable ELF executable binary.

Standards:

Students will work individually in a graded exercise (test) to fork an existing repository with the assignment prompt , build a working heat template, and commit and push their solution back to the repository.

Learning Domain – Level:

Cognitive - Application, Psychomotor - Guided Response, Affective - Valuing

JPME Learning Areas Supported:

No JPME

Safety Requirements

To prevent injury or damage to personnel and equipment, inform the students that this lesson has been assessed for risk as low with the following safety precautions:

Essential to Army operations and activities, all operations must provide for public safety, safe and healthful workplaces, procedures, and equipment. Observe all safety precautions when using lifting devices and handling heavy parts. Observe all safety and/or environmental precautions regarding electricity, radiation, radio frequency (RD), fuel, lubricants, high pressures, and refrigerants. Provide ventilation for exhaust fumes during equipment operation and use hearing protection when required In accordance with AR 385-10 (The Army Safety Program), the Clear Air Act (CAA), CAA amendments, National Ambient Air Quality Standards (NAAQS), and the OSHA Communication Standard.

Supervisors will ensure all Instructors and Assistant Instructors (AI):

Attend annual Training Developers Risk Safety Management Training. Are qualified to operate equipment and / or software related to the course. Review evacuation plans monthly and update as required by monitoring facility renovations and impacts on evacuation plans.

Instructors will ensure Students comply with the tenants of the Army Safety Program and that they conduct themselves accordingly. Ensure Students adhere to all safety precautions specific to each activity, during the conduct of the class, PE or capstone. Conduct daily risk assessment briefings derived from the approved DD 2977, and update the Daily Risk Assessment log. Immediately report all accidents and injuries to the supervisor. Monitor and adhere to Soldier profiles.

In addition you must be aware and comply to the following: An instructor will be present at all times students are engaged in training. The instructor-to-student ratio will be increased as necessary during hands-on performance activities.

Table 19. Risk Assessment
Low - Fire

Assessment:

Possible electrical or structure fire in classroom / building.

Controls:

Brief Students on location of evacuation routes and fire extinguishers as well as remind Students to imediately exit the building.

Leader Action:

Brief STudents and account for all personnel

Probability of Occurrence:

Unlikely

Severity:

Moderate

Low - Voltage Shock

Assessment:

Possible electrical shock due to equipment in classroom

Controls:

Brief students prior to working on the equipment. Ensure personnel know where power panels, circuit breakers, and emergency cut-off switches are located. Properly ground equipment.

Leader Action:

Brief students and account for all personnel

Probability of Occurrence:

Unlikely

Severity:

Moderate

Table 20. Environmental Considerations

NOTE: Instructor should conduct a risk assessment to include environmental considerations IAW the current environmental considerations publication, and ensure students are briefed on hazards and control measures.

In an operational environment, it is the responsibility of Soldiers and DA civilians to protect the environment from damage. All operations must conform to the Army Environmental Program TC 3-34.489 (The Soldier and the Environment), FM 3-34.5 (Environmental Considerations), and local, state and federal environmental policies, the Clean Air Act (CAA), CAA amendments, National Ambient Air-Quality Standards (NAAQS), as well as Occupational Safety and Health Administration (OSHA), Hazard Communication Standard for Industry, 29 CFR, part 1910. Handle, use, store, and dispose of hazardous materials and hazardous waste (e.g., chemicals, cleaning solvents, contaminated materials, etc.) in accordance with the Material Safety Data Sheets (MSDS), unit Standard Operation Procedures (SOP) requirements, and all federal, state, local, and Army regulations. A study was conducted and since this class will be taught in a heated/air conditioned classroom with industrial standard electrical connections and grounding procedures, it was determined there was very little chance for environmental impact. Even so, ensure the students are reminded that it is the responsibility of all soldiers and DA civilians to protect the environment from damage.

Table 21. Instructional Lead-in

Ensure the students understand the conditions and the standard for this lesson. This lesson reviews and summarizes the TLO and standards for following LSAs that will be taught as part of this module.

Version control is a fundamental concept to maintain and improve code. CI/CD allows software engineers to automatically build, test, and deploy to production. VTA itself will provide students with the necessary computational resources to complete all assignments in the course.

SECTION III. Presentation

Note: See Facilitator Guide in Appendix E for more complete instructor guidance for this lesson.

LSA 1 - Understand the Virtual Training Area and how to deploy training environments

Table 22. LSA 1 - Understand the Virtual Training Area and how to deploy training environments
Method of Instruction DM - Demonstration

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment, Live Demonstration

Other Media Type

None

Security Classification

UNCLASSIFIED

Description: Instructor will walk students through how to log in to VTA using the web-based gui in an on-screen demonstration. As the instructor does this, she or he will describe how openstack works in a general sense and note the ephemeral nature of the resource. The instructor will provide the students with a HEAT yaml to deploy a virtual machine with openstackcli installed. The instructor will then walk students through accessing their virtual machine and using openstackcli to interface with the VTA.

Check on Learning:

The instructor will conduct a check on learning by walking around and ensuring all students are able to access their VMs and access VTA through the command-line interface.

Review Summary:

Review the importance of the VTA and the resources it provides students to use for the remainder of the course. Also re-emphasize that the environment is an emphemeral resource and that students should back up important data stored in the VTA regularly.

LSA 2 - Understand git as a version control system

Table 23. LSA 2 - Understand git as a version control system
Method of Instruction DSL - Discussion (Large or Small Group)

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment

Other Media Type

Security Classification

UNCLASSIFIED

Description: Instructor will give students an overview of the history and usage of git as a version control system. Instructor will cover why git was created, how it is used, its balance between centralized management and distributed contribution, and advantages of git relative to other version control tools.

Instructors should cover adding files, removing files, push, pull, merge, commit, branch, commit messages, and discuss the flow of a project over time and with multiple branches. Instructor should also show examples of viewing the commit history of a project.

Students should be encouraged to try websites like https://try.github.io/ to learn more about git.

Check on Learning:

Determine if the students have learned the material presented by soliciting student questions and explanations. Ask students questions and correct any misunderstandings.

1. What is the difference beteen a push and a pull?

A: A push sends files to a remote server, a pull retrieves files from a server.

2. What is a branch and how is it used?

A branch is a independent version of the codebase within a repository that allows developers to add code and implement features without affecting primary or master branches. Branches can be merged together in order to combine changes into a single codebase.

3. Why should developers use version control systems?

Developers should use version control systems in order to streamline code base management, track changes, track releases, and enable multiple developers to work together on a single code base.

Review Summary:

Re-emphasize the importance of git for the rest of this course and point students at online resources to get better if they are new to git, especially from the command line.

LSA 3 - Demonstrate ability to use git within gitlab as a version control system

Table 24. LSA 3 - Demonstrate ability to use git within gitlab as a version control system
Method of Instruction PS - Problem Solving

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment

Other Media Type

Security Classification

UNCLASSIFIED

Description: Instructor will cover using git within gitlab and discuss creating projects, adding files, deleting files, merge request (and a github pull request), as well as permissions and using the gitlab API with access tokens.

Check on Learning:

Instructor will give students a problem solving exercise and a checklist of tasks to complete on their own within a gitlab personal project. Instructor will direct students to create a new personal project in the Cyber School gitlab from the command line, add several files to the project over multiple commits, push the commits to gitlab, and view the updated project within gitlab. The checklist will include a markup readme, and a copyright markup. Students should also experiment with modifying permissions in gitlab and sharing permission with others. Students will create a private repository and access a raw file using curl and a gitlab access token that they created.

Review Summary:

Instructor should review the checklist and ensure all students were able to complete the problem solving activity. Re-emphasize the importance of gitlab for the rest of this course and point students at online resources to get better if they are new to git, especially from the command line.

LSA 4 - Demonstrate ability to use gitlab Continuous Integration/Continuous Delivery/Continuous Deployment

Table 25. LSA 4 - Demonstrate ability to use gitlab Continuous Integration/Continuous Delivery/Continuous Deployment
Method of Instruction PS - Problem Solving

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment

Other Media Type

Security Classification

UNCLASSIFIED

Description: Instructor will cover the gitlab-ci.yml file, discuss the capabilities of Gitlab CI/CD, and provide a demo of using a gitlab-ci.yml file to conduct post-commit actions. Instructor should also refer students to the gitlab documentation.

Check on Learning:

Students will be assigned a list of outcomes that must be performed in a gitlab-ci.yml file and an associated repository. They will use the documentation to draft their own solutions to the assignment.

Review Summary:

At the end of the lesson, go through one of the student’s products or use the example in the Facilitator Guide. Ensure that students understand and are able to use CI/CD to automate testing, building, and deployment of code.

LSA 5 - Understand Atlassian as a toolsuite and its similarities and differences with gitlab

Table 26. LSA 5 - Understand Atlassian as a toolsuite and its similarities and differences with gitlab
Method of Instruction CAC - Compare and Contrast

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment

Other Media Type

Security Classification

UNCLASSIFIED

Description: Discuss the Atlassian Suite of tools, briefly listing each one and providing a general overview of what they do. Assign an Atlassian tool to each student and have them conduct research on the tool. Have each student research their individual tool, identify a gitlab equivalent if it exists, and compare and contrast the tool suites.

Check on Learning:

After their research, students should each give a 2-3 minute brief on their particular assigned tool.

Review Summary:

If the students missed any key points, cover those points with the students and summarize each tool again.

LSA 6 - Demonstrate ability to use git within Atlassian Bitbucket as a version control system

Table 27. LSA 6 - Demonstrate ability to use git within Atlassian Bitbucket as a version control system
Method of Instruction PS - Problem Solving

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment

Other Media Type

Security Classification

UNCLASSIFIED

Description: Instructor will provide a demonstration to go over Bitbucket and cover all the features available in the interface. Then the instructor will demonstrate command-line-based access to bitbucket. Instructor should use DI2E for this demonstration.

Check on Learning:

Students should be instructed to perform the same checklist associated with the Gitlab exercise but on Bitbucket on DI2E instead. At the end of the work period, go over all the tasks with the students to ensure they were successful.

Review Summary:

Summarize the key similarities and differences between Gitlab and Bitbucket

LSA 7 - Demonstrate ability to utilize Atlassian Jenkins for continuous integration, deployment, and delivery

Table 28. LSA 7 - Demonstrate ability to utilize Atlassian Jenkins for continuous integration, deployment, and delivery
Method of Instruction PS - Problem Solving

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment

Other Media Type

Security Classification

UNCLASSIFIED

Description: Use the previous discussion related to Gitlab CI/CD to introduce students to Atlassian Jenkins. Provide an overview of its capabilities and provide a sample demonstration on how to perform the same tasks with Jenkins that were performed with Gitlab CI/CD.

Check on Learning:

Assign students the same tasks in the Gitlab CI/CD exercise but have them complete it using Jenkins on DI2E.

Review Summary:

At the end of the lesson, go through one of the student’s products or use the example in the Facilitator Guide. Ensure that students understand and are able to use CI/CD to automate testing, building, and deployment of code.

LSA 8 - Understand Gitlab, Atlassian, VTA, Aquinas and their relation to course requirements for activities and graded events

Table 29. LSA 8 - Understand Gitlab, Atlassian, VTA, Aquinas and their relation to course requirements for activities and graded events
Method of Instruction DSL - Discussion (Large or Small Group)

Mode of Delivery

RI - Resident Instructor

Instructor Type

Military/Civilian

Instructor:Student Ratio

1:10

Time of Instructions

2 hrs 0 mins

Media Type

Actual Equipment

Other Media Type

Security Classification

UNCLASSIFIED

Description: Instructor should grant all students access to the Atlassian Bitbucket repository with resources for the rest of the class. Students should learn how to clone the repository and use the resources for the rest of the course. The instructor should walk through the course schedule and point out the various gitlab repositories that will support instruction and submission. The instructor should walk students through how to use Gitlab to submit projects for grading. Review the VTA and the common repository of standard deployments of various desktops as samples. Instructor should be able to access Aquinas and understand how it will inform class instruction.

Check on Learning:

Determine if the students have learned the material presented by soliciting student questions and explanations. Ask students questions and correct any misunderstandings.

1. Where are all of the class resources hosted?

2. Where and how do students access and submit graded projects? After this, guide stuents ito PE3 to discuss Aquinas.

Review Summary:

Review the key tenents of the entire lesson in preparation for the graded project.

SECTION IV. SUMMARY

*Method of Instruction:

Reflective Discussion

*Mode of Delivery:

Resident Instruction

*Instructor Type (I:S Ratio/Qty):

Military/Civilian ICH (1:10)

*Time of Instruction:

0 hrs 18 mins

Check on Learning Questions:

There is a graded practical exercise (categorized as a test) for this lesson.

Review Summary:

After the graded exercise, review the project and discuss potential solutions to the project.

SECTION V. STUDENT EVALUATION

Table 30. Testing Requirements
NOTE: Describe how the student must demonstrate the accomplishment of the TLO. Refer student to the Individual Student Assessments Plan (ISAP). Students are assessed on their ability to demonstrate knowledge of the facilitated material by participating in group discussions, completing exercise throughout the lesson, and by completing the graded practical exercise at the end of the lesson. Given access to a repository with a programming assignment related to the TLO and an associated grading rubric, students will use their workstations to write code that satisfies the requirements of the assignment, scoring a 70% or higher per the rubric.
Table 31. Feedback Requirements
NOTE: Feedback is essential to efficient and effective learning. The instructor should continuously provide performance feedback to the students throughout the instruction and should encourage students to provide constructive feedback to each other. If a student does not participate in the group discussions, the instructor should explain the expectations and encourage the student to participate. If a student provides incorrect information or is unable to accurately answer questions during a discussion, the instructor should provide and present the correct information and clarify misunderstandings. If a student is unable to complete an activity, the instructor should assist the student though the activity.

Evaluation feedback is provided external to the training module and lesson plan.

Appendix A – Viewgraph Masters

Table 32. These include asciidoctor slide decks, graphics, links to video clips, or other resources
Sequence Media Name Media Type

Appendix B – Test(s) and Test Solution(s)

Test 1

Assessment Statement:

This assessment evaluates the student’s ability to utilize the class environment when presented with a new problem. Students must use existing skills in a new way to complete this exercise, thus demonstrating and developing problem solving skills. The instructor has granted you access to your own repository for this graded event. Follow the instructions in the file labled 'README.md' and build your own working VTA HEAT template per the instructions and commit and push your solution to your repository. When the time has completed, the instructor will run the grader script which will pull your code and automatically grade it according to the rubric in the repository.

Assessment Plan

The intent in this course is for all graded assignments to be automated as much as possible.

The general workflow for automation is as follows:

  1. Instructor runs a script that will clone a private repo (ex1) a bunch of times and gives each student access to their own version of the repo

  2. students do their things and commit before time ends

  3. at time end, a second script creates a second private repo (ex1-submissions), iterates through all the students, clones their repository and then stores it as a branch within the overall repo. This second repo then has a CI/CD that grades the submissions and produces artifacts that can be downloaded/stored/complied/etc

Test

The contents of README.md exist in a protected gitlab repository

Solution

A solution is redacted from this version of the lesson plan.

Rubric

The contents of RUBRIC.md exist in a protected gitlab repository

Appendix C – Practical Exercises and Solutions

Exercise 1

Exercise 1 Prompt

Create a new personal gitlab project and configure a continuous integration runner according to the activity prompt

Solution to Exercise 1

Solution exists in a protected gitlab repository

Exercise 2

Exercise 2 Prompt

Clone the course Atlassian Bitbucket repository from DI2E and make a change according to the activity prompt.

Solution to Exercise 2

Solution exists in a protected gitlab repository

Exercise 3

Exercise 3 Prompt

Connect to Aquinas and complete the introduction project exercise.

Solution to Exercise 3

Solution exists in a protected gitlab repository

Appendix D – Student Handouts

Table 33. Student Handout 1
This document should contain a subset of the facilitator guide that is releasable to the students.

Appendix E – Trainer’s Lesson Outline (Facilitator Guide)

Table 34. Facilitator Guide 1

:pdf: true :doctype: book

image::https://git.cybbh.space/global-objects/resources/raw/master/images/cyber-branch-insignia-official.png[Cyber,width=128,float="right"]

= 17D BOLC Facilitator Guide

== U.S. Army Cyber School 2019

:numbered!:

= Module B - Tool Developer Introduction

== Course Environment Introduction

FG Example Goes here