Moodle can do whatever your client needs it to do providing the right plugins and permissions are activated. Being Open Source, Moodle is flexible enough to allow a PHP developer to create any necessary modifications.
For some of the tools asked about, like the countdown timer, I don't really know, but I suggest any skilled PHP developer could create the plugin required to add that kind of functionality. (I have never heard of one being available, but that does not mean it isn't, I have never had a requirement for one so never bothered looking.)
Most of the questions asked around courses and testing, an out of the box Moodle already has available, but you need a good understanding of Moodle to be able to properly activate utilise the tools in the precise way asked about,
There are some limitations though, e.g. Q8, We differentiate between "classes" and "Courses" in a school setting. I have only used individual classes of students taught by individual teachers and enrolled individual students in subject courses. In the kind of set up you are asking about, I don't know anybody doing it that way, but it makes a lot of sense in a lot of organizations to do it like that. I suggest the same PHP developer could create a set of SQL statements and an additional interface page to automate the enrollment processes easily. A cascading enrollment/unenrollment would be, I suspect, a fairly simple thing using the database providing that your course structures are fully developed and fixed.
Fee paying and non-fee paying elements are already available, There was a discussion on this years ago and there is a way for it to be done, but I did not really follow the discussion so don't know how it was achieved. I think it ended up being something in the actual Moodle role assignment process rather than anything else, that was considered simplest, from memory.
Much of what you ask for is already available, and Moodle is flexible enough for you to do just about everything else you need.
I do not know of any LMS that does what you ask, but some, like the commercial products, become horrendously expensive to add this kind of sophisticated functionality. That expense, btw, increases as you update your core program. Moodle is probably the most accessible tool in this regard, plus the added benefit of a large development community to defray some of those costs and speed up the development process.
Sandy, you are more likely to get more answers if you keep to one (or two at most) questions per post and tell us what you have found out so far.
To take your questions in order:
Q1 Moodle does have an automatic session timeout that can be set.
Q2 Quizzes in Moodle can be timed affairs with the timer reaching zero and the student data being automatically submitted. Once submitted the activity can be counted as completed and with conditional access setups completed items could be made invisible.
Q3 As a Moodle admin the reports system is very good, practically every action taken by a user is logged and any admin can access these logs to see times dates. In the case of course data this is accessible by the "teacher" they can see when a student logged in, what they viewed and whether they uploaded any assignment work.
Q4 There are plugin reports that show totaled times for students including when they were actually active and not just sitting looking at the page.
Q5 Quizzes log questions missed, answered incorrectly, students can flag a question to return to it. Some quizzes can even build on previous attempts so if you allow multiple attempts at a quiz subsequent attempts to the first will contain correct answers already. Usually such multiple attempts incur a penalty on scores because a student who answers a question on the first pass should get a better score than one who's had a chance to go back to the textbook and look it up.
Q6 Not entirely sure if a course can be duplicated as such. It can certainly be backed up without user data and then restored as a new course. I've never had to try thankfully.
Q7 See Q5 you can allow multiple attempts at a quiz and questions answered incorrectly are flagged red, correctly green and unanswered left white in a navigation panel at the top right of the quiz itself. The navigation panel however is only visible to the student while they are taking part in a quiz.
Q8 Actually to me your Q8 configuration sounds like the cohorts setup moodle utilizes. As long as the class list can be given to a course or moodle admin prior to the course being used, the necessary user accounts can be setup and then corralled into a cohort, the cohort is then attached to the course. I've done this for teachers at the school I work at, I manually create a user account and can configure the manual account with whatever permissions are required e.g. setup a teacher. We then use ldap authentication and when the staff member actually logs in their rights/permissions are already in place. Cohorts would also allow you to limit who can access a course. In effect if their name's not on the list they're not coming in!
Q9 Not sure about that students can certainly search courses, then again there might a plugin available.
Q10 I'm not sure whether you can have an agency login as such. But a course in Moodle is certainly capable of supporting a group structure where the agencies are created as the groups, students are emailed login details with an enrolment key that they supply when they try to access the course. The key they use then automatically determines the group they join. Whether this process would bypass payment methods I don't know, we don't use payment based systems in a school. Of course if the class list is available before hand then as for Q8 the groups could be setup beforehand, in this case they would login and go straight into the course as they would count as already enrolled.
Hope this is of some help to you I've been using Moodle now for about 12 years and believe me I'm still learning!
Yes, absolutely. Using cohorts is the way to do it, just as John suggests.
I would also recommend using cohorts for Q10.
John, you wrote:
Q8 Actually to me your Q8 configuration sounds like the cohorts setup moodle utilizes. ....
I actually read that differently, the question to me looked more like "I have a set of subjects that require to be taken in a particular pattern to produce a particular outcome." Internal courses are less flexible in their requirement than an academic course for a post-grad qualification for example. Placing one person into a stream, if you like, could be done easily, as described. Otherwise, a cohort or even a set of meta-courses could achieve the desired results.
Quite true Colin it could be a matter of interpretation... but then again you could setup a cohort with the "program" title and then have the relevant courses for that program contain a cohort sync enrolment method to that cohort. That way, as I said, as long as the teacher/admin knows that a particular student is going to be a part of a particular program, in advance of them taking part in anything, the student can be enrolled automatically on any course that is linked to the cohort they have joined. The student would then be able to see these courses on the my moodle page, or student homepage as I like to consider it.
However if a particular pattern of courses is required i.e. you can't take part in course b until you've completed course a, then the student could see a set as links in an "umbrella" or meta-course over the whole structure, the links would link to the individual cohort enrolled courses. The tutor/teacher then sets the pattern by using conditional access and student completion tracking; so link2 cannot be seen until link1 is judged completed, link3 not until link2 etc.
The school I work at has a BTEC construction skills area that the teachers have setup on Moodle. They've setup template documents for the students to download, fill out then upload back; students don't see the upload assignment until they've downloaded/viewed the template doc. Then they get a quiz after the assignment activity to check what they've actually learned and then the unit is judged completed. Each item uses conditional access rules based on the previous items and student tracking results so they have to follow the order the teachers have set. I've got to say for the little demo they've required I'm very impressed by what they've achieved (their requirement was for a student e-portfolio; because they were getting their budget hammered by the amount of photocopying they were required to do). Now it's all electronic they have a fringe benefit in using colour photos for the samples of the students bricklaying/plumbing/woodworking skills instead of the B/W photocopies that were getting them complaints about detail from the examiner. The examiner can also be set as a manual non-editing teacher account so he/she can log in to view students results/progress etc.They start using these courses in earnest in September with the new academic year so the proof of the pudding will be in the eating I suppose.
Wow, another great idea in the lexicon of great ideas for using Moodle.... That is a structure that could really help in something that is being discussed at my wife's school. Thanks for that, and now all I need do it to figure out how to achieve it..
You're most welcome.
As to how to set it up...
- Setup a course and have links to the other course units (which are setup as courses in themselves). You could literally put all of the course unit links for all the programs into this one umbrella course.
- Then use conditional access with groupings to control who sees what i.e. you've got to be in grouping A to see the links that pertain to grouping A content.
- Then student completion tracking controls when they can see it unit 2 shouldn't be visible until unit 1 is marked complete.
- The course setup then has a modular approach, should one of the units change content or even be removed, it can be changed without affecting the rest of the units or the course the students see.
Any help I can offer in terms of advice you only have to ask.