Coding Tools and Environments

For a downloadable version of this article to share with your IT department, click here. If you have further questions, please reach out to support@projectstem.org.

The AP CSP course uses two programming languages: Scratch 3.0 and Python (version 3).

Scratch is a block-based visual programming language that allows students to program their own interactive stories, games, and animations. It is a web-based program and has an optional desktop version that can be downloaded if preferred.

Python is a text-based programming language used by beginners and professionals alike. There are several programming environments that support the Python language. For this course, Project STEM recommends using Repl.it, which is a free, collaborative, web-based environment.

Items to Whitelist

Students and teachers will need to access the following in order to be able to complete code activities and participate in the course. When speaking with your school's IT department, be sure to include the asterisks as shown.

Sites to Whitelist

Email Domains to Whitelist

https://*.h5p.com/*

https://*.awseducate.com/*

https://*.vocareum.com/*

https://*.instructure.com/*

https://*.scratch.mit.edu/*

https://*.repl.it/*

https://*.projectstem.org/*

https://*.formstack.com/*

*@projectstem.org

Hardware Requirements

Screen Size

The course is best viewed at a minimum of 1024x600, which is the average size of a notebook computer. The interface was optimized for desktop displays, so using small form factors such as phones may not provide a pleasant user experience.

Operating System

  • Windows 7 or newer

  • Mac OS X 10.6 or newer

  • Chrome OS (Linux)

Computer Speed and Processor

  • 1 GB of RAM or more

  • 2 GHz processor or higher

Internet Speed

Minimum speed of 512kbps

Supported Browsers

We recommend always using the newest version of any browser. Supported browsers include:

  • Chrome 81 and 83

  • Firefox 76 and 77

  • Edge 81 and 83

  • Safari 12 and 13

Accessibility

Screen Readers

We recommend always using the latest version of any screen reader. Please note there is no screen reader support for this course in Chrome.

  • Macintosh:

    • VoiceOver

  • PC:

    • JAWS

    • NVDA

Closed Captioning

Project STEM does not currently have Closed Captioning available on the videos for this course at this time.

Using Tablets and Chromebooks

Project STEM works great on Chromebooks, since all course items are web-based.

iPads and tablets are not ideal for the course regardless of the browser being used. The course platform is not fully supported on mobile browsers so features may not function as expected compared to viewing the course in a fully supported desktop or laptop browser.

A workaround for iPads and tablets that some schools have found useful for students who do not have access to desktop or laptop browsers during the day is to watch the videos during class time on their iPads or tablets, and then access a home or shared desktop or laptop after school to complete the coding work.

Grading and Rostering Systems

Project STEM does not currently have support for directly integrating or linking the course platform with outside grading and rostering systems. However, the gradebook for a course can be exported by teachers into a csv that may be imported into a separate grading and rostering system.

Supported Single Sign-Ons

Project STEM has an option to create accounts and log into the course platform using Google Single Sign-On and Clever Single Sign-On.

For Clever SSO, Project STEM can also be found in the Clever Application Portal in addition to the Clever SSO button being available on the Project STEM signup and login pages.

Videos

Project STEM uses YouTube and Vimeo to embed videos into the course platform. For schools that block YouTube and/or Vimeo, the platform will detect this and display a video hosted by Project STEM instead as a fallback. Access to this fallback system is covered by the "Items to Whitelist" section earlier in this document.

Did this answer your question?