Archive for May, 2019

And the answer is!

May 23, 2019

“We are looking at implementing a Coding curriculum – what is a great one?”  How do you answer this? This was asked on the Montana school techie network I am a member of.  The question makes me want to ask about 20 more questions.

EV3 and Python: a new IDE is available

May 13, 2019

I stumbled on to something cool the other day.  I have some Lego NXT and EV3 robots and I wanted to see if there was a way of using Python to program them.  As usual I hit Google. I found this – https://sites.google.com/site/ev3python/introduction.  Being the brilliant teacher that I am (and being buried with other tasks) I passed the link to my independent study sophomore and told him to have at it.  He did and it died. We could not get things to work. Bummer. Google again. This popped up this time. https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3.  Interesting, it was not there last week when I did the search.  Posted April 19, 2019. It is fresh out of the box. This time we got things working.  We had to flash the card a couple of times to get it to stick but that was the only issue.

It uses Visual Studio Code and MicroPython so the programming interface is nice and it compiles pretty fast.  I cannot find an API so there is a lot of trial and error getting things to work.  Setup is easy for the EV3. Just flash a microSD card and stick into the EV3. The documentation is pretty poorly written as a language tutorial and is not kid friendly but with enough time and fiddling the robot does go.  I have my test kid working with it right now. We will see what happens. If I had more EV3s I would be very tempted to incorporate this into my Python course. The fact that everything is not laid out nice and pretty is actually a plus (if you have time).  The kids would have to figure things out using poor documentation. Isn’t that the way the world is normally?  Using Python to make something go across the floor is so much cooler that making something happen on a screen.  It is EV3 only which is a bit of an issue, I only have two.  I have 8 NXTs but I guess there are reaching the “old tech” stage.  There is a Python for the NXT but it in not VS Code based and is a bit of a hassle to set up and is a bit dated.

 

Stats Course: from calculator to spreadsheet: the beginning

May 9, 2019

I started giving the final for my Senior Stats class.  I broke the final into three parts, each to be taken on different days.  I have the time so why not spread it out, make the tests short and try to relieve test-taking stress.  The first and third parts are just the usual written test thing, no big deal. The second part is pure computer.  I handed out a couple sets of data and they had to find the statistics and compare the data with Google Sheets or Excel, whichever they feel the most comfortable with.  When done they share it with me. I handed out the data sets on a piece of paper and the students had to enter them by hand. I need a better way to do that. I have four different sets of data so I cannot just tell them to go look at a shared file to cut and paste.  I imagine I could send each student a data set to their email address. A bit of a pain. I need to figure this out a bit better. Not all the kids use their school email address but I guess I could require they know it. I would rather not have the kids typing in the data, too easy to make a typo and mess things up.

This is the first year I have really used computers to this extent.  I required the kids have access to a computer (I have loaners if needed and there are computers in the classroom).  I have done it in previous years with simple things and did more of a show and tell. This is the first year with confidence interval, ANOVA and so on on the computer and not on the TI calculator.

After a simple AAR (After Action Review, a military thing) I have some issues to figure out a bit better.  Getting data sets to the kids as I mentioned. Finding data sets to give to the kids. I know, there are a lot of sources for data sets out there but in most cases the data is in the wrong format for Google Sheets or the data is too massive for a high school class (or a high school Stats teacher). I need to do some more searching.  I want simple data sets with nice features that target the topic I am teaching. Or more simply said, I want pretty data that will not be difficult for beginners and will give the expected pretty graphs I want for them. Later I can give them ugly data to work on.

Transitioning from a traditional textbook stats course to a computer driven course is not trivial.  Problems that are a mess by hand methods become trivial with a spreadsheet. Deciding how much is lost by using a spreadsheet has to be considered.  Computing the mean by hand does not help understand the mean. Who would do a five set 100+ data point ANOVA by hand? No one. At least no one with a computer handy.  But between those extremes there are things that should be done by hand just to understand the foundations of the concept. Those are the things that I have to separate out.

A couple of the amazing things I learned this year, and which surprised me, is how little seniors know about spreadsheets and how much they do not want to know about spreadsheets.  I think it is going to be a shock to them when they find out how much their future employment is going to involve spreadsheets. Yikes.

CS curriculum again and forever

May 7, 2019

I am trying to figure out what I am going to teach next year.  Every year about this time I sits and thinks. There are some limitations.  My knowledge level, my interest level, the student’s interest, assets available (quality of computers, course materials, $$, etc.), and a biggie, what is eligible for dual-credit.  There are several other factors in there but at the moment the headache is the dual-credit thing. The University of Montana CS department is going through the throes of modernization.  After about 40 or 50 years they figured it was about time. Some of the old farts retired which opened things up to new blood.

This year I offered three dual-credit courses in CS:

  1. CSCI 100 – Intro to Programming, a very basic look at several programming languages.  The class is for students who have had no programming. It is usually independent study.
  2. CSCI 135 – Python
  3. CSCI 136 – Java

The university is changing CSCI 100 to something else.  What? I cannot seem to find out. I knew what the course was before because I know the instructor.  He has changed departments and is no longer going to teach it so I cannot find out what is going to happen to it.  The CSCI 136 is changing to a mostly Python with a little Java at the end. A “little Java”? Is there such a thing?  Disaster is coming.

I want to bring in a Web design and building course and an app builder course (not App Inventor) to the school’s curriculum.  (I don’t know diddly about web building or app building (other than App Inventor) but those are minor details.) For the last few weeks I have been looking around the internet for web building and app building resources.  Lots of good stuff out there. The question is (other than what to use in the course) can I get the kids dual-credit for this? I may have to wander over to the university and actually do a face-to-face with a human. How retro.

The university is also offering a game making course.  The difficulty is the course is a 300 level and dual-credit is not offered for 300 level courses.  Last week I went to a showing of the final projects for the university students in the course. Of the four projects three were well below the level of my students taking my game course.  The fourth was using a Vive VR system and was very good. Not beyond what my better students could do but very near the top.  I need to talk to someone over there it get a 200 level game course.

I have talked about the app course previously.  I looked at a number of app building softwares and had concluded that if the kids are going to build something decent it has to be with Android Studio.  (I have no Macs.) So for the last couple of weeks I have been tinkering with it. I have concluded we will not be doing an app builder course unless I can scrounge up some better computers.  Due to a shortage of Android phones among the students we would have to use the simulator. The simulator works, it just takes two or three minutes to open each time I run it. That quickly gets to be a pain.  Need better hardware. I am running over to the free recycle warehouse next week. He says he has some nice i5s. I will get twice as many as I need and rob RAM to build a better machine. Not sure that will make a difference in load time but it is worth a try.

Building curriculum is a pain.  I want to do some cool stuff and get those kids interested in CS all the foundational knowledge I can pitch at them.  I also want to temp those not interested in CS to give it a try. Basic programming in multiple languages, apps, game making, web design, VR, AR, AI, robotics, there just is not enough time in the school day, enough money to buy good equipment, or enough time in my life to build it all.  But it sure is fun trying.

Now back to getting the Lego EV3s working with Python.  Cool!