Skip to Content
Syllabus

JavaScript Essentials

10 Weeks

Course Description

Embark on this 10-week course to master the essentials of Javascript, one of the most widely used programming languages for web development. Through this intermediate course, learners will explore foundational concepts such as variables, data types, and control flow, as well as advanced topics like version control, object-oriented programming, asynchronous programming, and debugging techniques. Learners will write clean and efficient code, build interactive programs, and dive into functional and object-based approaches to programming.

This course is designed for aspiring programmers, web developers, and individuals looking to build a strong foundation in Javascript programming. Instructional methods include interactive lectures, hands-on coding labs, practical exercises, and troubleshooting workshops. Upon successful course completion, graduates will be well-prepared to leverage Javascript in their current roles while also having set the groundwork should they wish to pursue intermediate and advanced courses in software engineering.

Course Objectives

Upon successful completion of all course requirements, learners will:

  • Write well-structured Javascript programs while implementing version control to solve real-world problems.
  • Implement control flow structures, functions, and loops to manage program execution and data manipulation.
  • Create objects and classes to build dynamic and scalable applications.
  • Debug Javascript code using error-handling techniques and debugging tools.
  • Apply advanced programming concepts such as asynchronous programming, callbacks, and generators to develop interactive and responsive applications.

Prerequisites

To be considered for this course, learners are required to meet the minimal qualifications for a Per Scholas course. 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 complete approximately 17 hours of self-study prework materials. Per Scholas will provide learner access to the materials and resources. Topics include the following:

  • Introduction to Computational Logic
  • Introduction to Computational Thinking and Algorithms

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.
  • 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 302 - Introduction to Version Control13.41%ALAB 302.1 - Branching, Merging, and Handling ConflictsALAB3025.00%
SBA 302 - Version ControlSBA6050.00%
KBA 302 - Version ControlKBA3025.00%
Module 337 - Introduction to JavaScript42.46%ALAB 337.1 - Getting Started with JavaScriptALAB205.26%
ALAB 337.2 - Variables, Data Types, and OperationsALAB307.89%
ALAB 337.3 - User Input and Basic CalculationsALAB4010.53%
ALAB 337.4 - Control Flow Guessing GameALAB6015.79%
ALAB 337.5 - Functions and ReusabilityALAB5013.16%
ALAB 337.6 - Error Handling and DebuggingALAB307.89%
SBA 337 - JavaScript Essentials 1SBA10026.32%
KBA 337 - JavaScript Essentials 1KBA5013.16%
Module 338 - Advanced JavaScript39.11%ALAB 338.1 - Classless ObjectsALAB4011.43%
ALAB 338.2 - Classes and InheritanceALAB5014.29%
ALAB 338.3 - Built-in Objects and APIsALAB5014.29%
ALAB 338.4 - Advanced Functions and Asynchronous ProgrammingALAB6017.14%
SBA 338 - JavaScript Essentials 2SBA10028.57%
KBA 337 - JavaScript Essentials 2KBA5014.29%
ICP5.03%In-Class ParticipationIn-Class3168.89%
DISC 302.1 - Collaboration and WorkflowDISC12.22%
DISC 302.2 - Branch ManagementDISC12.22%
DISC 302.3 - Conflict ResolutionDISC12.22%
DISC 302.4 - Git and GitHub PracticesDISC12.22%
DISC 337.1 - Programming and JavaScriptDISC12.22%
DISC 337.2 - JavaScript BasicsDISC12.22%
DISC 337.3 - Operators and InteractionDISC12.22%
DISC 337.4 - Control FlowDISC12.22%
DISC 337.5 - FunctionsDISC12.22%
DISC 337.6 - Error Handling and TroubleshootingDISC12.22%
DISC 338.1 - Classless ObjectsDISC12.22%
DISC 338.2 - Classes and Class-Based ApproachDISC12.22%
DISC 338.3 - Built-in ObjectsDISC12.22%
DISC 338.4 - Advanced Function UsageDISC12.22%

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:

ModuleOutcomeSync. HoursAsync. Hours
Introduction to Version ControlLearners will be able to manage project versions and collaborate using Git and GitHub.120
Introduction to JavaScriptLearners will be able to write, debug, and test functional Javascript programs that implement core concepts such as variables, functions, loops, conditional logic, and exception handling.3324
Advanced JavaScriptLearners will be able to create and manipulate objects, implement object-oriented programming principles, utilize advanced Javascript features like generators and asynchronous code, and apply built-in objects to solve complex problems effectively.4530

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

Classification of Instructional Programs Codes

This course aligns with the following Classification of Instructional Programs (CIP) codes:

  • 11.0201: Computer Programming/Programmer, General
  • 11.0205: Computer Programming, Specific Platforms