1. An online learning system for providing online learning using an application service provider system, the online learning system comprising: a database comprising a plurality of instruction group identifiers and associated network resource identifiers, each of the instruction group identifiers corresponding to one of a plurality of instruction groups, each of the instruction groups comprising a plurality of student users, each of the network resource identifiers configured to identify one or more network resources, wherein the network resources comprise uniform resource locators (URLs); a file system comprising educational content for each of the instruction groups; an application server implemented in computer hardware and configured to be accessed by the plurality of instruction groups, the application server comprising: a provisioning module configured to: assign one of the instruction group identifiers and one or more of the network resource identifiers to each of the instruction groups, each of the instruction group identifiers uniquely identifying a selected one of the instruction groups while being hidden from each of the instruction groups to prevent user access to the instruction group identifiers, wherein the instruction group identifiers are hidden by being stored in the database so that they are not directly accessible to the student users; and associate the instruction group identifiers with the educational content, an instruction group authentication module configured to: receive access requests from the student users from different ones of the instruction groups to access separate courses of the educational content stored in the file system, the access requests comprising different selected ones of the network resource identifiers from each of the instruction groups; and retrieve, in response to each of the access requests, a selected one of the instruction group identifiers corresponding to the selected network resource identifier from the database, such that for a selected one of the access requests from a selected one of the student users, the instruction group authentication module is configured to: obtain a URL entered by the selected student user from the selected access request; and use the URL to look up a first one of the instruction group identifiers that corresponds to the URL in a first table of the database, and a user authentication module configured to receive, with the access request, identification information from the selected student user, wherein the user authentication module is further configured to, in response to receiving the identification information from the selected student user and the first instruction group identifier from the instruction group authentication module: access a second table in the database to determine whether the identification information of the selected student user exists in the database, in response to determining that the identification information of the selected student user exists in the database, retrieve a second instruction group identifier from the database that corresponds to the selected student user, the second instruction group identifier corresponding to a selected one of the instruction groups, compare the first instruction group identifier provided by the instruction group authentication module to the second instruction group identifier corresponding to the selected student user, in response to determining that the first instruction group identifier matches the second instruction group identifier, granting the selected student user access to a selected one of the courses corresponding to the selected instruction group, and in response to determining that the first instruction group identifier does not match the second instruction group identifier, denying the selected student user access to the selected course, thereby preventing the selected student user from accessing those of the courses that are not associated with the selected instruction group of the selected student user; and an online classroom module configured to be executed by a computing system in a single computing instance in memory to provide each of the student users, including the selected student user, with simultaneous access to the educational content of the selected instruction group stored in the file system in response to receiving an indication from the user authentication module that the selected student user is a valid student user of the selected instruction group, without requiring multiple instances of the online classroom module to be executed, and wherein the use of the instruction group identifiers enables the database to have a single table schema for the plurality of instruction groups, thereby enabling the database to be shared by the plurality of instruction groups without duplicating tables for the plurality of instruction groups.
1. An online learning system for providing online learning using an application service provider system, the online learning system comprising: a database comprising a plurality of instruction group identifiers and associated network resource identifiers, each of the instruction group identifiers corresponding to one of a plurality of instruction groups, each of the instruction groups comprising a plurality of student users, each of the network resource identifiers configured to identify one or more network resources, wherein the network resources comprise uniform resource locators (URLs); a file system comprising educational content for each of the instruction groups; an application server implemented in computer hardware and configured to be accessed by the plurality of instruction groups, the application server comprising: a provisioning module configured to: assign one of the instruction group identifiers and one or more of the network resource identifiers to each of the instruction groups, each of the instruction group identifiers uniquely identifying a selected one of the instruction groups while being hidden from each of the instruction groups to prevent user access to the instruction group identifiers, wherein the instruction group identifiers are hidden by being stored in the database so that they are not directly accessible to the student users; and associate the instruction group identifiers with the educational content, an instruction group authentication module configured to: receive access requests from the student users from different ones of the instruction groups to access separate courses of the educational content stored in the file system, the access requests comprising different selected ones of the network resource identifiers from each of the instruction groups; and retrieve, in response to each of the access requests, a selected one of the instruction group identifiers corresponding to the selected network resource identifier from the database, such that for a selected one of the access requests from a selected one of the student users, the instruction group authentication module is configured to: obtain a URL entered by the selected student user from the selected access request; and use the URL to look up a first one of the instruction group identifiers that corresponds to the URL in a first table of the database, and a user authentication module configured to receive, with the access request, identification information from the selected student user, wherein the user authentication module is further configured to, in response to receiving the identification information from the selected student user and the first instruction group identifier from the instruction group authentication module: access a second table in the database to determine whether the identification information of the selected student user exists in the database, in response to determining that the identification information of the selected student user exists in the database, retrieve a second instruction group identifier from the database that corresponds to the selected student user, the second instruction group identifier corresponding to a selected one of the instruction groups, compare the first instruction group identifier provided by the instruction group authentication module to the second instruction group identifier corresponding to the selected student user, in response to determining that the first instruction group identifier matches the second instruction group identifier, granting the selected student user access to a selected one of the courses corresponding to the selected instruction group, and in response to determining that the first instruction group identifier does not match the second instruction group identifier, denying the selected student user access to the selected course, thereby preventing the selected student user from accessing those of the courses that are not associated with the selected instruction group of the selected student user; and an online classroom module configured to be executed by a computing system in a single computing instance in memory to provide each of the student users, including the selected student user, with simultaneous access to the educational content of the selected instruction group stored in the file system in response to receiving an indication from the user authentication module that the selected student user is a valid student user of the selected instruction group, without requiring multiple instances of the online classroom module to be executed, and wherein the use of the instruction group identifiers enables the database to have a single table schema for the plurality of instruction groups, thereby enabling the database to be shared by the plurality of instruction groups without duplicating tables for the plurality of instruction groups. 3. The system of claim 1 , wherein the file system comprises a file hierarchy, wherein the educational content stored in the file hierarchy is configured to be accessed using a file path comprising the selected instruction group identifier.