Onboarding Challenge - Ground 0
- Task-Centered Introduction
- Activation — You Already Know More Than You Think
- Demonstration — See the Tools and Workflow in Action
- Onboarding Objectives - Ground 0
- Ground 0 Team Activities
- Technical & Learning Evaluation
- Professional Evaluation
Task-Centered Introduction
Welcome to the Open Coding Society — where you’ll develop professional software engineering skills while building real projects with your classmates.
The Challenge
Starting a new development environment can be overwhelming. You will encounter unfamiliar tools, new workflows, new teammates, and problems that do not always have obvious answers.
This is your first challenge: learn to work in an unfamiliar development environment.
Instead of simply following a set of instructions, you will document your setup process, troubleshoot problems, make decisions, and create solutions that help both you and your teammates succeed.
You are beginning to work as a student developer. Your work will include:
-
Mastering professional development tools
- VS Code
- GitHub
- Git
- Development and testing workflows
-
Building web-based projects
- Individual GitHub Pages portfolio
- Team project sites
- Project documentatio
-
Developing collaboration practices
- Issues
- Kanban boards
- GitHub workflows
- Team communication
-
Beginning your course-specific development
- CSSE: Begin ideation and development of a new game while learning the OCS game engine.
- CSP: Begin ideation and development of an OCS project or contribute to and extend a nonprofit project.
- CSA: Begin ideation, design, development, maintenance, and testing of an existing OCS system.
- CSH: Begin research and development focused on extending OCS intelligence.
-
Documenting your learning journey
- Setup instructions
- Troubleshooting notes
- Decisions and solutions
- Learning reflections
This class mirrors the experience of professional software engineering onboarding. You are not expected to know everything when you begin. You are expected to learn how to find your way through unfamiliar problems.
The Problem
New developers often feel overwhelmed by unfamiliar tools, workflows, technologies, and expectations. A problem that seems simple can become difficult when you do not yet understand the environment in which you are working.
Your job is not simply to get everything working and perfect it.
Your job is to learn how to get things working and keep improving.
That means learning how to investigate a problem, ask useful questions, find information, test possible solutions, document what you discover, and help the next person who encounters the same problem.
The Goal
By the end of the first onboarding sprint, you will:
- Build Your Personal Portfolio: Have your individual GitHub Pages site online and validate that your required code runners and development tools are working.
- Build Working Proficiency: Become comfortable using the essential tools and workflows required for your course.
- Establish Your Development Workflow: Understand how you will create, test, document, and submit your work.
- Document Your Progress: Create useful issues, Kanban boards, plans, and technical notes that guide your development.
- Begin Your Project: Move from onboarding into meaningful development work appropriate to your course.
- Reflect on Your Learning: Begin identifying what you know, what you do not yet know, how you respond to problems, and how your approach changes as you gain experience.
mindmap
root((Student Developer))
🛠️ Develop Skills
VS Code
GitHub
Git
Development Workflow
🏗️ Build Projects
Team Collaboration
Individual Portfolio
GitHub Pages
Course Project
📝 Document Progress
Setup Instructions
Troubleshooting Notes
Issues
Plans
Learning Reflections
Professional software developers use these same tools and workflows when joining new teams, learning unfamiliar systems, and building applications.
Why This Matters
The skills you develop during onboarding form the foundation for your future coursework.
If you learn how to work effectively in an unfamiliar technical environment, you will spend less time fighting your tools and more time solving meaningful problems.
More importantly, you will begin developing an engineering habit that will serve you throughout the year:
Encounter a problem → investigate → experiment → solve → document → reflect → improve.
This onboarding challenge is the beginning of that process.
Activation — You Already Know More Than You Think
You are a learner, a developer, and a teacher.
Every success, error, question, and breakthrough is something you can learn from — and something that may help someone else.
You are not starting from zero.
You have already spent years learning how to learn, solve problems, work with others, and respond when something does not make sense.
What You Already Know
| You’ve Used | Now You’ll Use It As a Developer |
|---|---|
| Rubrics | Define what “good” looks like |
| Checklists | Build repeatable processes |
| Assessments | Test whether something works |
| Feedback | Improve your work |
| Teamwork | Collaborate on a real project |
| Creative Problem Solving | Find solutions when there is no answer key |
And you already know the basic progression of learning:
Remember → Understand → Apply → Analyze → Evaluate → Create
In software development, that might look like:
Know a command → understand what it does → use it → troubleshoot it → choose between solutions → build something new
That’s the transition from student to student developer.
Your Hidden Advantage
You’ve spent more than a decade being a student.
You’ve experienced:
- Great instructions — and confusing ones
- Helpful feedback — and feedback that wasn’t
- Teams that worked — and teams that struggled
- Assignments that engaged you — and assignments that didn’t
You already know what it feels like to be the learner.
Now you get to use that experience to become a better developer.
The PBL Mindset
Project-based learning changes the question.
Instead of:
“What does the teacher want me to do?”
Start asking:
“What do I need to figure out to move the project forward?”
You will:
Encounter → Investigate → Experiment → Solve → Document → Reflect → Improve
Your Mission
You are the beginner.
That is an advantage.
When something is confusing, capture the confusion.
When something breaks, document the solution.
When you discover a better way, share it.
When your team struggles, look for a better process.
Your struggles are not evidence that you are failing.
They are evidence that you are learning.
And what you learn can become the documentation, tools, and knowledge that help the next student succeed.
Demonstration — See the Tools and Workflow in Action
Follow along: Open your own VS Code workspace and GitHub repository as we work through this demonstration.
So far, we’ve focused on how you think and learn.
Now let’s see the development environment you will use.
The Foundation
You will use these tools repeatedly throughout the year:
| Tool | What It Does |
|---|---|
| VS Code | Write and edit Markdown, JavaScript, and other project files |
| VS Code Marketplace | Find and install extensions that improve your development environment |
| Make | Automate repetitive development tasks |
| Git | Track changes and build a history of your work |
| GitHub | Store, share, and collaborate on your code |
| GitHub Actions | Automatically build, test, and publish your projects |
| GitHub Pages | Publish your web projects |
Watch the Workflow
The important thing is not learning each tool in isolation.
Watch how they work together.
flowchart LR
A[VS Code<br/>Create & Edit]
B[Make<br/>Build & Test]
C[Git<br/>Commit Changes]
D[GitHub<br/>Push & Sync]
E[GitHub Actions<br/>Automate]
F[GitHub Pages<br/>Publish]
A --> B --> C --> D --> E --> F
What You’ll See
During the demonstration, we will:
- Open VS Code and review the key extensions.
- Explore this notebook and the Markdown used to create it.
- Make a change to a file.
- Build or test the change using Make.
- Commit the change using Git through VS Code.
- Push the commit to GitHub.
- Watch GitHub Actions run automatically.
- Verify the published result on GitHub Pages.
From Tools to Software Development
These tools support the Software Development Lifecycle (SDLC).
As you progress, the simple onboarding loop will grow into a larger engineering workflow:
flowchart TD
A[Plan<br/>Issues & Backlog]
B[Develop<br/>Code & Build]
C[Test<br/>Unit & System Tests]
D[Version<br/>Commit & Push]
E[Collaborate<br/>Review & Merge]
F[Deploy<br/>Publish]
G[Reflect<br/>Issues & Replan]
A --> B --> C --> D --> E --> F --> G
G --> A
Development Practices
The onboarding challenge is the entry point to a the set of development practices.
| Practice | Purpose |
|---|---|
| Tools & Equipment | The development environment used to build, test, and deploy software. |
| GitHub Pages | The framework for a web project — pages, layouts, Markdown, HTML, JavaScript, and how everything connects. |
| Agile Methodologies | How teams organize work, make decisions, and select project teams. A key focus of Agile is to use short cycles and iterate often |
| Sprint Framework | How work is organized into short, focused development cycles with checkpoints. |
Onboarding Objectives - Ground 0
Check your starting position.
You have spent Weeks 0–1 setting up your development environment, working through guides, solving problems, and beginning to explore ideas according to your skill level.
Now, as you enter Weeks 2–3, make sure you are ready to move your mind from:
Onboarding → Project Development
| Section | Ready? |
|---|---|
| 1. Understand the Challenge | ☐ |
| 2. My Development Environment | ☐ |
| 3. My GitHub Workflow | ☐ |
| 4. Forming the Team | ☐ |
| 5. Beginning the Project | ☐ |
1. Understand the Challenge
- I understand that the goal was not simply to install tools, but to learn how to work through an unfamiliar development environment.
- I can identify at least one problem I encountered and explain how I solved or investigated it.
- I have documented something that could help another student.
- I have a story about how forming a team, positives and challenges.
- I have a story about starting a team project, positives and challenges.
- I can explain the Onboarding Objectives in my own words.
2. My Development Environment
- I can open my development environment and begin working without waiting for someone else.
- I can edit and preview the files I will use in my course.
- I can use Git/GitHub to commit and push my work.
- I know where to find the tool setup and troubleshooting guides.
- I know how to ask for help when I am stuck.
- I have a working strategy for my personal computer and development environment.
3. My GitHub Workflow
- I can locate my GitHub repository.
- I can create an issues in my GitHub repository location.
- I can commit a change in GitHub.
- I can create or edit a file in VSCode.
- I can commint and sync changes from VSCode to GitHub.
- I know about GitHub Actions and can determine if my site is working.
- I know how to load my GitHub Pages portfolio site in my browser.
4. Forming the Team
Before Forming the Team
- I have completed or reviewed the team formation process.
- I have read an article on selecting effective development teams.
- I have identified my persona, skills, interests, and strengths in OCS.
- I understand the expectation for diversity of skills, interests, and perspectives when forming teams.
- I have considered which teammates I may work well with.
- I have sat in proximity to potential teammates.
Establishing the Team
- I know my team members’ names.
- We have discussed our skills, interests, and perspectives.
- We have established a team communication channel.
- I have shared my preferred contact method with my teammates.
- We have established a team Agile manifesto and communication protocols.
Beginning to Operate as a Team
- We have identified the coding challenges required for our course.
- We have created team and individual GitHub repositories.
- We have created team and individual GitHub issues, kanban, and milestones.
- We have begun team decision-making processes such as stand-ups, pin-ups, and burndowns.
- We have practiced Live Share, debugging, or pair programming.
- We have established a process for discussing problems and resolving issues.
- We have established our team contribution workflows: fork, branch, pull request, or direct collaboration as appropriate.
- We have identified how we will accept feedback and take action between checkpoints.
5. Beginning the Project
- I have participated in project ideation.
- I can describe at least one problem or project idea our team is considering.
- I have contributed an idea, question, research finding, or technical consideration.
- I have created or contributed to a GitHub issue related to our work.
- We have established our first project direction.
- I understand what tasks I am expected to accomplish before the next sprint checkpoint.
- We have identified what the team needs to accomplish before the next checkpoint.
- I know that presenting evidence is part of my responsibility as I work.
Ground 0 Team Activities
Team Formation
Understand → Introduce → Explore → Form
Read, discuss, and use the team-formation process to create groups based on skills, interests, perspectives, and project needs, rather than friendship alone.
Team Initialization
Organize → Connect → Decide → Build
Establish the team’s communication, GitHub workflow, coding practices, decision-making processes, and initial project direction.
Team Practice
Communicate → Collaborate → Solve → Document
Begin practicing the behaviors expected throughout the sprint:
- Daily checkpoints
- Issue tracking
- Pair programming
- Live debugging
- Peer support
- Decision documentation
- Evidence collection
- Integration and Test policies
- Preparing for Checkpoints and Demos
Technical & Learning Evaluation
This checklist looks beyond whether you completed a task.
Technical development includes using tools, building solutions, solving problems, learning from mistakes, and becoming more independent.
Your evaluation should show not only what you completed, but how your technical ability changed during the sprint.
Evaluation Matrix
Supply a GitHub Issue with your self-evaluation scores and one summary for each section.
Rank each area individually. Write one reflection for each section.
You do not need to write a separate response for every row.
Tools & Development Environment
| ID | Area | Self Rank | Peer | Teacher |
|---|---|---|---|---|
| T01 | Development Environment | 0 | — | — |
| T02 | VS Code | 0 | — | — |
| T03 | Git / GitHub | 0 | — | — |
| T04 | Portfolio / GitHub Pages | 0 | — | — |
Summary:
Describe how your ability to use your development environment changed during the sprint. Include a specific setup problem, tool, workflow, or technical process that you learned to manage.
Development & Creation
| ID | Area | Self Rank | Peer | Teacher |
|---|---|---|---|---|
| T05 | Tools & Equipment Hacks | 0 | — | — |
| T06 | Portfolio / Blogging Hacks | 0 | — | — |
| T07 | Theme / Style / Layout | 0 | — | — |
| T08 | JavaScript / Coding Challenges | 0 | — | — |
| T09 | AI Orchestration | 0 | — | — |
Summary:
Describe something you built, modified, customized, or extended during the sprint. Explain a tool, technique, coding challenge, design decision, or AI orchestration process that helped you create or improve your work.
Technical Awareness & Communication
| ID | Area | Self Rank | Peer | Teacher |
|---|---|---|---|---|
| T10 | Tech / Cyber Growth | 0 | — | — |
| T11 | Learning Through Mistakes | 0 | — | — |
| T12 | Tech / Cyber Talk | 0 | — | — |
Summary:
Describe how your technical understanding and communication developed during the sprint. Include a specific example of something you learned, a mistake that changed your understanding, or a technical idea you can now explain more clearly.
Ranking Guidelines
Rank each area based on the technical ability you demonstrated during the sprint.
0 means you have not entered a rank yet.
Start with 1 and select the level that best represents your demonstrated ability.
| Rank | Description |
|---|---|
| 0 | Not Entered — No self-assessment has been entered yet. |
| 1 | Explore — I have encountered or experimented with this technology or skill. |
| 2 | Understand — I can explain it and perform basic tasks with support. |
| 3 | Apply — I can use it independently in my project work. |
| 4 | Analyze / Evaluate — I can troubleshoot problems, compare approaches, and improve my solution. |
| 5 | Create / Extend — I can independently customize, extend, or create solutions using the skill. |
Peer / Teacher Calibration: − = below self-assessment · = = consistent with self-assessment · + = above self-assessment
Before the Evaluation
- I reviewed my Ground 0 Checklist.
- I reviewed the technical evidence collected during the sprint.
- I completed my self-ranking before receiving peer or teacher feedback.
- I can support my rankings with examples from my work.
- I identified at least one technical area where I want to improve.
Peer Perspective
With your team:
- I reviewed technical work or evidence from a teammate.
- I identified a technical strength a teammate demonstrated.
- I identified a constructive opportunity for a teammate to improve.
- My feedback is based on technical evidence or observed work rather than personal preference.
Teacher Perspective
The teacher will use working code, repositories, commits, issues, demonstrations, documentation, troubleshooting, and discussions to evaluate technical growth.
Compare the Perspectives
After the peer and teacher evaluations are complete:
- I compared my self-ranking with my peer ranking.
- I compared my self-ranking with my teacher ranking.
- I identified an area where the perspectives agreed.
- I identified an area where the perspectives differed.
- I considered why the perspectives may have differed.
- I identified one specific technical action for my next sprint.
Retrospective Question
What can I do now as a developer that I could not do at the beginning of this sprint?
Strongest Technical Evidence
The technical evidence I am most proud of:
TBD
The biggest technical problem I solved:
TBD
The technical skill I most need to improve:
TBD
My next technical learning goal:
TBD
Professional Evaluation
This checklist and its summaries look beyond technical tasks.
Professional development includes how you work, communicate, collaborate, respond to problems, and contribute to a team.
Your performance will be considered from three perspectives:
Self → Peer → Teacher
Evaluation Matrix
Supply a GitHub Issue with your self-evaluation scores and one summary for each section.
Rank each area individually. Write one reflection for each section.
You do not need to write a separate response for every row.
Core Behaviors
| ID | Area | Self Rank | Peer | Teacher |
|---|---|---|---|---|
| P01 | Attendance / Tardy | 0 | — | — |
| P02 | Work Habits | 0 | — | — |
| P03 | Integrity | 0 | — | — |
Summary:
Describe how you used your class time, responded to expectations, and demonstrated responsibility during the sprint. Include a specific example of a success, difficulty, or change you made.
Collaboration
| ID | Area | Self Rank | Peer | Teacher |
|---|---|---|---|---|
| P04 | Communication | 0 | — | — |
| P05 | Help Seeking | 0 | — | — |
| P06 | Mentoring / Advocacy | 0 | — | — |
Summary:
Describe how you communicated, sought help, helped others, and participated in your team. Include a specific interaction or example.
Professional Skills
| ID | Area | Self Rank | Peer | Teacher |
|---|---|---|---|---|
| P07 | Timeliness | 0 | — | — |
| P08 | Persistence | 0 | — | — |
| P09 | Organization | 0 | — | — |
| P10 | Engagement | 0 | — | — |
Summary:
Describe how you managed your time, persisted through difficulty, stayed organized, and remained engaged. Include a specific example of how you responded when the work became difficult or frustrating.
Ranking Guidelines
Rank each area based on the behavior you demonstrated during the sprint.
0 means you have not entered a rank yet.
Start with 1 and select the level that best represents your demonstrated behavior.
| Rank | Description |
|---|---|
| 0 | Not Entered — No self-assessment has been entered yet. |
| 1 | Beginning — I am beginning to recognize and practice this behavior. |
| 2 | Developing — I demonstrate this behavior sometimes, usually with reminders or support. |
| 3 | Consistent — I regularly demonstrate this behavior independently. |
| 4 | Strong — I consistently demonstrate this behavior and adjust when circumstances change. |
| 5 | Model — I consistently demonstrate this behavior and help others develop it. |
Peer / Teacher Calibration: − = below self-assessment · = = consistent with self-assessment · + = above self-assessment
Before the Evaluation
- I reviewed my Ground 0 Checklist.
- I reviewed the evidence collected during the sprint.
- I completed my self-ranking before receiving peer or teacher feedback.
- I can support my rankings with examples from my sprint.
- I identified at least one area where I want to improve.
Peer Perspective
With your team:
- I provided useful feedback to a teammate.
- I identified a strength that a teammate contributed to the project.
- I identified a constructive opportunity for a teammate to improve.
- My feedback is based on observed behavior or evidence rather than personal preference.
Teacher Perspective
The teacher will use project evidence, observations, discussions, documentation, and team interactions to evaluate growth.
Compare the Perspectives
After the peer and teacher evaluations are complete:
- I compared my self-ranking with my peer ranking.
- I compared my self-ranking with my teacher ranking.
- I identified an area where the perspectives agreed.
- I identified an area where the perspectives differed.
- I considered why the perspectives may have differed.
- I identified one specific action for my next sprint.
Retrospective Question
What did I learn about myself as a developer and teammate that I could not have learned from a grade alone?
Next Sprint Commitment
One professional behavior I will improve:
TBD
One technical skill I will improve:
TBD
One way I will contribute more effectively to my team:
TBD
Evidence I will collect during the next sprint:
TBD
Review – “Becoming proficient in Scrum Agile Workflow”
At the end of the sprint, teams consolidate their growth and show how they’ve applied technical, collaborative, and design skills.
flowchart TD
subgraph SR ["Sprint Review Cycle"]
A[Team Capability Review] --> B[Peer to Peer Presentation]
B --> C[Receive Feedback]
C --> D[Refinement & Iteration]
D --> E[Teacher Close-Out]
E --> F[Individual Mastery Review]
F --> G[Set Goals for Next Sprint]
G --> A
end
F --> H[Personal Growth]
Submit Failed — Enter Manually
Submit Assignment
Need to update a submission later? Open the submissions dashboard.
Lesson Chat — click to open
No messages yet.