Welcome to the Egret React Practicum!
Below is a quick outline of the practicum. Remember to stay in communication with your project team, project team student lead, and your practicum lead. Slack is the best place for your questions, and you have a Slack channel for your individual project as well as for the whole practicum group.
What You Will Be Learning
As you work together to enhance the project, remember that your goals are to:
- Gain experience working on a development team
- Collaborate + integrate code with a larger project
- Solve code problems with other developers
- Develop good continuous integration habits
- Get a sense of what software developer jobs are like
- Make real-world decisions about what code to include and why
- Gain exposure to agile methods and terminology
- Gain experience on a real-world, deployable project
- Understand development, staging and production pipeline concept
- Complete work that can be added to your portfolio
Course Calendar
The calendar below shows the start date of each week of the course and includes breaks and special events.
Course Sections
WEEK | START | END | LESSONS |
---|---|---|---|
0 | 12/20/21 | Project Setup and Prep (see bottom of current page) | |
1 | 12/20/21 | 12/23/21 | Week 1 – Project Definition & Setup |
– | 12/24/21 | 01/07/22 | HOLIDAY BREAK Groups/group members can choose to work individually or collaborative on Week 1 items, or look ahead at future assignments during this time if they choose. |
2 | 01/10/22 | 01/14/22 | Week 2 – Getting Started with Teamwork |
3 | 01/17/22 | 01/21/22 | Week 3 – Integrating Code & Resolving Conflicts |
4 | 01/24/22 | 01/28/22 | Week 4 – Project Work |
5 | 01/31/22 | 02/04/22 | Week 5 – Code Review |
6 | 02/07/22 | 02/11/22 | Week 6 – Test-Driven Development (TDD) |
7 | 02/14/22 | 02/18/22 | Week 7 – Deploying Apps |
8 | 02/21/22 | 02/25/22 | Week 8 – Final Presentations & Peer Evaluations |
– | – | – | Bonus: Career Concepts |
03/01/22 | Present your Practicum Project during Weekly Cafe at 12pm EST |
Before You Begin
Keep in mind this practicum is intended to be primarily student-led. Each team will determine their student lead after the first week is complete (unless you want to elect someone as lead earlier). The Student Lead will be the point person for project workflows and meetings, and should be the controller of the main project repository, but each team member should still take an active role in collaborative decision-making among your team. Don’t wait to be assigned something; think creatively about how you can contribute to your project’s success! Keep in mind the personal goals you had in mind when completing your group availability form, and work towards those goals.
Setup and Prep
Overview
Practicum is the experiential learning component of Code the Dream classes, where you will practice the skills you learned in class, on a software development team. Each team will consist of 3-4 students from your class. You will work together over 2 months to define, build, and deploy an application using the programming language you learned in class.
Each Dev Team Member is expected to spend about 10-20 hours per week on project work. Your team will start by brainstorming app ideas, then you’ll begin to define the features you want to build. From there, each team member will work on small chunks of the work, and your team will collaborate to integrate each person’s code into the project, and resolve any conflicts that arise within the code. Throughout the practicum, your Project Lead will be your technical mentor, who can help you resolve blockers and conflicts between team members’ code.
Additional activities and resource sets each week will help you build on the knowledge you gained in class, and apply it in this team setting. As a team and as individuals you should work through the timeline below, reviewing materials as many times as you need and jumping ahead if there is something you want to learn about, or information you need for your present work. There are no tests or assignments to hand in during practicum; these resources are simply here to help fill in any knowledge gaps, so you should use them however is most beneficial for you.
Your team will meet weekly, in order to:
- complete a brief standup (each person shares what they worked on over the past week, what they plan to work on this week, and blockers they’re run into)
- collaborate on merging code into the project’s codebase
- seek technical guidance from your Project Lead
- resolve blockers and other issues that may arise
- prioritize and assign upcoming work
If you have not agreed on a specific day and time to regularly meet, be sure to do that within the first couple days of Practicum! Your assigned mentor has been made aware of the common time window created based on your availability form you completed, but please be sure to make them aware of your final decision on day and time via your small group’s Slack channel.
Additional meetings or calls may be needed to facilitate collaboration; do what works best for your group, and use Slack often for asynchronous communication. You may wish to use Slack calls or huddles in your project channel, or a Google Meet link; decide as a group in your first week what will work best for everyone.
Roles
- Dev Team Members work on their projects and collaborate:
- Pick up tickets in GitHub Projects, then write + integrate code
- Collaborate to resolve merge conflicts within code
- Review one anothers’ code for practice + code optimization
- Attend weekly team meetings to provide status updates on work and collaborate with teammates
- Review supplemental resources to assist with project work
- Project Leads assist Dev Team with technical and project needs:
- Help to scope and clarify work to be completed
- Assist with prioritize the backlog in GitHub Project
- Troubleshoot code problems
- Oversee and help with resolving merge conflicts
- Review code for readiness to merge as needed
- Class Coordinator provides oversight of all practicum project groups:
- Arrange project teams and communication tools (Slack channels)
- Provide program-related materials for the practicum
- Troubleshoot any issues that may arise among Dev team Members and/or Project Leads throughout the practicum