React Development
Course Description
Embark on this 10-week course designed to equip learners with the skills needed to develop modern web applications using React.
The course covers fundamental and advanced React concepts, including component-based architecture, state management with Hooks and Context API, routing with React Router, and integrating TypeScript for type-safe development. Learners will also leverage AI-powered tools like Codium and GitHub Copilot to enhance coding efficiency, debugging, and testing processes.
Through hands-on projects, learners will apply best practices in frontend development to build and deploy scalable applications.
This intermediate course is designed for aspiring software developers and professionals looking to develop their React expertise. Instructional methods include hands-on labs, guided coding exercises, project-based learning, and interactive lectures. Upon successful course completion, learners will be equipped to pursue a range of roles such as React Developer or Frontend Engineer.
Course Objectives
Upon successful completion of all course requirements, learners will:
- Develop React applications using a component-based architecture, managing state and handling user interactions.
- Apply TypeScript and advanced JavaScript techniques to ensure type safety, handle asynchronous operations, and manage errors effectively.
- Implement modern React features such as Hooks, Context API, and React Router to optimize state management and application routing.
- Utilize AI-powered tools like Codium and GitHub Copilot to streamline code generation, debugging, and testing.
- Build and deploy a real-world React project by integrating components, debugging issues, and following best practices in frontend development.
Learners will be equipped to pursue a range of roles in the software development space, with a strong foundation in front-end technologies, ready to tackle complex development projects and contribute to the ever-evolving tech industry.
Prerequisites
To be considered for this course, learners are required to meet the minimal qualifications for a Per Scholas course and must also demonstrate comprehension, critical thinking, and digital literacy skills through a baseline assessment.
It is expected that the learner will have technical knowledge through education, as a Per Scholas Alumnus, prior to entering the program. Additionally, learners must demonstrate technical proficiency through a technical aptitude test in JavaScript Programming.
Course Materials
All course materials are accessible through the Canvas Learning Management System (LMS) .
Course Components and Grading
All assignments and assessments can be found within the Canvas LMS. The following sections describe the purpose, methodology, policies, and weight for graded material.
Description of Assignments
The following labels and acronyms will be used throughout the course:
- Labs
- Small tasks or projects that aid in skill formation and progress assessment.
- Graded as either complete/incomplete or via a rubric, depending on the complexity of the lab.
- Knowledge-Based Assessments (KBA)
- Timed quizzes that cover factual knowledge and critical thinking skills, rather than practical usage of technical skills.
- Useful for interview practice, and general ability to confidently communicate technical knowledge.
- Skill-Based Assessments (SBA)
- Open-book, cumulative programming tasks that demonstrate practical knowledge and skill proficiency with a module’s content.
- Projects
- Week-long (or more) projects that showcase the skills gained throughout a specific section of the course.
- In-Class Participation (ICP)
- An assessment of participation throughout the course, including:
- Verbal and written communication to peers and instructors, including on module discussion boards.
- Active listening and solution-seeking through questions and independent research.
- Teamwork, such as collaboration during group activities or assignments, but also including empowering peers to meet their objectives through whatever means an individual has available.
- Punctuality and preparedness, particularly when assigned material to complete between class days.
- An assessment of participation throughout the course, including:
Grade Weights by Module
The weight of each module can be broken down as follows.
Module Name | Module % of Course | Assessment | Type | Points | Assign % of Module |
---|---|---|---|---|---|
Module 327 | 4.43% | GLAB 327.3.1 - Generating Code with Codeium | GLAB | 10 | 14.29% |
GLAB 327.3.2 - Refactoring Code with Codeium | GLAB | 10 | 14.29% | ||
GLAB 327.3.3 - Translating Code with Codeium | GLAB | 10 | 14.29% | ||
ALAB 327.3.4 - An AI Coding Challenge | ALAB | 10 | 14.29% | ||
KBA 327 - Fundamentals of Generative AI | KBA | 30 | 42.86% | ||
Module 413 | 12.03% | ALAB 413.3.1 - TypeScript and Object-Oriented Programming | ALAB | 30 | 15.79% |
ALAB 413.6.1 - Promises and Error Handling Challenge | ALAB | 30 | 15.79% | ||
SBA 413 - TypeScript and Advanced JavaScript | SBA | 100 | 52.63% | ||
KBA 413 - TypeScript and Advanced JavaScript | KBA | 30 | 15.79% | ||
Module 415 | 15.20% | ALAB 415.1.1 - Component Basics | ALAB | 30 | 12.50% |
ALAB 415.2.1 - Props and State | ALAB | 50 | 20.83% | ||
ALAB 415.3.1 - Event Handling | ALAB | 30 | 12.50% | ||
SBA 415 - React Dashboard Application | SBA | 100 | 41.67% | ||
KBA 415 - React Fundamentals | KBA | 30 | 12.50% | ||
Module 416 | 15.83% | ALAB 416.1.1 - React Counter | ALAB | 10 | 4.00% |
ALAB 416.2.1 - Custom Hooks | ALAB | 40 | 16.00% | ||
ALAB 416.3.1 - Context API | ALAB | 50 | 20.00% | ||
ALAB 416.4.1 - Dynamic Routing | ALAB | 20 | 8.00% | ||
SBA 416 - Advanced React | SBA | 100 | 40.00% | ||
KBA 416 - Advanced React Concepts | KBA | 30 | 12.00% | ||
Module 417 | 47.50% | Project - React Development | CAP | 750 | 100.00% |
ICP | 5.00% | In-Class Participation | ICP | 55 | 69.62% |
DISC 327.1.1 - Responsible AI | DISC | 2 | 2.53% | ||
DISC 413.1.1 - Fundamentals of Type Safety | DISC | 1 | 1.27% | ||
DISC 413.3.1 - Object-Oriented Programming in TypeScript | DISC | 1 | 1.27% | ||
DISC 413.5.1 - Error Handling | DISC | 1 | 1.27% | ||
DISC 413.6.1 - Asynchronous Programming | DISC | 1 | 1.27% | ||
DISC 413.9.1 - Other Advanced Concepts | DISC | 1 | 1.27% | ||
DISC 413.9.2 - Reflections | DISC | 2 | 2.53% | ||
DISC 415.1.1 - React and JSX | DISC | 1 | 1.27% | ||
DISC 415.2.1 - Components, Props, and State | DISC | 1 | 1.27% | ||
DISC 415.3.1 - Event Handling and Component Composition | DISC | 1 | 1.27% | ||
DISC 415.4.1 - Reflection | DISC | 2 | 2.53% | ||
DISC 416.2.1 - React Hooks | DISC | 1 | 1.27% | ||
DISC 416.3.1 - Global State and the Context API | DISC | 1 | 1.27% | ||
DISC 416.4.1 - React Router | DISC | 1 | 1.27% | ||
DISC 416.5.1 - Reflection | DISC | 2 | 2.53% | ||
DISC 417.1.1 - Share your work! | DISC | 5 | 6.33% |
Assessment Policy
Learners must complete all labs, assignments, and assessments according to the schedule given by the instructor.
Please note that Per Scholas has a strict academic integrity policy. Plagiarism is considered cheating. Any learner caught plagiarizing will be automatically dismissed from the course. Plagiarism includes, but is not limited to, copying answers or assignments from another learner or a website. Learners can reference material as long as it is properly cited.
Module Schedule
The curriculum is thoughtfully divided into modules, each carefully crafted to cover specific areas of expertise:
Module | Outcome | Total Hours (Sync. & Async.) |
---|---|---|
TypeScript and Advanced JavaScript | Learners will be able to write type-safe JavaScript code and handle asynchronous operations using TypeScript and Promises/async-await. | 30 |
Introduction to Artificial Intelligence (AI) and Tools for Software Engineering | Learners will be able to utilize AI tools to aid in software development tasks. | 10 |
React Fundamentals | Learners will be able to build React applications with reusable components. | 30 |
Advanced React | Learners will be able to manage state and side effects using React Hooks and implement routing with React Router. | 30 |
Project: React Development | Learners will be able to plan, build, and debug a practical React project. | 30 |
Days Off
Per Scholas will be closed on the dates shared in the weekly Canvas course calendar. You are expected to work on classwork and projects during days when class is not in session, unless otherwise instructed.
Enrollment Agreement and Additional Policy Information
For all other policy information, including behavior expectations, dress code, academic integrity, accommodations, and more, please reference the Per Scholas Enrollment Agreement .
Standard Occupational Classification Codes
This course aligns with the following Standard Occupational Classification (SOC) codes:
- 15-1251: Computer Programmers
- 15-1252: Software Developers
- 15-1254: Web Developers
- 15-1255: Web and Digital Interface Designers
Classification of Instructional Programs Codes
This course aligns with the following Classification of Instructional Programs (CIP) codes:
- 11.0201: Computer Programming/Programmer, General
- 11.0202: Computer Programming, Specific Applications
- 11.0205: Computer Programming, Specific Platforms