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
- SECTION II. INTRODUCTION
- SECTION III. Presentation
- SECTION IV. SUMMARY
- Appendix A – Viewgraph Masters
- Appendix B – Test(s) and Test Solution(s)
- Appendix C – Practical Exercises and Solutions
- Appendix D – Student Handouts
- Appendix E – Trainer’s Lesson Outline (Facilitator Guide)
SECTION I. ADMINISTRATIVE DATA
Course Number | Version | Course Title | Phase | Status |
---|---|---|---|---|
4-17D-C208 (CT) |
01.0 |
Cyber Capability Development Officer BOLC |
0 |
Pending |
POI Number | Version | Title | Phase | Status |
---|---|---|---|---|
4-17D-C208 (CT) |
01.0 |
Cyber Capability Development Officer BOLC |
0 |
Pending |
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 |
Individual Task Number | Task Title | Status |
---|---|---|
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 |
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 |
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 0 mins |
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 |
Hours (50 min) | Lesson Number/Version | Lesson Title: |
---|---|---|
Hours (50 min) | Lesson Number/Version | Lesson Title |
---|---|---|
Security Level - This course/lesson will present information that has a Security Classification of: UNCLASSIFIED
Foreign Disclosure - FD1: Course is releasable to students from all requesting foreign countries without restrictions.
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 |
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 |
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.
-
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.
-
Instructors meet 8140.01M workforce certification requirements for IAT Level II.
-
Instructor has bassed the Basic Skill Level Exam for a Basic CCD per ARCYBER Standards.
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 |
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 |
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 |
-
Cyber Training Battalion Virtual Training Area (VTA)
-
Cyber School Gitlab
-
DI2E 17D Course Reference Materials
-
CSD Guidelines Repository
-
DI2E 17D Course Reference Materials
ID - Name | Quantity | Student Ratio | Set-up Mins (50M/Hr) | Clean-up Mins (50M/Hr) |
---|---|---|---|---|
17136 Automation-Aided Instructional BUilding |
1:20 |
30min |
30min |
DODIC | Name | Exp | Student Ratio | Instructor Ratio | Spt Qty |
---|---|---|---|---|---|
None |
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. |
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. |
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 |
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. |
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
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
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? 2. What is a branch and how is it used? 3. Why should developers use version control systems? |
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
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
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
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
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
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
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
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. |
---|
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
Sequence | Media Name | Media Type |
---|---|---|
Appendix B – Test(s) and Test Solution(s)
Test 1
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.
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:
-
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
-
students do their things and commit before time ends
-
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
The contents of README.md exist in a protected gitlab repository
A solution is redacted from this version of the lesson plan.
The contents of RUBRIC.md exist in a protected gitlab repository
Appendix C – Practical Exercises and Solutions
Exercise 1
Create a new personal gitlab project and configure a continuous integration runner according to the activity prompt
Solution exists in a protected gitlab repository
Exercise 2
Clone the course Atlassian Bitbucket repository from DI2E and make a change according to the activity prompt.
Solution exists in a protected gitlab repository
Exercise 3
Connect to Aquinas and complete the introduction project exercise.
Solution exists in a protected gitlab repository
Appendix D – Student Handouts
This document should contain a subset of the facilitator guide that is releasable to the students. |
---|
Appendix E – Trainer’s Lesson Outline (Facilitator Guide)
Facilitator Guide Example Goes Here |
---|