I went to a scholarship forum today that talked about how students could achieve better in this. We need to look at more scholarships in technology and ways that we can help our students to attain these.
In reality it came down to innovative projects that did not have a predefined outcome. That the outcome came out of the stakeholder and client feedback.
Through the forum I was thinking about how can I help students through this. I think I need to really get to grips with the technology literacy.
There are a number of exemplars available as well as markets reports that I am going to have to find and make available to the year 12 students this year so they can develop and come up with a project for next year. But one question I find myself asking is how will the new digital technologies strands be applicable. Currently we are working on the "old" technology generic achievement standards.
Tuesday, 29 May 2012
Monday, 28 May 2012
School's in for ICT professionals
http://computerworld.co.nz/news.nsf/careers/schools-in-for-ict-professionals
New Zealand Computer Society has launched its ICT Connect progamme in secondary schools
Michael Peterson is filled with pride every time he receives a reference request from IT employers regarding his former students. In the past year he has taken three such calls, and the ICT educator says he hopes to receive many more in the future.
Peterson, who is the head of ICT at Hukarere Girls’ College in the Hawkes Bay, says the students at the low-decile school face significant challenges in finding employment after leaving secondary school. By encouraging his students towards careers in IT, he can help them gain stable employment in the future, he says.
“I’ve been talking to people in the industry, they want more women working in IT. There are some now, but not many because they get snapped up very quickly. There is a need for them and we as educators need to show them the opportunities available to them,” says Peterson.
Peterson is a strong advocate of ICT as a subject and of the industry as a career. He has criticised the lack of importance given to ICT by the Ministry of Education, which he says is discouraging students from considering ICT as a career.
“The IT industry is changing the world, and bringing so much to the New Zealand economy,” says Peterson.
“At the moment a lot of people who come into IT come into it through the side, from business or project management roles. Wouldn’t it be wonderful if the students were coming into the industry deliberately?”
Three years ago Hukarere Girls’ College and 11 other New Zealand schools, were a part of the New Zealand Computer Society’s (NZCS) pilot programme to evangelise IT careers in secondary schools.
The pilot involved industry professionals visiting schools and talking to students about possible IT careers.
Peterson says programmes like this go a long way towards encouraging secondary students towards career paths in the ICT industry, by passing on the experiences of people they can relate to.
“One of the successes I’ve had was getting a young woman in the IT industry into a class of young girls to talk about her IT experiences. The girls thought it was cool and they could see themselves with a similar future,” says Peterson.
“We have had similar things before, but they usually felt like vendor pitches. We can’t be showing these girls just crusty old guys in flannel.”
This year the NZCS programme has been revived and is being rolled out to 50 secondary schools, under the name ICT-Connect.
Ben Smith, projects and engagement coordinator at NZCS, says he has recieved interest in the programme from over 400 schools, which demonstrates the need for it among ICT teachers.
Smith says every secondary school in New Zealand will be given the opportunity to participate, but a particular focus will be placed on engaging with girls’ schools, and schools with a high number of Maori and Pacific Island students on their rolls.
It is clear that the only way New Zealand IT companies will manage the current IT skill shortage is by making ICT an interesting subject, says Smith.
“Fresh blood is needed in IT. You can see this with the skills shortage that almost every second tech company in New Zealand is talking about. If we want these people coming in to the industry, the people who are already established in the industry need to pitch in.”
Smith says NZCS will be reaching out to the ICT industry for volunteers to participate in the programme. Volunteers will be expected to give around 30 minutes of their time, four to five times over consecutive weeks to share their ICT career experiences.
Schools will use an online booking system to facilitate visits from the volunteers.
Earlier this month, NZCS sent out a prospectus for potential industry partners to sponsor the initiative.
Smith says he is unable to mention the full details of sponsors who have signed on so far, but NZCS CEO Paul Matthews has previously said that Orion Health has made the $15,000 pledge to become a premier partner.
New Zealand Computer Society has launched its ICT Connect progamme in secondary schools
Michael Peterson is filled with pride every time he receives a reference request from IT employers regarding his former students. In the past year he has taken three such calls, and the ICT educator says he hopes to receive many more in the future.
Peterson, who is the head of ICT at Hukarere Girls’ College in the Hawkes Bay, says the students at the low-decile school face significant challenges in finding employment after leaving secondary school. By encouraging his students towards careers in IT, he can help them gain stable employment in the future, he says.
“I’ve been talking to people in the industry, they want more women working in IT. There are some now, but not many because they get snapped up very quickly. There is a need for them and we as educators need to show them the opportunities available to them,” says Peterson.
Peterson is a strong advocate of ICT as a subject and of the industry as a career. He has criticised the lack of importance given to ICT by the Ministry of Education, which he says is discouraging students from considering ICT as a career.
“The IT industry is changing the world, and bringing so much to the New Zealand economy,” says Peterson.
“At the moment a lot of people who come into IT come into it through the side, from business or project management roles. Wouldn’t it be wonderful if the students were coming into the industry deliberately?”
Three years ago Hukarere Girls’ College and 11 other New Zealand schools, were a part of the New Zealand Computer Society’s (NZCS) pilot programme to evangelise IT careers in secondary schools.
The pilot involved industry professionals visiting schools and talking to students about possible IT careers.
Peterson says programmes like this go a long way towards encouraging secondary students towards career paths in the ICT industry, by passing on the experiences of people they can relate to.
“One of the successes I’ve had was getting a young woman in the IT industry into a class of young girls to talk about her IT experiences. The girls thought it was cool and they could see themselves with a similar future,” says Peterson.
“We have had similar things before, but they usually felt like vendor pitches. We can’t be showing these girls just crusty old guys in flannel.”
This year the NZCS programme has been revived and is being rolled out to 50 secondary schools, under the name ICT-Connect.
Ben Smith, projects and engagement coordinator at NZCS, says he has recieved interest in the programme from over 400 schools, which demonstrates the need for it among ICT teachers.
Smith says every secondary school in New Zealand will be given the opportunity to participate, but a particular focus will be placed on engaging with girls’ schools, and schools with a high number of Maori and Pacific Island students on their rolls.
It is clear that the only way New Zealand IT companies will manage the current IT skill shortage is by making ICT an interesting subject, says Smith.
“Fresh blood is needed in IT. You can see this with the skills shortage that almost every second tech company in New Zealand is talking about. If we want these people coming in to the industry, the people who are already established in the industry need to pitch in.”
Smith says NZCS will be reaching out to the ICT industry for volunteers to participate in the programme. Volunteers will be expected to give around 30 minutes of their time, four to five times over consecutive weeks to share their ICT career experiences.
Schools will use an online booking system to facilitate visits from the volunteers.
Earlier this month, NZCS sent out a prospectus for potential industry partners to sponsor the initiative.
Smith says he is unable to mention the full details of sponsors who have signed on so far, but NZCS CEO Paul Matthews has previously said that Orion Health has made the $15,000 pledge to become a premier partner.
Friday, 25 May 2012
Tuesday, 22 May 2012
Plagiarism in schools
One thing that amazes me is the amount of copying of other peoples work and just he copy and paste mentality that happens in students assessments. Why is it that universities put in place systems that will help prevent the copying and pasting of students work and websites but schools don't Are we not preparing our students?
A couple of months ago I put onto a listserve the question -
I have had a request by English and Social Studies Departments to look at how plagiarism detection could be used with students handing in work. As with assessments now and the internet students could just use the copy and paste method to handin an assessment. What modules are schools using other than turnitin.
Turnitin - the most popular option but it is expensive to maintain the license.
To which I received:
Turnitin is definately the most widely used here in NZ - another option for Moodle that integrates really well and is cheaper than Turnitin is Urkund:
http://moodle.org/plugins/view.php?plugin=plagiarism_urkund
They are really good to work with and focus purely on the plagiarism detection service and the reporting is just as good as Turnitin - the biggest drawback is that their database of student submitted content isn't as big as Turnitin's, but their comparison against web content seems just as good.
Another option I'm keen to investigate further for NZ clients is the open source tool "crot" - there's a plugin available but it's not ready for mainstream/production use - it relies too much on the moodle server (causes a big performance hit) and doesn't cope too well with large numbers of submissions. I've been hoping to get some funding to tidy it up and turn it into structure so we could set up an NZ based "Crot" server - then a group of Moodle sites could connect to the single "server", share the hosting cost and enable a "NZ database" of submitted student files to be stored centrally for comparison. It also relies heavily on the Bing search engine and if the Terms & conditions of using their API change it could mean the web-search functionality was no longer available - it needs to allow other Search engine API plugins.
If anyone is interested in helping to fund some development on Crot to allow it to be used on a production site,
Now we have an issue, bing have changed there terms and conditions...
Link to version 2.0+ versions of crot http://moodle.org/plugins/view.php?plugin=plagiarism_crot
and the terms and conditions of the bing API have changed, only allowed 5,000 queries per month free, else it starts to cost.
https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44
However, there is a crotpro available now - http://beta.noplagiarism.org/ that now allows for a free trial.
A couple of months ago I put onto a listserve the question -
I have had a request by English and Social Studies Departments to look at how plagiarism detection could be used with students handing in work. As with assessments now and the internet students could just use the copy and paste method to handin an assessment. What modules are schools using other than turnitin.
Turnitin - the most popular option but it is expensive to maintain the license.
To which I received:
Turnitin is definately the most widely used here in NZ - another option for Moodle that integrates really well and is cheaper than Turnitin is Urkund:
http://moodle.org/plugins/view.php?plugin=plagiarism_urkund
They are really good to work with and focus purely on the plagiarism detection service and the reporting is just as good as Turnitin - the biggest drawback is that their database of student submitted content isn't as big as Turnitin's, but their comparison against web content seems just as good.
Another option I'm keen to investigate further for NZ clients is the open source tool "crot" - there's a plugin available but it's not ready for mainstream/production use - it relies too much on the moodle server (causes a big performance hit) and doesn't cope too well with large numbers of submissions. I've been hoping to get some funding to tidy it up and turn it into structure so we could set up an NZ based "Crot" server - then a group of Moodle sites could connect to the single "server", share the hosting cost and enable a "NZ database" of submitted student files to be stored centrally for comparison. It also relies heavily on the Bing search engine and if the Terms & conditions of using their API change it could mean the web-search functionality was no longer available - it needs to allow other Search engine API plugins.
If anyone is interested in helping to fund some development on Crot to allow it to be used on a production site,
Now we have an issue, bing have changed there terms and conditions...
Link to version 2.0+ versions of crot http://moodle.org/plugins/view.php?plugin=plagiarism_crot
and the terms and conditions of the bing API have changed, only allowed 5,000 queries per month free, else it starts to cost.
https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44
However, there is a crotpro available now - http://beta.noplagiarism.org/ that now allows for a free trial.
Sunday, 20 May 2012
NZ Gambling Act
Am busy trying to work through the New Zealand Gambling Act at present to make sure that a potential student technology assessment doesn't break any New Zealand laws.
dia information http://www.dia.govt.nz/Services-Casino-and-Non-Casino-Gaming-Gambling-Act-2003
fact sheets http://www.dia.govt.nz/diawebsite.nsf/wpg_URL/Services-Casino-and-Non-Casino-Gaming-Fact-Sheets-%28Gambling-Act-2003%29
http://www.dia.govt.nz/diawebsite.nsf/wpg_URL/Services-Casino-and-Non-Casino-Gaming-Prize-Competition-Game-Rules
dia information http://www.dia.govt.nz/Services-Casino-and-Non-Casino-Gaming-Gambling-Act-2003
fact sheets http://www.dia.govt.nz/diawebsite.nsf/wpg_URL/Services-Casino-and-Non-Casino-Gaming-Fact-Sheets-%28Gambling-Act-2003%29
Class 1
Class 1 gambling cannot have a prize or turnover greater than $500. All proceeds from the gambling (including interest), if conducted by an individual, must be applied to the winners. Only Class 1 gambling can be conducted by individuals.http://www.dia.govt.nz/diawebsite.nsf/wpg_URL/Services-Casino-and-Non-Casino-Gaming-Prize-Competition-Game-Rules
Saturday, 19 May 2012
Something different
One thing that we are always told as teachers is to make the class work as realistic as possible, the work that we should develop for students show have a real world context.
That we should look at at adding richness to learning with real world experiences.
Now this is where is starts getting interesting, I have a number of students who are struggling with the current assessments, they need to get through a course and not disrupt other students from their learning.
These students have been withdrawn from class a number of times, have cause issues and disrupted teaching a number of times, how to get them reengaged and working towards attuning the requirements of course completion.
There are a number of competitions for students to enter in and this one is yet another, but it has a spin with it, I will buy the student who wins lunch. Every student once hearing that wants to be involved. But I have limited it to a year only, I have limited entry to year 13 students only, if it works well this year we have a possibility of extending it next year, however, we have to abide by the New Zealand Laws and at the moment I am wondering if this can be done.
There is the rugby competition in the region i am at which has a good number of team, and over 100 games of rugby played within the season. So the idea is to get the students to develop the material and infrastructure needed to create a pick competition out of it. Now it would have to be limited to a year group first as a proof of concept. However in following years this could be opened up to all year levels and also other schools. This would require a significant amount of development work.
Would a development like this be suitable in school?
That we should look at at adding richness to learning with real world experiences.
Now this is where is starts getting interesting, I have a number of students who are struggling with the current assessments, they need to get through a course and not disrupt other students from their learning.
These students have been withdrawn from class a number of times, have cause issues and disrupted teaching a number of times, how to get them reengaged and working towards attuning the requirements of course completion.
There are a number of competitions for students to enter in and this one is yet another, but it has a spin with it, I will buy the student who wins lunch. Every student once hearing that wants to be involved. But I have limited it to a year only, I have limited entry to year 13 students only, if it works well this year we have a possibility of extending it next year, however, we have to abide by the New Zealand Laws and at the moment I am wondering if this can be done.
There is the rugby competition in the region i am at which has a good number of team, and over 100 games of rugby played within the season. So the idea is to get the students to develop the material and infrastructure needed to create a pick competition out of it. Now it would have to be limited to a year group first as a proof of concept. However in following years this could be opened up to all year levels and also other schools. This would require a significant amount of development work.
Would a development like this be suitable in school?
Friday, 11 May 2012
Teachers Professional Development
This is from a blog post http://edwinbruce.wordpress.com/2012/05/11/teachers-professional-development/
It is essential that teachers of Digital
Technologies receive ongoing training and development if they are to
facilitate relevant learning. Unfortunately this generally means that
teachers undertake training on Saturdays, Sundays or holidays. Fair
enough you may say, but would this happen in government or private
sector businesses? We are talking essential training here, and in some
cases (not at my college) teachers I have met pay their own fees. (Is
there a tax rebate possible?)
My view is that teachers of Digital
technologies should be allocated 2 weeks training p.a. and $5-$10k in
fees each year, at least whilst new standards are being introduced and
many teachers require up-skilling. The current “voluntary” and ad hoc
approaches are not good enough in my view.
Comment: I agree with the statements that are made above, we need training, and I lose a lot of time to be able to keep up to date with what is going on, though people do tell me I have 12 weeks off, though in reality I have four, most of my holidays is working on building up my profession, through reading, programming, developing resources, ideas, interaction with colleagues, attending conferences both in the primary, secondary and tertiary sectors.
Digital Technologies is an ever changing field, I would like other curriculum areas to challenge us on how much there areas have changed, at present this is due to the change of standards, but with Digital Technologies we have a whole new curriculum area with learning objectives for the first time, and they are still be developed, Level 3 NCEA and NZC Level 8 have yet to be finalised and there are a number of issues with the new levels that have yet to be sorted out.
Monday, 7 May 2012
Learn coding online - issues
Over the past couple of weeks I have had a number of people point out to me that they can learn programming online, nothing wrong with that, however, they are learning on old code source.
labs.codeacademy.com - You're running Python version 2.7.2.
http://www.pyschools.com/ Python 2.5.2 running on the Google App engine
I will see what others are around and add them to the list
labs.codeacademy.com - You're running Python version 2.7.2.
http://www.pyschools.com/ Python 2.5.2 running on the Google App engine
I will see what others are around and add them to the list
Friday, 4 May 2012
Moodle login messages
I have been bust working out a different auth login for a project, these students have access to there own school moodle environments, however there environments wont allow a specific question type to installed and run, so we have been working a new server install to allow this type of programming development to happen.
For this project we using the auth/gauth plugin http:/ / www.moodleinschools.org.nz/ node/ 4248 and is available through https:/ / github.com/ piersharding/ moodle-google which
allows students to use their openid google username as an
authentication method, we have also set it to allow account creation
based upon the information passed from google apps.
This will allow the possibility of schools that are not using moodle to be able to use the moodle course as we have some schools that are using alternative Learning Management Systems.
auth/gauth - OpenID authentication with Google
Activated as an authentication plugin, and must be configured.
Key configuration values are:
Now we need to allow students to login, so changes to the login page are needed, I have been wondering how to do this for a long time, so reading the documentation on the git hub, it was explained:
and in the
textbox Instructions
auth_instructions
Here you can provide instructions for your users, so they know which username and password they should be using. The text you enter here will appear on the login page. If you leave this blank then no instructions will be printed.
For this project we using the auth/gauth plugin http:/
This will allow the possibility of schools that are not using moodle to be able to use the moodle course as we have some schools that are using alternative Learning Management Systems.
auth/gauth - OpenID authentication with Google
Activated as an authentication plugin, and must be configured.
Key configuration values are:
- Domain name - the Google Apps domain name which forms the OAuth consumer key
- OpenID username mapping: the field from the OpenID assertions that is used for matching to Moodle - usually 'openid', but can be 'email'
- moodle username mapping - the field in Moodle that maps to the above OpenID userfield - usually 'idnumber'
Now we need to allow students to login, so changes to the login page are needed, I have been wondering how to do this for a long time, so reading the documentation on the git hub, it was explained:
If you want to use another authentication method together with auth/gauth, in
parallel, change the 'Instructions' in the 'Common settings' of the 'Administrations
>> Users >> Authentication Options' to contain a link to the
auth/gauth login page (-- remember to check the href and src paths --):
Click /auth/gauth/index.php to login with SSO
However, looking at the instructions, this is under, Site Administration -> Plugins -> Authentication -> Manage Authentication
and in the
textbox Instructions
auth_instructions
Here you can provide instructions for your users, so they know which username and password they should be using. The text you enter here will appear on the login page. If you leave this blank then no instructions will be printed.
Wednesday, 2 May 2012
Computing at School’s Raspberry Pi manual
Computing at School’s Raspberry Pi manual – call for contributions!
Liz: Commander Coder, one of our friends from Computing at School, left the message below on our forums last night. Because I know not all our forum visitors read the Educational applications section,
I’m copying what he posted here. Please consider whether there’s
anything you can do to help out – we really value community input and
we’d be really chuffed if you can take part.
I know a lot of you are interested to learn more about what we’re planning for this year’s educational release. Myra, our educational co-ordinator, has been working on the project for more than a month now, and I hope we’ll be able to publish something about her plans for the run-up to the next academic year later this week.
I’ll hand over to Commander Coder:
Over the past few months the Computing at School’s working group (CAS) has been working on a user manual to be ready for the educational launch. The manual is destined to answer that question to be asked by many Raspberry Pi owners; “What do I do with it?“ The manual will be right there on the desktop when the Raspberry Pi boots up. Thus, the owner won’t need an internet connection to get started.
The manual will answer the question with a series of “step-by-step” guides and “type-in and run” experiments in computer science. CAS has agreed with the Raspberry Pi Foundation that the following languages will be available on the educational launch SD card in a few months. There are hundreds of other languages and systems, but these will be enough to give Raspberry Pi users an experience of computer science.
* Scratch
* Python 3 (including PyGame, PyQt4 and similar libraries)
* Greenfoot
* Geogebra
* Java
* and C/C++ (naturally)
We have created a series of experiments for the owners to try out but we’re hungry for more. This is a call to the Raspberry Pi development community for your contribution to the educational manual.
As in the good old days of magazine listings, we are looking for short programs followed by a description of how they do what they do and preferably how it relates to a computing concept. If you’d like to contribute you can contact me at raspberryfilling@live.com. Ideally, point me at a website which has your experiment, add it to the Wiki Manual section, or simply send a zip or tarball containing the program and readme. Please don’t send links to material you don’t own. We want your contribution, not someone else’s.
Thanks in advance for any contributions and any we use in the manual will be properly attributed to you. We can’t promise we’ll use all the contributions, and I’ve seen a lot of them already mentioned on the forums and the wiki, but we’ll try to collate the most appropriate for teaching computer science to the Raspberry Pi owners.
Even if you don’t want to contribute anything to the manual you can follow our progress on Twitter @rasp_filling, and our Facebook page.
I know a lot of you are interested to learn more about what we’re planning for this year’s educational release. Myra, our educational co-ordinator, has been working on the project for more than a month now, and I hope we’ll be able to publish something about her plans for the run-up to the next academic year later this week.
I’ll hand over to Commander Coder:
Over the past few months the Computing at School’s working group (CAS) has been working on a user manual to be ready for the educational launch. The manual is destined to answer that question to be asked by many Raspberry Pi owners; “What do I do with it?“ The manual will be right there on the desktop when the Raspberry Pi boots up. Thus, the owner won’t need an internet connection to get started.
The manual will answer the question with a series of “step-by-step” guides and “type-in and run” experiments in computer science. CAS has agreed with the Raspberry Pi Foundation that the following languages will be available on the educational launch SD card in a few months. There are hundreds of other languages and systems, but these will be enough to give Raspberry Pi users an experience of computer science.
* Scratch
* Python 3 (including PyGame, PyQt4 and similar libraries)
* Greenfoot
* Geogebra
* Java
* and C/C++ (naturally)
We have created a series of experiments for the owners to try out but we’re hungry for more. This is a call to the Raspberry Pi development community for your contribution to the educational manual.
As in the good old days of magazine listings, we are looking for short programs followed by a description of how they do what they do and preferably how it relates to a computing concept. If you’d like to contribute you can contact me at raspberryfilling@live.com. Ideally, point me at a website which has your experiment, add it to the Wiki Manual section, or simply send a zip or tarball containing the program and readme. Please don’t send links to material you don’t own. We want your contribution, not someone else’s.
Thanks in advance for any contributions and any we use in the manual will be properly attributed to you. We can’t promise we’ll use all the contributions, and I’ve seen a lot of them already mentioned on the forums and the wiki, but we’ll try to collate the most appropriate for teaching computer science to the Raspberry Pi owners.
Even if you don’t want to contribute anything to the manual you can follow our progress on Twitter @rasp_filling, and our Facebook page.
Pycode install developments
Today has been a busy day, changes to the site have been a plenty.
Updated from 2.1.5 through to 2.2.2
This has allowed some other changes to be implemented, one of these is a different authentication method, OpenID authentication with Google
Built into the moodleinschools.org.nz 2.2.2 version.
Key configuration values are:
I am thinking about using "Self enrolment (Student)" and applying a password that is made available.
Using the enrolment settings we can look at unenrolling students after a certain period of time after the course has been completed, the other is the users on the moodle instance itself, these can be removed using moodle as well. So management of users could be left up to the system to manage.
This was a concern by another user, how would it be managed, so through systems that are built in and have been added it seems that there is little to do apart from making sure a cron job happens.
Update: 20 May 2012, looking at the github https://github.com/piersharding/moodle-google/tree/master/auth/gauth support has now been added that I can limit the auth domains, I can limit them with a ",". This will allow me to do schoola.school.nz, schoolb.school.nz, schoolc.school.nz so it is a great possibility.
Updated from 2.1.5 through to 2.2.2
This has allowed some other changes to be implemented, one of these is a different authentication method, OpenID authentication with Google
Built into the moodleinschools.org.nz 2.2.2 version.
auth/gauth - OpenID authentication with Google
Activated as an authentication plugin, and must be configured. Key configuration values are:
- Domain name - the Google Apps domain name which forms the OAuth consumer key
- OpenID username mapping: the field from the OpenID assertions that is used for matching to Moodle - usually 'openid', but can be 'email'
- moodle username mapping - the field in Moodle that maps to the above OpenID userfield - usually 'idnumber'
I am thinking about using "Self enrolment (Student)" and applying a password that is made available.
Using the enrolment settings we can look at unenrolling students after a certain period of time after the course has been completed, the other is the users on the moodle instance itself, these can be removed using moodle as well. So management of users could be left up to the system to manage.
This was a concern by another user, how would it be managed, so through systems that are built in and have been added it seems that there is little to do apart from making sure a cron job happens.
Update: 20 May 2012, looking at the github https://github.com/piersharding/moodle-google/tree/master/auth/gauth support has now been added that I can limit the auth domains, I can limit them with a ",". This will allow me to do schoola.school.nz, schoolb.school.nz, schoolc.school.nz so it is a great possibility.
Tuesday, 1 May 2012
Pycode history, why moodle and the changes to pypy
Last year the only type of questions pycode supported were of the form "write a function blah(x, y, z) that takes parameters .... and returns .... ". pycode was inspired by the excellent Python drill site http://codingbat.com/. But i wanted the integration with Moodle so I could set different question types and also record marks. I also found the write-a-function question a bit limiting, e.g. we couldn't do anything with files or classes or functions that did I/O or anything requiring any sort of state. So what you have is version 2, which permits "helloWorld", for example.
You can get plenty of ideas for 'write-a-function' questions from codingbat.com.
You can get plenty of ideas for 'write-a-function' questions from codingbat.com.
Monday, 30 April 2012
Python in Schools?
From one of the listserves that I belong to, this question came up I've had a request from our Digital Technologies teacher to install Python on the student Windows 7 workstations. We are running a Windows Server 2008r2 domain. Just wondering if there are other high school running python and if anyone has any opinions regarding students using python? Should we be concerned about security?
My answer...
With the NZC review and the standards realignment there are a number of changes to the area once known as Computing, Digital Technologies is a strand under the curriculum area Technology.
The area that the teacher is undertaking is the Programming and Computer Science Strand.
Under Level 7 of the Construct a Software Program under the Learning Objectives for Digital Technology http://techlink.org.nz/curriculum-support/indicators/Learning-Objectives/Digital-Technologies/Construct-a-Software-Program.htm requires students to independently implement a plan to construct an advanced program, in a suitable programming language, where the modules (including their procedural structures) constitute a well-structured logical decomposition of the task.
Under the the guidelines available from NZACDITT and the University of Canterbury, Python meets the criteria of an advanced programming environment. An alternative to Python that has been recommended is Java.
The University of Otago Computer Science Department has produced Java/Python resources to help assist teachers to understand and teacher the requirements of this Level 2 NCEA course. http://www.cs.otago.ac.nz/year12dt/
One of the best things about Python is the Graphical User Interface that has been developed, with Java it may need access to the command line prompt, though there are shell interface that have been developed. Python has a wonderful GUI called IDLE that allows students to develop programs and run them within the interface shell. Thus removing the potential security risks.
Other things that also need to be considered is providing students various web browsers, one thing that we are finding is that Internet Explorer just doesn’t cut the needs of students now. Google Chrome and Firefox should be provided for the students to use to be able to compare their website development as well as provide better experiences when using web 2.0 websites. Students are now able to expand their coding horizons by using codeacademy.com and google apps for education to provide them ways to collaborate on projects and work with clients.
There is currently work happening with the University of Canterbury to provide an extra question type within moodle to provide an interface for developing and marking programming functions with python. Learning Management Systems are becoming an efficient way to develop differentiated learning experiences for Digital technologies students.
With the NCEA Level 3 final draft standards about to be released, there is about to be more changes for the software requirements to be able to teach Digital Technologies for teachers and students. This is going to require some schools to possibly modify their school networks to allow for this, whether it be allowing USB boot for students to run alternative operating systems to install and configure various web services, Virtual machines to install alternative operating systems to be able to carry out investigations and demonstrate complex concepts. Other things that will need to be considered is looking at industry standard software packages, Adobe Creative Suite will allow students to do web development, graphic design, video editing, sound editing to the standards that are required to meet Level 8 of the NZC. Although there are open source alternatives they do have issues and are still being developed by their communities.
This post only looks at some of the requirements for this subject, however, there are many more issues around infrastructure and equipment when the strand Digital Infrastructure is looked at.
My answer...
With the NZC review and the standards realignment there are a number of changes to the area once known as Computing, Digital Technologies is a strand under the curriculum area Technology.
The area that the teacher is undertaking is the Programming and Computer Science Strand.
Under Level 7 of the Construct a Software Program under the Learning Objectives for Digital Technology http://techlink.org.nz/curriculum-support/indicators/Learning-Objectives/Digital-Technologies/Construct-a-Software-Program.htm requires students to independently implement a plan to construct an advanced program, in a suitable programming language, where the modules (including their procedural structures) constitute a well-structured logical decomposition of the task.
Under the the guidelines available from NZACDITT and the University of Canterbury, Python meets the criteria of an advanced programming environment. An alternative to Python that has been recommended is Java.
The University of Otago Computer Science Department has produced Java/Python resources to help assist teachers to understand and teacher the requirements of this Level 2 NCEA course. http://www.cs.otago.ac.nz/year12dt/
One of the best things about Python is the Graphical User Interface that has been developed, with Java it may need access to the command line prompt, though there are shell interface that have been developed. Python has a wonderful GUI called IDLE that allows students to develop programs and run them within the interface shell. Thus removing the potential security risks.
Other things that also need to be considered is providing students various web browsers, one thing that we are finding is that Internet Explorer just doesn’t cut the needs of students now. Google Chrome and Firefox should be provided for the students to use to be able to compare their website development as well as provide better experiences when using web 2.0 websites. Students are now able to expand their coding horizons by using codeacademy.com and google apps for education to provide them ways to collaborate on projects and work with clients.
There is currently work happening with the University of Canterbury to provide an extra question type within moodle to provide an interface for developing and marking programming functions with python. Learning Management Systems are becoming an efficient way to develop differentiated learning experiences for Digital technologies students.
With the NCEA Level 3 final draft standards about to be released, there is about to be more changes for the software requirements to be able to teach Digital Technologies for teachers and students. This is going to require some schools to possibly modify their school networks to allow for this, whether it be allowing USB boot for students to run alternative operating systems to install and configure various web services, Virtual machines to install alternative operating systems to be able to carry out investigations and demonstrate complex concepts. Other things that will need to be considered is looking at industry standard software packages, Adobe Creative Suite will allow students to do web development, graphic design, video editing, sound editing to the standards that are required to meet Level 8 of the NZC. Although there are open source alternatives they do have issues and are still being developed by their communities.
This post only looks at some of the requirements for this subject, however, there are many more issues around infrastructure and equipment when the strand Digital Infrastructure is looked at.
Sunday, 29 April 2012
Issues with getting apps installed
One of the biggest issues that I have with my courses is apps.
Trying to get apps installed on our network is like pulling teeth, I waited 5 weeks for being allowed putty on the network, I am still waiting for google chrome to be installed, although we have had some success, though failure seems to be a common occurrence due to the group policies that come with chrome don't seem to want to work.
Notepad++ came, but only after a couple of months.
But I was put onto something that I have used before by another school, portableapps.com, this allows me to intall, setup and just copy the folder onto a read only area of the network and then we will be away. I have done this with XAMPP when developing the subject option choice website, so why can't I do this again... So I will get one developed and talk it over with the tech and see if we can get that as an option.
Why go through this process, IE8 is just not performing, we are unable to do the development that I am pushing for some of my year 13 students through codeacademy.com, also other students would like access to chrome as it does come down to performance. Chrome allows better interaction with the google apps environment.
Trying to get apps installed on our network is like pulling teeth, I waited 5 weeks for being allowed putty on the network, I am still waiting for google chrome to be installed, although we have had some success, though failure seems to be a common occurrence due to the group policies that come with chrome don't seem to want to work.
Notepad++ came, but only after a couple of months.
But I was put onto something that I have used before by another school, portableapps.com, this allows me to intall, setup and just copy the folder onto a read only area of the network and then we will be away. I have done this with XAMPP when developing the subject option choice website, so why can't I do this again... So I will get one developed and talk it over with the tech and see if we can get that as an option.
Why go through this process, IE8 is just not performing, we are unable to do the development that I am pushing for some of my year 13 students through codeacademy.com, also other students would like access to chrome as it does come down to performance. Chrome allows better interaction with the google apps environment.
Friday, 27 April 2012
This week
This week has brought a number of challenges
1. Working with publishers - I was asked to be part of a meeting with a publisher around the changing environment of textbooks. This was a fantastic meeting as over the Christmas holiday I had been working with a client on developing moodle courses based upon the information that already existed as pdf documents, hot pot quizzes and shockwave and powerpoint files. This has allowed for the CD at the back of the workbook that if it goes missing that the students still have access to the work. We are also in preparation for the installation of wireless technology at school and BYOD for students. These devices also probably will not have a CD drive available for it to work.
Though one aspect that is work considering is the the idea of digital learning objects, these objects are going to have a place in teaching more in the next couple of years, however the aspect that we need to look at is how to find related resources and common resources. The Ministry of Education had in the last couple of years written documentation in helping define the meta data required to assist in the searching and development of these resources. But it has been difficult in finding these resources.
2. Moodle - I have been busy in installing a new module for python development for moodle, its called pycode, i will include some installation notes later.
3. pycode, i have been working on getting pypy and pycode up and running on one of my virtual machines, not the best idea as I am finding that the machine setup is so underpowered that it is failing some of the unit tests that the developer has told me should work. This has involved a lot of work around understanding the moodle environment, and where specific parts go. This has been a great development opportunity to work through my skills in ubuntu and try new things out. However, the development now need to be put into a production environment. Documentation is going to have to be sorted. At the moment there is limited documentation and most of it has been from an initial email, and some follow up questions, Kind of wish there was a README file on the git hub where the material was downloaded from telling people where it had to be installed and what other sections have to be added and placed as well. One of the biggest issues was not reading an email properly, where it told me to run a Unit Test, "question/type/pycode", had I carried this out at the time I would not have wasted a couple of hours reinstalling moodle from scratch and placing the files in the correct location. But on the upsite, it means that I have a moodleinschools 2.1.5 version with the pycode setup in the correct locations.
I have been asked by an associate to provide a tarball and database copy so he can install it on his system so he can continue the production of this.
We are looking at providing this as a development for the Watchdog moodle hub, however we need to find out, if someone enrolls in the course through the moodle hub, where is the content stored and will pycode-pypy be available for them to run.
1. Working with publishers - I was asked to be part of a meeting with a publisher around the changing environment of textbooks. This was a fantastic meeting as over the Christmas holiday I had been working with a client on developing moodle courses based upon the information that already existed as pdf documents, hot pot quizzes and shockwave and powerpoint files. This has allowed for the CD at the back of the workbook that if it goes missing that the students still have access to the work. We are also in preparation for the installation of wireless technology at school and BYOD for students. These devices also probably will not have a CD drive available for it to work.
Though one aspect that is work considering is the the idea of digital learning objects, these objects are going to have a place in teaching more in the next couple of years, however the aspect that we need to look at is how to find related resources and common resources. The Ministry of Education had in the last couple of years written documentation in helping define the meta data required to assist in the searching and development of these resources. But it has been difficult in finding these resources.
2. Moodle - I have been busy in installing a new module for python development for moodle, its called pycode, i will include some installation notes later.
3. pycode, i have been working on getting pypy and pycode up and running on one of my virtual machines, not the best idea as I am finding that the machine setup is so underpowered that it is failing some of the unit tests that the developer has told me should work. This has involved a lot of work around understanding the moodle environment, and where specific parts go. This has been a great development opportunity to work through my skills in ubuntu and try new things out. However, the development now need to be put into a production environment. Documentation is going to have to be sorted. At the moment there is limited documentation and most of it has been from an initial email, and some follow up questions, Kind of wish there was a README file on the git hub where the material was downloaded from telling people where it had to be installed and what other sections have to be added and placed as well. One of the biggest issues was not reading an email properly, where it told me to run a Unit Test, "question/type/pycode", had I carried this out at the time I would not have wasted a couple of hours reinstalling moodle from scratch and placing the files in the correct location. But on the upsite, it means that I have a moodleinschools 2.1.5 version with the pycode setup in the correct locations.
I have been asked by an associate to provide a tarball and database copy so he can install it on his system so he can continue the production of this.
We are looking at providing this as a development for the Watchdog moodle hub, however we need to find out, if someone enrolls in the course through the moodle hub, where is the content stored and will pycode-pypy be available for them to run.
Thursday, 26 April 2012
Showing errors in php
I have been having students working through php development on the ubuntu install, one thing that really should have been setup at the start was error reporting
error_reporting = E_ALL & ~E_NOTICE
and display_errors = on
this now shows all error messages and where the students have errors in there code.
error_reporting = E_ALL & ~E_NOTICE
and display_errors = on
this now shows all error messages and where the students have errors in there code.
Wednesday, 25 April 2012
Pycode and it's creation
Report on the development of pycode through the moodle LMS platform through University of Canterbury
http://www.canterbury.ac.nz/aqua/awards/TDG%202010%20Final%20Reports/Andy%20Cockburn.pdf
Andy Cockburn, Richard Lobb, Brent Martin
Computer Science and Software Engineering
Background
In 2008 the Computer Science and Software Engineering department decided to change its first year introductory teaching language from Java to Python. Switching first year teaching language is a major undertaking as it has a major impact on the entire Computer Science curriculum (as most subsequent courses use and build on the initial language) as well as influencing all of the departments that benefit from having students that are familiar with programming concepts.
We selected the Python programming language for several reasons:
• It is widely used in industry (e.g. Google), which is important for student motivation.
• It is widely used in many academic disciplines (e.g. the biopython in bioinformatics, VPython in Physics, pyQuante in chemistry, psychoPy in psychology, etc.). Again, this is important for student motivation and potentially high value for 'customer' departments.
• It is a multiparadigm language meaning that we are free to choose how much of the language we teach (unlike Java, which requires us to teach object orientation concurrently with elementary constructs). Pedagogically, this is an extremely important asset as we can peel the learning layers as we choose rather than as dictated by the language.
• Our main teaching partners (in particular, the Engineering Faculty) were very enthusiastic about the move to Python.
We applied for, and received, a UCTL grant to assist us in making the transition to Python as effective as possible. The specific objectives were as follows: 1. to create core learning materials for the course, particularly interactive quizzes and motivating learning environments; 2. to construct a Python intelligent tutoring system.
Outcomes
We first taught Python in 2010 (C05C121-51, C05C121-52 and C05C122-52). The enrolments immediately leapt from 261 in C05C121-51-2009 to 467 in C05C121-51-2010. The increase was largely due to an increase in Engineering students, who were now encouraged by their faculty to take the course.
Developing lab and assignment materials for the course was a major undertaking. The department funded development of the core materials, but the two key extensions enabled by the grant were the development of on-line quizzes and Pycode.
Development of on-line quizzes
Practical lab work is critical when learning to program, but the time costs of setting, administering, and marking lab work has discouraged us from explicitly assessing lab work. With the grant we were able to hire a postgraduate computer science student to develop on-line and automarked quizzes within Learn. The value of these quizzes for teaching Python has been dramatically elevated through the development of Pycode (below).
Development of Pycode: Interactive and automarked quizzes, now integrated into Learn
We developed a new quiz question-type module for Moodie that allows us to embed Python coding questions into our Learn quizzes. With this new question type, called "pycode", students are asked to write a Python function that satisfies some specification; they can either type their program code directly into the answer box on the web page or test it first on a Python development system and then copy and paste their answer into the web page. When they submit their answer the new plugin module runs their program code, testing it with a set of test cases specific to the question. The student answer is marked correct only if it passes all the tests. We are incorporating pycode questions into most of the laboratory quizzes this year as they provide direct explicit testing of a student's programming skills, rather than the indirect testing available via the existing question types like multiple choice, short-answer etc.
We have also employed a student to write a set of "drill quizzes", which are collections of pycode questions in specific skill areas: strings, lists, logic and loops. Students are directed to these drill quizzes for extra practice if they struggle with the pycode questions embedded in the normal weekly lab quizzes. We hope that this will help students who are struggling but well motivated to succeed.
Developing Pycode and populating our labs with pycode quizzes was a substantial task. The heavy course demands brought about by the near doubling of enrolments increased the need (and benefits) of the lab quizzes and Pycode, but it also reduced time available for the Intelligent Tutoring objective.
We have carried out some preliminary work into parsing student's Python programs (including malformed ones) and identifying errors. We have also developed a prototype to test our approach for a small subset ofthe Python language. Developing this further to accept all of Python is a large project; we hope to continue with this in the near future as the pressure of course demands eases through the stabilisation of the Pycode resources.
http://www.canterbury.ac.nz/aqua/awards/TDG%202010%20Final%20Reports/Andy%20Cockburn.pdf
Project Report:
Learning tools for the Python programming languageAndy Cockburn, Richard Lobb, Brent Martin
Computer Science and Software Engineering
Background
In 2008 the Computer Science and Software Engineering department decided to change its first year introductory teaching language from Java to Python. Switching first year teaching language is a major undertaking as it has a major impact on the entire Computer Science curriculum (as most subsequent courses use and build on the initial language) as well as influencing all of the departments that benefit from having students that are familiar with programming concepts.
We selected the Python programming language for several reasons:
• It is widely used in industry (e.g. Google), which is important for student motivation.
• It is widely used in many academic disciplines (e.g. the biopython in bioinformatics, VPython in Physics, pyQuante in chemistry, psychoPy in psychology, etc.). Again, this is important for student motivation and potentially high value for 'customer' departments.
• It is a multiparadigm language meaning that we are free to choose how much of the language we teach (unlike Java, which requires us to teach object orientation concurrently with elementary constructs). Pedagogically, this is an extremely important asset as we can peel the learning layers as we choose rather than as dictated by the language.
• Our main teaching partners (in particular, the Engineering Faculty) were very enthusiastic about the move to Python.
We applied for, and received, a UCTL grant to assist us in making the transition to Python as effective as possible. The specific objectives were as follows: 1. to create core learning materials for the course, particularly interactive quizzes and motivating learning environments; 2. to construct a Python intelligent tutoring system.
Outcomes
We first taught Python in 2010 (C05C121-51, C05C121-52 and C05C122-52). The enrolments immediately leapt from 261 in C05C121-51-2009 to 467 in C05C121-51-2010. The increase was largely due to an increase in Engineering students, who were now encouraged by their faculty to take the course.
Developing lab and assignment materials for the course was a major undertaking. The department funded development of the core materials, but the two key extensions enabled by the grant were the development of on-line quizzes and Pycode.
Development of on-line quizzes
Practical lab work is critical when learning to program, but the time costs of setting, administering, and marking lab work has discouraged us from explicitly assessing lab work. With the grant we were able to hire a postgraduate computer science student to develop on-line and automarked quizzes within Learn. The value of these quizzes for teaching Python has been dramatically elevated through the development of Pycode (below).
Development of Pycode: Interactive and automarked quizzes, now integrated into Learn
We developed a new quiz question-type module for Moodie that allows us to embed Python coding questions into our Learn quizzes. With this new question type, called "pycode", students are asked to write a Python function that satisfies some specification; they can either type their program code directly into the answer box on the web page or test it first on a Python development system and then copy and paste their answer into the web page. When they submit their answer the new plugin module runs their program code, testing it with a set of test cases specific to the question. The student answer is marked correct only if it passes all the tests. We are incorporating pycode questions into most of the laboratory quizzes this year as they provide direct explicit testing of a student's programming skills, rather than the indirect testing available via the existing question types like multiple choice, short-answer etc.
We have also employed a student to write a set of "drill quizzes", which are collections of pycode questions in specific skill areas: strings, lists, logic and loops. Students are directed to these drill quizzes for extra practice if they struggle with the pycode questions embedded in the normal weekly lab quizzes. We hope that this will help students who are struggling but well motivated to succeed.
Developing Pycode and populating our labs with pycode quizzes was a substantial task. The heavy course demands brought about by the near doubling of enrolments increased the need (and benefits) of the lab quizzes and Pycode, but it also reduced time available for the Intelligent Tutoring objective.
We have carried out some preliminary work into parsing student's Python programs (including malformed ones) and identifying errors. We have also developed a prototype to test our approach for a small subset ofthe Python language. Developing this further to accept all of Python is a large project; we hope to continue with this in the near future as the pressure of course demands eases through the stabilisation of the Pycode resources.
Saturday, 21 April 2012
Technology alone is not enough
Technology alone is not enough
Many
studies reinforce that technology alone cannot achieve learning
outcomes: ‘the tool provides the means, the students and teacher
construct the meaning’ (Luehmann & Frink, 2009, p. 277). The role of
the teacher is critical in the successful use of any
technology-enhanced learning experience and to realise the potential
that technology offers, teachers need to adopt appropriate pedagogies
and scaffold students’ learning as well as integrate technology into the
curriculum (Kubieck, 2005). For example, students can be reluctant to
comment on others’ work (Ellison & Wu, 2008). They can also struggle
with the formality that assessment imposes on the more informal
‘non-academic’ mode of discourse of blogs and wikis (Farmer et al.,
2008; Hemmi, Bayne & Land, 2009) and mandatory comments can lead to a
lack of substantive feedback (Ellison & Wu, 2008). To create a
responsive and expressive student audience, appropriate guidance in
giving constructive feedback is needed (Kajder, 2007) along with
appropriate assessment. In addition, technology allows access to a vast
amount of scientific information which is often non-linear, fast-paced,
rich and embedded in other contexts. Selecting, organising and
integrating this type of information can produce high cognitive load
which affects learning. As a result, strategies such as segmenting,
looking for patterns in information and understanding different genres
may also be required (Pace & Jones, 2009).
Mercurial source control management
Mercurial is a free, distributed source control management tool. It offers you the power to efficiently handle projects of any size while using an intuitive interface. It is easy to use and hard to break, making it ideal for anyone working with versioned files.
need to install
http://mercurial.selenic.com/downloads/
and run
this will allow me to update the code easier at new releases come out
Issues I have had so far, site5.com will not allow me to install to /usr/local, where the sandbox needs to be installed and located.
need to install
http://mercurial.selenic.com/downloads/
apt-get install mercurial
and run
hg clone https://bitbucket.org/trampgeek/pypy-sandbox-4-pycode
this will allow me to update the code easier at new releases come out
Issues I have had so far, site5.com will not allow me to install to /usr/local, where the sandbox needs to be installed and located.
Friday, 13 April 2012
flow charting and programming
one thing that has always caused issues for students is that they just want to program, they don't want to do any planning before hand, however, how do you play hangman?
This could be a good way to get students to think about how they would program it.
http://inventwithpython.com/chapter8.html
Topics Covered In This Chapter:
How to play Hangman.
ASCII art
Designing our game by drawing a flow chart before programming.
This could be a good way to get students to think about how they would program it.
http://inventwithpython.com/chapter8.html
Topics Covered In This Chapter:
How to play Hangman.
ASCII art
Designing our game by drawing a flow chart before programming.
programming and moodle - pycode installation
Pycode is a quiz module for Moodle 2.1 (and, I hope, later versions, though it's tested only on 2.1), which lets us ask Python programming questions. The student's answer is a bit of python code that is run on the server for validation, with a given set of testcases. If the code passes all tests it gets full marks, otherwise it gets nothing and the student has to resubmit. The questions are intended to be run in Adaptive Mode, so that there will be a penalty for each failing submission.
The Moodle code is a more-or-less standard quiz question module, though due to a deficiency in the Moodle 2 architecture I've also had to write a special quiz question "behaviour" module to install. These two modules are available from two git repositories ( https://github.com/trampgeek/ pycode and https://github.com/trampgeek/ adaptive_adapted_for_pycode) and installation is just a simple matter of copying the php source code into appropriate places in the directory tree.
The student supplied code obviously has to be run in a sandbox that prevents unauthorised system calls and excessive use of memory or cpu time. The sandbox I use is pypy -- see http://doc.pypy.org/en/latest/ sandbox.html.This appears to be very safe; several smart people here have tried to hack it unsuccessfully and if you read the webpage you'll probably see why. However, it's a bit of a pig to install.
To avoid problems with constant stream of pypy updates, and to add a little bit of my own code as a front end, I've forked the base pypy distribution; my fork is available as a mercurial distribution at https://bitbucket.org/ trampgeek/pypy-sandbox-4- pycode/wiki/Home. Unfortunately, this has to be built from source. The steps are:
Get the source from the Mercurial repository into a directory /usr/local/pypy-sandbox-4- pycode
Install all the dependencies as per http://pypy.readthedocs.org/ en/latest/getting ... ng-the-pypy-python-interpreter
cd /usr/local/pypy-sandbox-4- pycode/pypy/translator/goal
python translate.py -O2 --sandbox
[After about half an hour] mv pypy-c /usr/local/pypy-sandbox-4- pycode/pypy/translator/ sandbox/pypy-sandbox
One major issue should be mentioned: do you run SElinux? If so, there's an issue with running Python from the webserver (which is necessary to provide the front-end to pypy). It's a known Python/SELinux issue (e.g. seehttp://stackoverflow.com/ questions/3762566/oc ... numpy-from-mod-wsgi-django-app or https://bugzilla.redhat.com/ show_bug.cgi?id=582009). An SELinux expert is apparently able to solve the problem by first turning on logging of SELinux AVC denials then adding a specific exception to allow the offending operation. However, no-one here is clued up enough to do that -- we just turned off SELinux, but you may not wish to do that.
So -- too daunting for you? Let me know if you wish to proceed.
all run from ~
sudo apt-get update
sudo apt-get install libssl0.9.8
sudo apt-get install gcc
sudo apt-get install python-codespeak-libsudo apt-get install python-ctypes
need to install
http://mercurial.selenic.com/downloads/
sudo apt-get install mercurial
and run
hg clone https://bitbucket.org/trampgeek/pypy-sandbox-4-pycode
sudo mv pypy-sandbox-4-pycode/ /usr/local/
cd /usr/local/pypy-sandbox-4-pycode/pypy/translator/goal
python translate.py -O2 --sandbox
wait half an hour to four fours for install
sudo mv pypy-c /usr/local/pypy-sandbox-4-pycode/pypy/translator/sandbox/pypy-sandbox
moodleinschools2.1 install from http://www.moodleinschools.org.nz/download
unzip the pycode downloads that are listed at bitbucket
pycode need to go into /moodle/question/type
the adaptive files need to go into /moodle/question/behaviour
I am amazed that I have now a working pycode when doing the unit tests Site Administration > Development > Unit Tests. You then enter "question/type/pycode" into the box "Only run tests in ...".
Note: I had this working at 2pm, but did not read the email from the developer correctly, which stated, You then enter "question/type/pycode" into the box "Only run tests in ...". Had I done this I would be further along the develop of questions.
One thing I have had to do is to install xdebug http://docs.moodle.org/dev/Profiling_PHP
The next thing is how to setup a quiz question, it looks simple enough, but I think I need to see an example of it.
Seeing examples of the questions and trying to get them working seem to be a bit of a challenge for me at the moment, looks like I may have to get started on learning python.
The Moodle code is a more-or-less standard quiz question module, though due to a deficiency in the Moodle 2 architecture I've also had to write a special quiz question "behaviour" module to install. These two modules are available from two git repositories ( https://github.com/trampgeek/
The student supplied code obviously has to be run in a sandbox that prevents unauthorised system calls and excessive use of memory or cpu time. The sandbox I use is pypy -- see http://doc.pypy.org/en/latest/
To avoid problems with constant stream of pypy updates, and to add a little bit of my own code as a front end, I've forked the base pypy distribution; my fork is available as a mercurial distribution at https://bitbucket.org/
Get the source from the Mercurial repository into a directory /usr/local/pypy-sandbox-4-
Install all the dependencies as per http://pypy.readthedocs.org/
cd /usr/local/pypy-sandbox-4-
python translate.py -O2 --sandbox
[After about half an hour] mv pypy-c /usr/local/pypy-sandbox-4-
One major issue should be mentioned: do you run SElinux? If so, there's an issue with running Python from the webserver (which is necessary to provide the front-end to pypy). It's a known Python/SELinux issue (e.g. seehttp://stackoverflow.com/
So -- too daunting for you? Let me know if you wish to proceed.
Notes that I am making on the install
this is all done on a ubuntu install with LAMP stack.all run from ~
sudo apt-get update
sudo apt-get install libssl0.9.8
sudo apt-get install gcc
sudo apt-get install python-codespeak-libsudo apt-get install python-ctypes
need to install
http://mercurial.selenic.com/downloads/
sudo apt-get install mercurial
and run
hg clone https://bitbucket.org/trampgeek/pypy-sandbox-4-pycode
sudo mv pypy-sandbox-4-pycode/ /usr/local/
cd /usr/local/pypy-sandbox-4-pycode/pypy/translator/goal
python translate.py -O2 --sandbox
wait half an hour to four fours for install
sudo mv pypy-c /usr/local/pypy-sandbox-4-pycode/pypy/translator/sandbox/pypy-sandbox
moodleinschools2.1 install from http://www.moodleinschools.org.nz/download
unzip the pycode downloads that are listed at bitbucket
pycode need to go into /moodle/question/type
the adaptive files need to go into /moodle/question/behaviour
I am amazed that I have now a working pycode when doing the unit tests Site Administration > Development > Unit Tests. You then enter "question/type/pycode" into the box "Only run tests in ...".
Note: I had this working at 2pm, but did not read the email from the developer correctly, which stated, You then enter "question/type/pycode" into the box "Only run tests in ...". Had I done this I would be further along the develop of questions.
One thing I have had to do is to install xdebug http://docs.moodle.org/dev/Profiling_PHP
The next thing is how to setup a quiz question, it looks simple enough, but I think I need to see an example of it.
Seeing examples of the questions and trying to get them working seem to be a bit of a challenge for me at the moment, looks like I may have to get started on learning python.
Subscribe to:
Posts (Atom)

