thewindsofwinter / usnco-problems

A repository of all available problems of the US National Chemistry Olympiad put together via Apache PDFBox and Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

USNCO Problem Repository

This is exactly what it sounds like: a repository of problems from the USNCO, grouped by year. In the future, problems will be tagged with topics and difficulty. A discord bot will also be created to serve problems from this repository to the Chemistry Olympiad discord server.

How It Works

The code in the /src folder utilizes Apache PDFBox to scrape images from PDFs automatically by cutting the problems whenever a significant gap between problems is found (in short, there is some other logic to prevent poor results, at least as well as possible). The main code used to scrape is ModernProblemsToImage.java, while shift.java shifts problems around if errors do occur and PDFScrape downloads the files from the American Chemical Society. Cleanup of the code will occur soon, although it is not a high priority.

Usage

If you wish to query certain images, they are located at https://raw.githubusercontent.com/thewindsofwinter/usnco-problems/master/tests/[section]/[year]/[number].png, where [section] can be either locals, part_i, or part_ii, year is the year the problem was created in, and number is the problem number.

See an issue with a problem? Either open an issue or use this Google Form: https://forms.gle/djXXtiCeicqtHisL7. For more detailed information on other ways you can grow this repository, please refer to the CONTRIBUTING.md.

Credit for Code/Uploads

Description Author
Problem seperation code thewindsofwinter
Uploading USNCO Part Is thewindsofwinter
Uploading USNCO Part IIs and Locals fizzest

Copyright Notice

All problems on the USNCO are property of the American Chemical Society (ACS). This archive does not seek any commercial benefit on these problems, and we seek to merely archive past problems as images for chemistry educational purposes. If the original copyright holders take issue with this usage, please contact the author of this repository.

According to Section 107 of the Copyright Act:

Notwithstanding the provisions of sections 106 and 106A, the fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright. In determining whether the use made of a work in any particular case is a fair use the factors to be considered shall include—

(1) the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;

(2) the nature of the copyrighted work;

(3) the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and

(4) the effect of the use upon the potential market for or value of the copyrighted work.

The fact that a work is unpublished shall not itself bar a finding of fair use if such finding is made upon consideration of all the above factors.

Future To-Do

  • Clean up my ugly code
  • Record answers to problems
  • Record topics for each problem
  • Create difficulty rating system (in progress)
  • Create discord bot to serve questions
  • Create website (?) to serve questions

About

A repository of all available problems of the US National Chemistry Olympiad put together via Apache PDFBox and Java

License:GNU General Public License v3.0


Languages

Language:Java 100.0%