What are the Computer Programming Project guidelines?
To keep the community focused on learning, we require all programs and discussion posts to align with Khan Academy’s mission. Please review the guidelines below as you create your programming masterpieces. Thank you for making our community safe, supportive, and appropriate for all learners!
Program guidelines
Programs that don’t meet the following guidelines may be hidden from the hotlist or from the public gallery view. Inappropriate discussion posts may also be deleted. Learners who persistently break these rules may be banned from community activity.
A program or post is considered inappropriate if it includes any of the following:
Offensive content
- Discriminatory or offensive language.
- Sexual or violent content, or any other content that could reasonably be deemed inappropriate for an educational setting.
Off-topic content
- Advertisements or non-helpful links to third party sites.
- Controversial or divisive topics including religion, politics, or personal information that may reveal details that compromise learner privacy.
- Social groups, or programs that generate social chats or other posts not related to programming in the discussion thread.
- Asking others to vote up a program.
- Garnering or receiving votes from a voting ring, defined as a group of people who conspire to vote up each others’ programs.
Plagiarism
If you are inspired by someone else’s program, you can create a spin-off of that program by pressing the Spin-off button. Creating a spin-off properly gives credit to the original creator by linking to the original program.
A program is considered plagiarism if it copies and pastes someone else's work into a new program instead of creating a spin-off. If a program copies and pastes someone else’s work from several programs, it must give credit to the creators in the comments at the top of the program. Otherwise, it is considered plagiarism.
Disallowed functionality
Khan Academy has intentionally disabled some functionalities in order to ensure the security, privacy, and performance of our site. Note that some functionalities are specific to particular programming languages, which are specified below.
- Bookmarklets, defined as any code script that the program author asks the user to save as a browser bookmark (JavaScript).
- LocalStorage. Webpages should not store large amounts of data in localStorage or intentionally use the same keys as other programs (HTML, JavaScript).
- Sound. Webpages should only create sounds using the files available to ProcessingJS programs or the Web Audio API oscillator. Webpages should also only play sounds in response to user interaction. Webpages should not play sounds immediately upon load (HTML, JavaScript).