Diagnosing a BIM problem

The following problem with using BIM has been reported the following is a record of my attempt to recreate and fix the problem. The problem

I installed BIM2 on my Moodle 2.3. The installation was successful and I even managed to create a BIM activity. There is only one problem — When I go to Mark posts and click on a post, the only thing that is shown on the screen is the Changing post allocation headline. The rest of the screen is empty.

In the end, I haven’t been able to recreate the error. It’s all worked as expected. Hopefully the following detail is sufficient to identify what I did differently.

The process I plan to use is

  1. Install a fresh version of BIM2 on my local install of Moodle 2.3
    The problem may arise from the version of the code or how it was installed. Making the process I use explicit may help identify any difference. This probably isn’t where the problem is, but have to rule it out.
  2. Create a new course, including students, staff and groups.
  3. Create a BIM activity.
  4. Try to mark posts often and early in between the following steps
    • Have a student subscribe a blog.
      Being able to click on a post suggests that a student was at least able to subscribe.
    • Create some questions
      I’m wondering if clicking on a post before specifying questions may be the cause of the problem.
    • Allocate students to a marker.
      This shouldn’t be a problem. BIM should tell you there’s nothing to mark.

Install BIM2

There’s already a version of BIM2 installed. Let’s see if the uninstall process works for BIM. Yes, all the database tables are gone. Now to remove the bim directory. Done.

Now, install the new version of BIM2. The BIM code is available from github. You do need to make sure to use the BIM2 branch and not the old BIM1 code (which won’t work for Moodle 2.x).

Perhaps the easiest way for a non-coder to install the BIM2 code is to use the “ZIP” button on the BIM2 tree. This downloads a file called moodle-mod_bim-bim2.zip. You simply unpack this in the mod directory of your moodle install. For me this looks like

[code lang=”sh”]
unzip moodle-mod_bim-bim2.zip
mv moodle-mod_bim-bim2 bim
[code]

i.e. when you unzip the file it creates a directory called "moodle-mod_bim-bim2" with all the bim code in it. You need to rename this directory to bim.

Now to install the module. Back to the site administration and the notifications page in Moodle and there’s the message that bim needs to be installed. Click on the button and get the nice green Success message.

<h2>Create a new course etc.</h2>

In order to create a BIM activity, you will need to have a course site in Moodle that includes
<ul>
<li> Some enrolled students.
</li>
<li> Some enrolled staff. </li>
<li> The students organised into groups. </li>
</ul>

So, I’m going to
<ul>
<li> Create a new course. <br />Just a name and a number should be fine. </li>
<li> Enrol some users.<br />I typically start by enrolling the admin user account as a teacher. I should probably create some teacher accounts, but not yet.
<p>I don’t have any students in this test version of Moodle 2.3. So I need to upload some before I can enrol them in the new course. To do this I have an text file I use with the "Upload Users" feature. The text file is looks like this.</p>
[code lang="sh"]
username,password,firstname,lastname,email
s001,fred,Fred,Nerf,s001@nowhere.org
s002,fred,Nerf,Fred,s002@nowhere.org
s003,fred,Dawn,Hay,s003@nowhere.org
[/code]

Now enrol them in the course.

  • Put the students into a group.

    To mark posts in BIM, you need to allocate the students to a marker. Currently this is done by allocating Moodle groups to which the students belong. i.e. you can’t allocate individual students to markers, only groups. So, create some groups.

    I just create an “all” group and add my three students.

  • Create the BIM activity

    Click on the “Add an activity or resource” on the course site and there’s BIM in the list of activities. Select it and click add. Configure the BIM activity

    • Provide a name (the only compulsory part).
    • A description.
    • Enable registration and mirroring
      You don’t have to but without these the activity is pretty useless.
    • Select whether you’re going to integrate this into the gradebook, or not.
      For this one, I wont’.
    • Click on “Save and display”

    I can now see the “coordinators” interface for BIM. “coordinator” == “teacher in charge”. Since I create the BIM activity, it’s what I see.

    I’m going to quickly click on each of the tabs in this interface

    • Configure BIM
      The default screen, shows a summary of the configuration and a link to change the configuration. All good.
    • Manage questions
      Where add, edit or delete questions that the students are expected to respond to via their feeds.

      As expected, there are “No current questions”. All good.

    • Allocate markers
      Allocate markers to groups. Nothing allocated yet. It is showing all the teaching staff (just the admin account) and against those all of the groups (just the “All” group).
    • Manage marking
      Allows the coordinator to see marking progress for all markers. Currently showing no markers allocated and no registered students.
    • Find student
      Allows you to search for a specific student. Just the search box currently. Let’s search for “dawn”. Finds the student and tells me “No registered feed”. As expected.
    • Your students
      This is where the marking happens. Where I can see the students allocated to me to mark. Nothing allocated, so it’s showing no students allocated.

    So far, so good.

    Some testing

    Register a blog for a student

    I’m going to to this two ways

    1. Coordinator can register a blog for a student via the Manage marking page.
      Click on the “register blog” link, paste in the URL of my blog – http://davidtjones.wordpress.com, save changes……

      Error – curl couldn’t connect to host. Ahh, I’m doing this from my office. The university has a web proxy. I haven’t configured Moodle with the details.

      Go to site administration, search for proxy, enter the details. Try again to register.

      A delay, back at home. No proxy and the blog is registered no problems.

      Now try to view and mark posts. I don’t think this should work as no students are allocated to me as a marker. That is as expected.

    2. Have the “student” login and register a blog.
      Start up another browser, log in as the user and register another blog. Go to the course and the BIM activity. See the normal “register your blog” for the student. I’ll use a random blogspot blog for this student. Registered all ok from the student’s perspective. All appropriate from the teacher’s perpsective.

    Allocate the student group

    Use the allocate markers screen. Manage marking is no showing this. Click on Your students and it all appears as I would expect. I can click on the “mark posts” link and see the detail.

    There’s nothing to mark at this stage, but I can click on a link that will show all of the student posts. I wonder how this will work? Don’t think I’ve done it in this order before.

    No worries. As expected, shows the list of posts. Allows me to “change allocation” but the only option is unallocated. Which works, though perhaps isn’t neat. It should show a “Can’t allocate because no questions” type error. Add an issue in github so this can get fixed.

    Create some questions

    So create some questions so I can actually try some marking. Create two dummy questions.

    Now revisit the “Your students” tab to do the marking. As expected, none of the registered students’ posts have matched the questions. I have to go to the Allocate posts page to manually allocate the posts to questions.

    Done. The “Mark it” link is there now. (Finally). As expected I get the marking interface.

    All working. Try the second student. All working.

    And it starts again, edc3100 in 2013

    It’s that time of year again – week 1, semester 1 – and after almost three-quarters of a year there are face-to-face students to tutor and lecture. Have to love the pedagogical assumptions built into the fabric of the technology that is a University education (a good example of technology becoming mythic). The following captures a few thoughts from the first lecture/tutorial.

    The need to define ICTs by example?

    The first is the need to define what ICTs actually are. The tutorial reinforced that this was a good idea and that perhaps there needs to be a bit more of it.

    Apparently, the Google doc into which we’ve been asked to contribute the ICTs we’ve seen and used includes a laminator. At least that’s the report from some of the students. I think this is perhaps one of the flaws of a few of the activities this week. The students are being asked to contribute, but they aren’t necessarily getting feedback (good or otherwise) on those suggestions.

    Wondering if there’s an online tool we could use to have different folk sort a list of technologies into ICTs and not-ICTs? Do it collaboratively so you can what others have said, see what the expert said and perhaps raise a challenge. i.e. give the argument why you think X does/doesn’t belong to a certain category. A crowd-source answer perhaps, save having the expert give an answer?

    This also suggests the potential need for more work around the students discussing their understanding of pedagogy and the combination/integration of ICTs and pedagogy.

    Time, repetition and something unique

    The lecture went longer than I thought, a standard worry. More importantly it has me wondering about how to distinguish between the online and the on-campus cohorts. The course site has the collection of activities and resources that I want the students to engage with. I don’t want to create something brand new for the on-campus students (workload and the online students miss out) but there’s the need to make appropriate use of the f-t-f medium.

    Blended learning as a concept doesn’t seem to fit too well. The activities for the solely online students are designed for them. “Blending” those activities into the on-campus lectures/tutes is difficult because of variability amongst the online students. Some have worked through all or most of the online activities leading to repetition and boredom. Other students haven’t looked at it yet. Blending appears to require a more fixed specification of what is done online and offline. This static, fixed approach doesn’t cater well to student variability.

    Will need to think more about how to better “blend” the online and the offline when the online is designed to be stand alone.

    There’s more to a PLN than technologies

    So far the students are starting to use blogs, Diigo and even Twitter, but I’m not sure most of them are really building a

    • personal – one that is unique to them and is designed to respond to their needs.
    • learning – with a focus on learning about ICTs in teaching.
    • network – with an appropriate size and variety in the network connections.

    Next week will need to build on these.

    The assessment of learning journals – ideas for BIM

    In the course I’m currently teaching the students will be expected to keep a learning journal. They’ll be keeping this on a personal blog that they register on the course Moodle site (but not with BIMM, the institutional process to get BIM installed is underway). The following floats some initial ideas about how the “assessment” of the learning journal will be automated.

    Reactions, criticisms and pointers welcome.

    Learning journals and assessment

    Moon (2006, p. 1) sums it up

    A learning journal is essentially a vehicle for reflection.

    Beyond reflection, this courses uses a blog as the medium for the learning journal for a variety of reasons, including:

    • Broaden the students’ ICT experience by requiring the use of blogs.
      The course is trying to help pre-service teachers understand how to integrate ICTs into the students’ learning.
    • Encourage the students to produce some online content that may support the formation of connections between students and others.
    • Encourage the students to make their learning and thinking visible.
      Too many of the students coast by listening, but never really applying.

    But a problem here is how to assess it?

    In a chapter titled “Assessing journals and other reflective writing”, Moon (2006) mentions some of the following points:

    • How do you mark someone’s reflection or personal development? What is a suitable set of criteria for “reflectiveness”?
    • Limitations of available instruments: intercoder reliability and unsuitability for use with a large number of students.
    • The potential impact on students’ reflections by the assessment process.
      e.g. will they say what they think, or what they think we want to hear them say?
    • The issue of “strategic students” not engaging in tasks that aren’t assessed.

    In my context, perhaps the most relevant considerations are:

    • Why expect time-poor students to engage in a task that doesn’t contribute to their result?
    • How to avoid the problem of students’ writing to the criteria?
    • How can time-poor teaching staff mark 280+ learning journals?

    The current plan

    In short, the current plan is to

    1. Assign to the learning journal a small percentage (2-5%) from each of three assignments.
    2. “Marking” of students’ journals will be automated, i.e. done by a program.
    3. Supplement this with a sampling approach to double check any attempts at subterfuge.
      And yes, I do wonder about the “catch them out” mentality that underpins this type of thought.

    The criteria will focus on attributes that can be automatically analysed and that may encourage the type of practices that may be positive. The current list includes:

    • Regularity of posting – reflective blog posts occur regularly during the semester (e.g. they aren’t all done the night before).
      A problem here is that “life happens”. There will be reasons why regularity isn’t possible.
    • Size – posts have to be of a reasonable size.
      The quantity over quality problem applies.
    • Links – the percentage of posts that link to other resources.
      The assumption being that linking to other resources implies commenting or reflecting on the work of others. At the very least it’s indicative of a certain level of technical competence.
    • Links to the blogs of other students – the percentage of posts that link to posts of other students.
      Suggesting some attempt at building on or responding to the work of other students. A practice I’d like to encourage.
    • Copy detection – doing various forms of copy detection on the posts.

    Given that BIM isn’t installed on the institutional version of Moodle, the current plan will be

    1. Have the students register their blogs with a Moodle database activity.
    2. Export that data into a version of Moodle on my computer and place it into BIM.
    3. Distribute the BIM generated OPML files to each of the teaching staff.
    4. Modify BIM to support the types of analysis listed above.
    5. Generate and distribute marking spreadsheets with the results of this automated analysis to each of the teaching staff.

    Future possibilities

    Given time, there’s a fair bit of extra analysis/analytics that could be added to this

    • Readability scores
    • Explore and integrate the work of Ullman et al (2012) in automatically detecting reflective texts.
    • Use BIM to share the insights from this automated analysis with the students.

    References

    Moon, J. (2006). Learning journals: A handbook for reflective practice and professional development (p. 200). Abingdon: Routledge.

    Ullmann, T. D., Wild, F., & Scott, P. (2012). Comparing Automatically Detected Reflective Texts with Human Judgements. 2nd Workshop on Awareness and Reflection in Technology-Enhanced Learning. 7th European Conference on Technology-Enhanced Learning (pp. 101–116). Saarbruecken, Germany.

    Exploring using the Wii/Augmented Reality to teach proportion

    One of the tasks for the course I teach is to explore in a bit more detail one of the 150 ICT innovations identified as “good” in the Decoding Learning report. The list can be downloaded as an Excel spreadsheet. Preferably, the idea is we should be exploring ICT innovations that we might like to apply in our teaching.

    The Wii, proportion and embodied mathematical cognition

    The Decoding Learning folk describe this innovation this way

    This project uses a gesture control device (Wii remote) and an onscreen representation to help learners explore and discuss their mathematical understanding, for example, of ratio. The underlying idea is that the design encourages learners to make gestures to represent mathematical concepts and then to reflect upon and discuss how their gestures related to the concepts. The innovation requires the gesture console, the prototype device and peers to be available so that learners can discuss their ideas.

    The reference they give is Abrahamson (2012) but it appears that Trninic and Abrahamson (2012) may give a better, broader introduction.

    Of course, rather than wade through an academic treatise you may just want to watch the video.

    The Mathematical Imagery Trainer

    Trninic and Abrahamson (2012, p. 286) describe their rationale as being

    that some mathematical concepts are difficult to learn because mundane life does not occasion opportunities to embody and rehearse their spatial–dynamical foundations

    To test this they implemented the Mathematical Imagery Trainer shown in the video above. They tested this with students (22 students from a K-8 school). It’s use went something like this

    • A student was sat in front of the screen and tasked with moving their hands until the screen was green.
    • Once achieved they were asked to move their hands and keep the screen green.
      i.e. they need to develop a rule for why the screen was green.
    • As needed additional scaffolding could be provided to the students, including
      • A cartesian grid, without numbers.
      • Adding numbers to the cartesian grid.
      • And it appears some level of tutorial support encouraging the student to elaborate and reflect on their thinking.

    I like this idea because it uses ICTs to achieve something that would be otherwise difficult. Engaging the body in understanding maths also appeals. It also moves examples of ICT use beyond social media, which tends to dominate my practice.

    It also helps that the source code for this has been made available. Though without some further testing I’m not sure about the quality and ease of use of the code. It might be beyond a typical teacher to get this up and going. There is then the question of students doing this individually.

    Reimplementation ideas

    A re-implementation using something like AR SPOT wouldn’t be that difficult and would potentially lower the entry barrier for classroom use. A PC with a web cam and an IWB or big screen could potentially be useful.

    Kinect2Scratch might offer some similar possibilities.

    Of course, it even opens up the possibility of a the students either help implement it in Scratch or perhaps analyse it after they’ve used it. The ability to look at the code providing some mental/algorithmic reinforcement of the embodied introduction.

    References

    Abrahamson, D. (2012) You’re it! Body, action, and object in STEM learning. In J. van Aalst, K. Thompson, M. J. Jacobson, & P. Reimann (Eds) ‘Proceedings of the International Conference of the Learning Sciences: Future of Learning’ (ICLS 2012) Vol. 2: Symposia, pp. 99-109. Sydney: University of Sydney / ISLS.

    Trninic, D., & Abrahamson, D. (2012). Embodied artifacts and conceptual performances. International Conference of the learning sciences: Future of learning (ICLS 2012) (Vol. 1, pp. 283–290). Sydney.

    The missing perspective(s) on MOOCs?

    Yesterday I had the opportunity to listen to Sir John Daniel give a presentation titled “Higher Education Futures: Keeping an open mind”. The text and slides from the presentation are available here. Following the presentation there was a panel session involving Sir John, Professor Jan Thomas (USQ’s Vice-Chancellor), Professor Ken Udas (USQ’s Deputy Vice Chancellor – Academic Services and CIO) and Professor James Taylor (a USQ emeritus professor and big name in distance/open learning including OERU)

    Signs of a conducive knowledge work environment

    Whilst there was some good points made during these sessions, I couldn’t help having a sense of disquiet during much of it. Walking to work this morning (the above image is what greeted me and I can hear the sounds of pre-construction destruction as I write) I was pondering the source of this disquiet and have identified “missing perspectives” as a significant contributor. Here are at least two of the perspectives that were missing.

    My disquiet fear is that while these and other perspectives are missing from institutional considerations of how to respond to – what Sir John describes as

    the new dynamics that are creating turbulent times for the sector in countries across the world

    – then that response is likely to be incomplete.

    nary a cMOOC to be seen

    Sir John’s talk focused entirely on xMOOCs. There was no mention whatsoever of cMOOCs. It’s not as if Sir John is ignorant of cMOOCs. His “essay” “Making Sense of MOOCs: Musings in a maze of myth, paradox and possibility” includes the following

    MOOCs have already bifurcated into two types of course, which are known as cMOOCs and xMOOCs. They are so distinct in pedagogy that it is confusing to designate them by the same term (Hill, 2012). Here we focus particularly on the more recent xMOOCs that dominated the news in 2012 and we note the diverging approaches already apparent within this group.

    To some extent the failure to include cMOOCs in the USQ presentation felt a little like preparing a straw man. By failing to examine cMOOCs it would appear that the “open mind” from the title of the USQ talk is a little less than entirely open. An important perspective is missing.

    The missing student perspective

    I was especially troubled by some of the exclamations of agreement from members of the audience as certain points were made. For example, when Sir John made this point

    First, since most of the universities offering MOOCs are well-known US institutions, a first myth is that university brand is a surrogate for teaching quality. It isn’t. The universities gained their reputations in research. Nothing suggests that they are particularly talented in teaching, especially teaching online. (Daniel and Uvalić-trumbić, 2013, n.p.)

    a round of affirmation rippled through the audience of USQ academics and other staff.

    One impression you could take from this affirmation is the idea that while USQ may not be MIT, Stanford etc., we do know how to teach online better than they do. In fact, Professor Thomas started proceedings with the affirmation that USQ was known as “a world leader in distance education” and that learning and teaching were our core business. The nature of this presentation also meant that most of the audience members were USQ staff who have an interest and aptitude for learning and teaching. So not that surprising.

    But I wonder about the student perspective? I know a few people studying at USQ. These folk can tell the many of the same stories that you could find at most Australian universities. Questions posed on discussion forums that go unanswered. Courses based almost entirely on resources provided by an American publisher where the quality assurance and translation for the Australian context has been less than complete. Recorded lectures placed online with the academic reading the bullet points on the slide. This is not to suggest that there isn’t good teaching happening, but it’s to question what’s missing and to explore whether or not it might bring into question the abstraction accepted by management and others.

    Some example of this include the perspective of pedagogy and its quality. Sir John’s talk included the following

    Let’s look at pedagogy. A reporter who took a Coursera course found it had little pedagogical input. Professor Tony Bates stresses that MOOCs are not a new pedagogy. He notes that the teaching methods ‘are based on an old and out-dated behaviourist pedagogy, relying primarily on information transmission, computer-marked assignments and peer assessment’.

    A characterisation that I tend to agree with, but at the same time Cousin and Deepwell (2005, p. 61) identify a couple of problems

    that learners may arrive at a pedagogic setting with congealed practices from another kind of setting, often a more didactic one. This alerts us to the danger of imposing new learning strategies, whatever their pedagogic merit, upon students. In particular, the dilemma for tutors of network learning is that, if the communitarian values underpinning it (collaboration, peer assessment, discussion-based learning, etc.) are forced upon students through a prescriptive curriculum design, the effect will be to undermine these values, because it is inherently contradictory to impose democratic pedagogies on learners.

    The learners who have been successful in formal education have spent years developing expertise in – and perhaps preferences for – the didactic approach to learning. For some of these learners, the pedagogy of the xMOOC may be seen as significantly better than that of the cMOOCs or whatever pedagogically sound approach is imposed by a university. I recognise that there are very different cohorts of learners that will likely have different perspectives. But the argument here is that if Universities are trying to figure out how to respond, then they better have a reasonable idea of what their current students are experiencing.

    Bhatt (2012) uses an ethnographic approach to explore how a learner undertakes a writing assignment, how her personal digital literacies interact with the expectations of classroom literacy. He concludes, amongst other things that (Bhatt, 2012, p. 298)

    As it is classroom-based digital literacies by which learners are ultimately judged, a cruel imposition of its norms can marginalise and deny literacy practices of personal experience.

    and

    For practitioners seeking to develop pedagogies that capitalise on the affordances of new technologies, such research supports a greater consideration towards how learners experience digital literacy practices across different strata of their lives. Allowing learners’ personal digital literacy practices to be mobilised as resources, either explicitly by them or encouraged and guided by pedagogical approaches, can be supportive to learning.

    Perhaps this is what worried me most about the discussions yesterday. Senior management taking it upon themselves to analyse and determine how best the institution can navigate these “turbulent times” informed mostly by their experiences and the abstractions of interest to those operating at a strategic or institutional level. The absence of other perspectives suggest they are more likely to miss the boat, than successful navigate to another port.

    What next?

    As someone who is about to impose new learning strategies on a group of learners it would seem incumbent upon me to explore their reactions and especially discover if there are perspectives and practices they have which can help us develop something even better.

    For now I had best get back to preparing the imposition.

    References

    Bhatt, I. (2012). Digital literacy practices and their layered multiplicity. Educational Media International, 49(4), 289–301.

    Cousin, G., & Deepwell, F. (2005). Designs for network learning: a communities of practice perspective. Studies in Higher Education, 30(1), 57–66. doi:10.1080/0307507052000307795

    Daniel, J., & Uvalić-trumbić, S. (2013). Higher Education Futures: Keeping an open mind. Presentation at the University of Southern Queensland, Toowoomba, Qld.

    BIM 2.0 – cleaning up part 4

    Another step in getting BIM 2.0 ready for release. Addressing the current two outstanding issues prior to exploration of submitting BIM to Moodle CONTRIB (??appropriate terminology)

    The two tasks are

    And two new ones identified while working on the following

    The next step is to explore getting bim into CONTRIB and a final all out test as part of that process.

    Cron requirements

    Currently the “cron” code is commented out.

    • Do I need to fix it?
      The cron code in bim 1 will

      • For all bims with mirroring turned on.
      • Make sure the caching directory is set up.
      • get all the student feeds and process them.

      This is needed so that the mirrored feeds are up to date for the staff when they are marking. When a student visits BIM on Moodle it will automatically update their feed (assuming they’ve just posted and are checking).

    • What additional changes are required?
      Most of the work being done is built in bim code, that shouldn’t need to change much from what it is. The question is whether the “caching directory” code is needed and/or what form it takes in Moodle 2.0. The “caching” is for the RSS file. This is now done by SimplePie which is now in Moodle core. This suggests nothing will need to change.

    So lets try uncommenting the code and running it remotely…seems to hangup on the bim_cron stuff. Some debugging required.

    • Not including the bim library file…fixed.
    • Incorrect use of get_records_select….twice…fixed.

    All working.

    Gradebook integration

    I need to get my head around how/if the current BIM/gradebook integration is working. This is repeating a bit of what’s gone before, but need to get my head back into it. Probably best to start with a brand new BIM.

    1. Add a new BIM activity.
    2. Set the grademax.
    3. View the gradebook to see what this does (all the way through the above and the following).
    4. Register a student’s blog.
    5. View as student now and through the following.
    6. Allocate and mark some posts.
    7. Release (i.e. put into gradebook) the marked posts.
    8. Repeat.
    9. Add a grade category in the gradebook.

    Let’s do a couple of different BIM activities.

    • Grade set to 50, 2 questions both with a max mark of 25 (doesn’t really effect final mark just as a warning to the marker)
      • On creation, it appears in the gradebook for both teacher and student. The student has the range showing of 0-50.
      • Good to see the auto-allocation of posts to questions working. In fact all is working so far.
      • Let’s mark one of the posts: BIM shows the student the update in status appropriately. And gradebook is showing nothing, as expected.
      • Release this result (25 out of 25 for the question). Will that be half of the 50 for grademax?
        • The student BIM screen shows the release appropriately.
        • The student gradeview is showing nothing. *FAIL*
        • Neither is the staff view. *DOUBLE FAIL*

    Time to check what is going on

    • coordinator/manage_marking/bim_manage_release is the function that does the release and the update of gradebook. Here’s the relevant code
      [code lang=”php”]
      // update the gradebook entry if it makes sense
      if ( $bim->grade_feed == 1 ) {
      $raw_sql = "SELECT userid,sum(mark) as rawgrade from {bim_marking} where bim= ? and status=’Released’ group by userid";
      $grades = $DB->get_records_sql( $raw_sql, array( $bim->id ) );

      bim_grade_item_update( $bim, $grades );
      }
      [/code]

    • Changes to make to this code
      • The simple sum(mark) is going to have to be replaced with a function.
        i.e. the SQL should get a list of all the users and all the marks that are currently available for the user. It should then transform that into a grade for the gradebook.

        Initially this is probably going to be a simple percentage of grademax (i.e. add up total possible marks from BIM (sum of all question marks), generate percentage of that and then apply it to grademax.

        In the future, this is where various marking schemes can be put in place.

        Important: This implies a need to have a re-calculate and reset grades when/if grademax or the number of questions changes.

        Having fixed up the problem in the next step, time to come back and implement the function. Will do that below.

      • Check to see why the grade_item_update isn’t working.
        It would appear that the code in bim_grade_item_update is simply not correct. Let’s check that.

        • A look at the grade_item_update function for the forum mod reveals a very different approach. Looking for some Moodle developer documentation might be called for. That can be hard, so analysing the forum code is probably a better starting place.
        • Actually, this may simply be because the forum grading is more complex then what is currently in BIM. BIM is taking a straight value approach. Whatever BIM calculates is meant to go straight into the gradebook. So what is BIM giving it, try another test with some debugging code.
        • Ahh, that will be a problem. I’ve changed the database for the gradebook stuff, but not this code. “grade_feed” is no more and it isn’t using 1 for true.
        • Fix that up and re-mark and then re-release a result and hey presto it is working. With two posts marked for a total of 35, a mark of 35 is appearing in the student’s gradebook and the percentage overall is working correctly.

      Calculating bim activity grade

      The aim here is to develop a grade calculation function for a BIM activity. This will be the initial version with a single, simple approach. Later on the function will be expanded to offer alternative approaches (at least that’s the plan).

      The simple approach here will be based on

      • Teacher specifying the maximum grade/value that the activity can have in the gradebook.
      • Teacher specifying the number of questions and the maximum mark (as a warning) for each question.
      • Each students’ gradebook mark is calculated by
        • Adding up the maximum possible mark for all the questions. (e.g. 50 marks)
        • Adding up the marks the student has for their questions. (e.g. 25 marks)
        • Figuring out the percentage the student has achieved (e.g. if 50 is 100%, then 25 marks is 50%).
        • Applying that percentage to grademax (e.g. grademax = 100, 50% of 100 = 50)

      The current code (shown above) calculates an array of arrays with userid and the rawgrade. The list of userids is those of students who have posts that have been released. Pseudo-code should be something like
      [code lang=”php”]
      # Will reset the grades for all students with released results
      function bim_update_gradebook( $bim ) {
      # get the maximum grade for a gradebook entry for this activity
      # get the total if students gets max marks for each question

      # get an array of all userid/marks for the released posts from bim tables

      # for each student
      # – add up total of all marks they received
      # – calculate percentage of total
      # – calculate what equivalent percentage of maximum grade is
      # – create an array (userid => , rawgrade => %maximum grade )

      # update the gradebook
      }
      [/code]

      That’s done.

      But what happens if the grade/mark bim tries to put into the gradebook is greater than grademax? Does the gradebook

      • Generate an error?
      • Accept the mark as is?
      • Limit it to the grademax? This option

      Mmm, setting a question total to 100 has generated an SQL error “Out of range value” for mark. This seems to suggest my mistake. Yes. The mark field in bim_marking is limited to 4 digits. Is that a problem? The forum module uses a bigger number. I should make that change…. Well that’s done.

      But there’s still the chance of the user entering a bigger number again, perhaps the code should also place a limit. Time to make that change.

      The question now is when should this be called. i.e. when should the gradebook be updated with new grades for students. Currently it’s called whenever the teacher in charge releases posts (i.e. makes them visible to students). Other situations I can think of where the gradebook might need updating include

      • When the marker changes a mark on a student’s released post. ( i.e. after a query of some such.) – DONE
        This is already handled. Whenever a marker changes a grade on a student post its status returns to marked. This means that the lead teacher needs to release it again. Releasing it again updates the gradebook.
      • When a the total possible marks for questions changes.
        This might happen when the lead teacher changes the maximum possible mark for an existing question or deletes or adds a question. — DONE

      Showing out of what for student

      The summary of released posts isn’t showing the maximum mark possible for that post, just what the student got.

      Done.

      Student help popups, not working

      Moodle help is typically provided by popups. You see a little question mark in the interface, click on it and it pops up a box with some assistance. This is working well for the staff users. However, not so well for students. Even though the problem HTML is generated by the same PHP code for both classes of accounts.

      Confirmed that the HTML code generated by the PHP code is exactly the same. Implies that the difference must be in the CSS/Javascript included in the different pages. How to identify what and then fix it?

      Is there a config setting, site wide or course based? Can’t see anything.

      Is this just a bim problem for students, or is it there for other modules? It appears to be a bim problem. Forum is working with popup help fine and is using the same HTML code.

      Is there something missing from the “header”/”footer” display for student? Yes. No footer being added. Fixed.