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.
Monday, 30 April 2012
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.
Thursday, 12 April 2012
programming and moodle - pycode
One thing I would love to see and have is the ability to be able to get testing done through moodle on what the students program, it takes so much time to test a students program to make sure that all the conditions work.
Auckland university have a site that students can create various programming questions and then put in the code as well as a testing scheme. This informs students straight away if there program is correct.
The auckland university cs website has a webapp called codewrite
I have heard that there is some development on this idea by the University of Canterbury to develop a plug-in into moodle, called "pycode" but this will require some work before it is fit for purpose yet, as well as paying to get it included into our moodle instance.
As far as I can gather, it also requires a sandbox to be installed so it can run the programs, this may require another server to be thrown into the mix just to do that processing.
This will be a great opportunity to get students to develop their own questions, answers and testing and will show some of the key competencies now required by our students as well as Curiosity? Problem solving? Decision making? Reliance?
Note: Looking at the way code academy works, this is what I am after for my students, but for python.
Auckland university have a site that students can create various programming questions and then put in the code as well as a testing scheme. This informs students straight away if there program is correct.
The auckland university cs website has a webapp called codewrite
Learning how to program requires lots of practice, and practice requires good exercises. With CodeWrite, you are given the task of defining small programming exercises with which others can practice - and of course, you have access to all of the contributed exercises.This was a great way for students to get involved.
I have heard that there is some development on this idea by the University of Canterbury to develop a plug-in into moodle, called "pycode" but this will require some work before it is fit for purpose yet, as well as paying to get it included into our moodle instance.
As far as I can gather, it also requires a sandbox to be installed so it can run the programs, this may require another server to be thrown into the mix just to do that processing.
This will be a great opportunity to get students to develop their own questions, answers and testing and will show some of the key competencies now required by our students as well as Curiosity? Problem solving? Decision making? Reliance?
Note: Looking at the way code academy works, this is what I am after for my students, but for python.
moodle meta courses
Finally figured out how to do number 2
http://docs.moodle.org/21/en/Course_meta_link
Needed to enable this as a setting
http://docs.moodle.org/21/en/Course_meta_link
Needed to enable this as a setting
Admin settings for Course meta link
- The Course meta link plugin may be enabled or disabled throughout the site in Settings > Site administration > Plugins > Enrolments > Manage enrol plugins.
- The page Settings > Site administration > Plugins > Enrolments > Course meta link contains options for defaults that admin can set. (It can be also be accessed by clicking the Settings link on on the course meta link section of Settings > Site administration > Plugins > Enrolments > Manage enrol plugins)
- When a course uses a course meta link to bring in enrolments from another ("child") course, the course roles of that other course are carried over ("synchronised"). Roles which are not normally synchronised are listed here and may be selected on this page to be included in the synchronisation process the next time cron runs.
Now to work out how to link the content and courses together
Getting more out of google apps
As we all know Google apps is missing the image editing and sound editing tools.
However, aviary for education has this available.
I have just been to the Google apps marketplace and found aviary for google apps and signed up for it.
This will now work with our account and be a wonderful addition to my students planning and development.
Aviary is a powerful suite of browser-based design tools, now available right from within Google Apps
Aviary is a suite of FREE web-based design tools which classrooms can use to create, edit and share digital assets. Aviary offers the power and capabilities of leading desktop editors and design tools, with the freedom and flexibility of browser-based applications. Whether you are trying to edit a screen capture for your website, record a podcast or design a cover for a school report, Aviary has the right tool for you.
However, aviary for education has this available.
I have just been to the Google apps marketplace and found aviary for google apps and signed up for it.
This will now work with our account and be a wonderful addition to my students planning and development.
Aviary is a powerful suite of browser-based design tools, now available right from within Google Apps
Aviary is a suite of FREE web-based design tools which classrooms can use to create, edit and share digital assets. Aviary offers the power and capabilities of leading desktop editors and design tools, with the freedom and flexibility of browser-based applications. Whether you are trying to edit a screen capture for your website, record a podcast or design a cover for a school report, Aviary has the right tool for you.
This has now been incorporated into our moodle tools menu.
Tuesday, 10 April 2012
Moodle Community Hub
One of the tools that we have selected to use at school is moodle, this provides teachers an online environment to put work and resources up online and use some of the activity modules to get feedback from the students.
We are now investigating the use of a community hub, though I believe that this will require a change in teachers minds. This allows teachers to publish there courses online for other teachers to use. There is the development of a New Zealand moodle hub through watchdog. http://hub.moodleinschools.org.nz. This is still under development and will hopefully be running by the end of the April school holidays, just requires some more testing to make sure all systems are go.
But will schools use it, one thing I will be pushing for at the next moodle meeting in Christchurch, is getting schools online and sharing resources, be it a quiz or total course. I also see a great need for it within our associations as well, to be able to collaboratively work and build a course up that others can use and modify.
I have another idea as well, but will have to debate this tonight.
We are now investigating the use of a community hub, though I believe that this will require a change in teachers minds. This allows teachers to publish there courses online for other teachers to use. There is the development of a New Zealand moodle hub through watchdog. http://hub.moodleinschools.org.nz. This is still under development and will hopefully be running by the end of the April school holidays, just requires some more testing to make sure all systems are go.
But will schools use it, one thing I will be pushing for at the next moodle meeting in Christchurch, is getting schools online and sharing resources, be it a quiz or total course. I also see a great need for it within our associations as well, to be able to collaboratively work and build a course up that others can use and modify.
I have another idea as well, but will have to debate this tonight.
Friday, 6 April 2012
Indicators of progression for Technology Learning Objectives
INDICATORS OF PROGRESSION FOR TECHNOLOGY LEARNING OBJECTIVES
These have now been released for Level 6 and 7, next year Level 8 will be released.
http://techlink.org.nz/curriculum-support/indicators/Learning-Objectives/index.htm
The Indicators of Progression (Indicators) provide support for teachers to interpret the Learning Objectives (LOs) for each specialist knowledge and skill technology component. They:
provide an overview statement that explains the focus of the Learning Objectives and an overview statement about student progression from curriculum levels 6-8;
restate the Learning Objectives for each level;
provide guidance to teachers on what they could do to support student learning at curriculum levels 6-8
provide indicators of what students should know or be able to do at curriculum levels 6-8; and
indicate the achievement standard(s) that align to the Learning Objective at curriculum levels 6-8.
Knowledge of Digital Information Management | Create a Digital Information Outcome
Knowledge of Digital Media | Create a Digital Media Outcome | Design a Software Program Structure
Knowledge of Computer Science and Software Engineering | Construct a Software Program
Knowledge of Digital Infrastructure | Design a Digital Infrastructure System |
http://techlink.org.nz/curriculum-support/indicators/Learning-Objectives/index.htm
The Indicators of Progression (Indicators) provide support for teachers to interpret the Learning Objectives (LOs) for each specialist knowledge and skill technology component. They:
provide an overview statement that explains the focus of the Learning Objectives and an overview statement about student progression from curriculum levels 6-8;
restate the Learning Objectives for each level;
provide guidance to teachers on what they could do to support student learning at curriculum levels 6-8
provide indicators of what students should know or be able to do at curriculum levels 6-8; and
indicate the achievement standard(s) that align to the Learning Objective at curriculum levels 6-8.
Digital Technologies
Knowledge of Digital Information Management | Create a Digital Information Outcome
Knowledge of Digital Media | Create a Digital Media Outcome | Design a Software Program Structure
Knowledge of Computer Science and Software Engineering | Construct a Software Program
Knowledge of Digital Infrastructure | Design a Digital Infrastructure System |
Followup - Is Government failing ICT Teachers
ICT curriculum better, but support needed
ICT secondary school teacher says more professional development requiredFor 15 years Tania Samal has been teaching ICT to secondary school students at Whakatane High School. In that time she has seen three different governments, the introduction of NCEA, and for the last two years she has been looking at ways to integrate the new Digital Technologies standards into her school’s ICT curriculum.
Comments made by Hawkes Bay ICT educator Michael Peterson criticising the government’s support and focus on ICT, were understandable, but do not fairly reflect the progress that has been made in the curriculum in the past two years, says Samal.
“I feel he was a bit harsh towards the ministry. Maybe a couple of years ago it would be completely justified, but now the ministry is starting to get its act together,” says Samal.
In the last year the ministry has rolled out its new Digital Technologies standards for Level 1 NCEA , which were developed in conjunction with Canterbury University. A similar set of standards have been published for Level 2 this year, and the Level 3 standards will be available next year.
The new standards give teachers the option to teach a greater number of strands under the ICT umbrella, and gives them the tools to assess them using achievement standards instead of just the unit standards that were offered previously.
The ministry is not without its faults, says Samal.
“However, the ministry have run a lot of workshops in our region, but they’re held in Hamilton which is a two hour drive away. This, along with the tightening of our school budget means we’ve essentially been told that no one will be sent for Professional Development (PD) from our school,” says Samal.
Samal is also critical of the lack of resources provided to ICT teachers after the roll out of the new standards.
“We don’t have the time to create these curriculums completely from scratch. Right now teachers are helping other teachers by showing what they are doing in their own classes, but we need more resources from the ministry itself.”
John Creighton, president of the New Zealand Association for Computing, Digital and Information Technology Teachers (NZCDITT) says that in ICT, where content knowledge changes so rapidly, there is never enough PD.
The organisation, which was formed in 2009, has 400 secondary school members and associate members from tertiary institutions.
“PD has to be targeted to the teachers so they can be targeted to the students,” Creighton says, citing a recent collaboration between Canterbury University and Google to run a conference/workshop for teachers in Christchurch and Wellington.
He says NZACDITT is trying to develop regionally based PD programmes, but struggles to secure funding and resources.
The Minister of Education, Hekia Parata, has refused to comment. Computerworld’s questions to the ministry have yet to get a response.
From: http://computerworld.co.nz/news.nsf/news/ict-curriculum-better-but-support-needed
Future of Technology
Why is it when I new technology comes out, especially these things I want them,
The Google glasses project sounds like a winner to me, I like the fact that they integrate with your phone, which means I still have control on what goes out.
Questions that I am thinking about are: will it be available in my prescription? Are all of a sudden glasses going to be cool? Is there going to be a opacity control so it will not affect driving, walking?
from nzherald.co.nz
If you think texting while walking is dangerous, just wait until everyone starts wearing Google's futuristic, Internet-connected glasses.
Directions to your destination appear literally before your eyes. You can talk to friends over video chat, take a photo or even buy a few things online as you walk around.
These glasses can do anything a smartphone or tablet computer does now -and then some.
Google gave a glimpse of "Project Glass" in a video and blog post this week. Still in an early prototype stage, the glasses open up endless possibilities - as well as challenges to safety, privacy and fashion sensibility.
The prototypes have a sleek wrap-around look and appear nothing like clunky 3-D glasses. But if Google isn't careful, they could be dismissed as a kind of Bluetooth earpiece of the future, a fashion faux-pas where bulky looks outweigh marginal utility.
In development for a couple of years, the project is the brainchild of Google X, the online search-leader's secret facility that spawned the self-driving car and could one day let people ride elevators into space.
If it takes off, it could bring reality another step closer to science fiction, where the line between human and machine blurs.
"My son is 4 years old and this is going to be his generation's reality," said Guy Bailey, who works as a social media supervisor for Kennesaw State University outside Atlanta. He expects it might even be followed by body implants, so that in 10 years or so you'll be able to get such a "heads-up" display inside your head.
At its best, the goal is to make your life easier by putting the tools now at your fingertips in front of your eyes.
"There is a lot of data about the world that would be great if more people had access to as they are walking down the street," said Jason Tester, research director at the nonprofit Institute For the Future in Palo Alto, California.
That said, "once that information is not only at our fingertips but literally in our field of view, it may become too much."
Always-on smartphones with their constant Twitter feeds, real-time weather updates and "Angry Birds" games are already leaving people with a sense of information overload. But at least you can put your smartphone away. Having all that in front of your eyes could become too much.
"Sometimes you want to stop and smell the roses," said Scott Steinberg, CEO of technology consulting company TechSavvy Global. "It doesn't mean you want to call up every single fact about them on the Internet."
Still, it doesn't take much to imagine the possibilities. What if you could instantly see the Facebook profile of the person sitting next to you on the bus? Read the ingredient list and calorie count of a sandwich by looking at it? Snap a photo with a blink? Look through your wall to find out where electrical leads are, so you know where to drill?
"Not paint your house, because the people who looked at your house could see whatever colour they wanted it in?" pondered veteran technology analyst Rob Enderle.
Wearing the glasses could turn the Internet into a tool in the same way that our memory is a tool now, mused science fiction writer and computer scientist Vernor Vinge. His 2006 book, "Rainbow's End," set in the not-so-distant future, has people interacting with the world through their contact lenses, as if they had a smart phone embedded in their eyes.
"Things we used to think were magic, we now take for granted: the ability to get a map instantly, to find information quickly and easily, to choose any video from millions on YouTube rather than just a few TV channels," Google CEO Larry Page wrote in a letter on the company's website Thursday.
In Google's video, a man wearing the spectacles is shown getting subway information, arranging to meet a friend for coffee and navigating the inside of a bookstore, all with the help of the glasses. It ends with playing the ukulele for a woman and showing her the sunset through a video chat.
Google posted the video and short blog post about Project Glass on Wednesday, asking people to offer feedback through its Google Plus social network.
By Thursday, about 500 people did, voicing a mix of amazement and concern about the new technology. What if people used it in cars and got distracted? What about the effect on your vision of having a screen so close to your eye?
Some asked for prototypes, but Google isn't giving those out just yet. The company didn't say when regular people can expect to get their hands on a piece of Project Glass, but going by how quickly Google tends to come out with new products, it may not be long. Enderle estimates it could be about six months to a year before broader tests are coming, and a year or more for the first version of the product.
With such an immersive device as this, that sort of speed could be dangerous, he cautions.
"It's coming. Whether Google is going to do it or someone else is going to do it, it's going to happen," Enderle said. "The question is whether we'll be ready, and given history we probably won't be. As a race we tend to be somewhat suicidal with regard to how we implement this stuff."
- AP
The Google glasses project sounds like a winner to me, I like the fact that they integrate with your phone, which means I still have control on what goes out.
from nzherald.co.nz
If you think texting while walking is dangerous, just wait until everyone starts wearing Google's futuristic, Internet-connected glasses.
Directions to your destination appear literally before your eyes. You can talk to friends over video chat, take a photo or even buy a few things online as you walk around.
These glasses can do anything a smartphone or tablet computer does now -and then some.
Google gave a glimpse of "Project Glass" in a video and blog post this week. Still in an early prototype stage, the glasses open up endless possibilities - as well as challenges to safety, privacy and fashion sensibility.
The prototypes have a sleek wrap-around look and appear nothing like clunky 3-D glasses. But if Google isn't careful, they could be dismissed as a kind of Bluetooth earpiece of the future, a fashion faux-pas where bulky looks outweigh marginal utility.
In development for a couple of years, the project is the brainchild of Google X, the online search-leader's secret facility that spawned the self-driving car and could one day let people ride elevators into space.
If it takes off, it could bring reality another step closer to science fiction, where the line between human and machine blurs.
"My son is 4 years old and this is going to be his generation's reality," said Guy Bailey, who works as a social media supervisor for Kennesaw State University outside Atlanta. He expects it might even be followed by body implants, so that in 10 years or so you'll be able to get such a "heads-up" display inside your head.
At its best, the goal is to make your life easier by putting the tools now at your fingertips in front of your eyes.
"There is a lot of data about the world that would be great if more people had access to as they are walking down the street," said Jason Tester, research director at the nonprofit Institute For the Future in Palo Alto, California.
That said, "once that information is not only at our fingertips but literally in our field of view, it may become too much."
Always-on smartphones with their constant Twitter feeds, real-time weather updates and "Angry Birds" games are already leaving people with a sense of information overload. But at least you can put your smartphone away. Having all that in front of your eyes could become too much.
"Sometimes you want to stop and smell the roses," said Scott Steinberg, CEO of technology consulting company TechSavvy Global. "It doesn't mean you want to call up every single fact about them on the Internet."
Still, it doesn't take much to imagine the possibilities. What if you could instantly see the Facebook profile of the person sitting next to you on the bus? Read the ingredient list and calorie count of a sandwich by looking at it? Snap a photo with a blink? Look through your wall to find out where electrical leads are, so you know where to drill?
"Not paint your house, because the people who looked at your house could see whatever colour they wanted it in?" pondered veteran technology analyst Rob Enderle.
Wearing the glasses could turn the Internet into a tool in the same way that our memory is a tool now, mused science fiction writer and computer scientist Vernor Vinge. His 2006 book, "Rainbow's End," set in the not-so-distant future, has people interacting with the world through their contact lenses, as if they had a smart phone embedded in their eyes.
"Things we used to think were magic, we now take for granted: the ability to get a map instantly, to find information quickly and easily, to choose any video from millions on YouTube rather than just a few TV channels," Google CEO Larry Page wrote in a letter on the company's website Thursday.
In Google's video, a man wearing the spectacles is shown getting subway information, arranging to meet a friend for coffee and navigating the inside of a bookstore, all with the help of the glasses. It ends with playing the ukulele for a woman and showing her the sunset through a video chat.
Google posted the video and short blog post about Project Glass on Wednesday, asking people to offer feedback through its Google Plus social network.
By Thursday, about 500 people did, voicing a mix of amazement and concern about the new technology. What if people used it in cars and got distracted? What about the effect on your vision of having a screen so close to your eye?
Some asked for prototypes, but Google isn't giving those out just yet. The company didn't say when regular people can expect to get their hands on a piece of Project Glass, but going by how quickly Google tends to come out with new products, it may not be long. Enderle estimates it could be about six months to a year before broader tests are coming, and a year or more for the first version of the product.
With such an immersive device as this, that sort of speed could be dangerous, he cautions.
"It's coming. Whether Google is going to do it or someone else is going to do it, it's going to happen," Enderle said. "The question is whether we'll be ready, and given history we probably won't be. As a race we tend to be somewhat suicidal with regard to how we implement this stuff."
- AP
Subscribe to:
Posts (Atom)