Skip to Content
Syllabus

React Development

10 Weeks

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.

Grade Weights by Module

The weight of each module can be broken down as follows.

Module NameModule % of CourseAssessmentTypePointsAssign % of Module
Module 3274.43%GLAB 327.3.1 - Generating Code with CodeiumGLAB1014.29%
GLAB 327.3.2 - Refactoring Code with CodeiumGLAB1014.29%
GLAB 327.3.3 - Translating Code with CodeiumGLAB1014.29%
ALAB 327.3.4 - An AI Coding ChallengeALAB1014.29%
KBA 327 - Fundamentals of Generative AIKBA3042.86%
Module 41312.03%ALAB 413.3.1 - TypeScript and Object-Oriented ProgrammingALAB3015.79%
ALAB 413.6.1 - Promises and Error Handling ChallengeALAB3015.79%
SBA 413 - TypeScript and Advanced JavaScriptSBA10052.63%
KBA 413 - TypeScript and Advanced JavaScriptKBA3015.79%
Module 41515.20%ALAB 415.1.1 - Component BasicsALAB3012.50%
ALAB 415.2.1 - Props and StateALAB5020.83%
ALAB 415.3.1 - Event HandlingALAB3012.50%
SBA 415 - React Dashboard ApplicationSBA10041.67%
KBA 415 - React FundamentalsKBA3012.50%
Module 41615.83%ALAB 416.1.1 - React CounterALAB104.00%
ALAB 416.2.1 - Custom HooksALAB4016.00%
ALAB 416.3.1 - Context APIALAB5020.00%
ALAB 416.4.1 - Dynamic RoutingALAB208.00%
SBA 416 - Advanced ReactSBA10040.00%
KBA 416 - Advanced React ConceptsKBA3012.00%
Module 41747.50%Project - React DevelopmentCAP750100.00%
ICP5.00%In-Class ParticipationICP5569.62%
DISC 327.1.1 - Responsible AIDISC22.53%
DISC 413.1.1 - Fundamentals of Type SafetyDISC11.27%
DISC 413.3.1 - Object-Oriented Programming in TypeScriptDISC11.27%
DISC 413.5.1 - Error HandlingDISC11.27%
DISC 413.6.1 - Asynchronous ProgrammingDISC11.27%
DISC 413.9.1 - Other Advanced ConceptsDISC11.27%
DISC 413.9.2 - ReflectionsDISC22.53%
DISC 415.1.1 - React and JSXDISC11.27%
DISC 415.2.1 - Components, Props, and StateDISC11.27%
DISC 415.3.1 - Event Handling and Component CompositionDISC11.27%
DISC 415.4.1 - ReflectionDISC22.53%
DISC 416.2.1 - React HooksDISC11.27%
DISC 416.3.1 - Global State and the Context APIDISC11.27%
DISC 416.4.1 - React RouterDISC11.27%
DISC 416.5.1 - ReflectionDISC22.53%
DISC 417.1.1 - Share your work!DISC56.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:

ModuleOutcomeTotal Hours
(Sync. & Async.)
TypeScript and Advanced JavaScriptLearners 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 EngineeringLearners will be able to utilize AI tools to aid in software development tasks.10
React FundamentalsLearners will be able to build React applications with reusable components.30
Advanced ReactLearners will be able to manage state and side effects using React Hooks and implement routing with React Router.30
Project: React DevelopmentLearners 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