Sing of Song of Linux, Wouldn’t ya like to try; A tiny debian system baked into a Pi

piOk…so I’m not a poet. Part of the Fundamentals of Engineering and Technology will include an introduction to Linux and all things Penguin. I have several systems running Debian which, to my limited experience, seems to be the most stable and easiest to get started with, Linux distro. (There again…IMHO). The question before the committee tonight is…Does the Raspberry Pi have any place in education? I have one. It’s hooked up to my TV set so when I feel the need to investigate something or am suddenly inspired to write Python code during Duck Dynasty (I know…but it COULD happen) I can just change inputs and there in Linux and the Internet and everything I could want. The issue I am having as far as introducing it into the educational mix is that basically, the performance is not all that great. It is what it is. A tiny system with very little RAM and precious little space. I’m not sure I want my students seeing that as Linux. First impressions being what they are I think I want my kids to see a real Linux desktop first. Does anyone else think that the Pi is basically a curiosity? I know it was designed with education in mind and would certainly be a cheap alternative if you had a Python class you had to run on the cheap but it is just NOT fast. Once again…it is what it is. I view it as more of a curiosity. I intended to pull it into my robot making hobby as a replacement or supplement for my various PIC/Arduino/Netduinos but another drawback to the system is that it requires MUCH more power to run, especially if you use the wireless USB network adapter. You have to have a powered hub etc. All in all, not that useful for a robot if you don’t want it tethered with an extension cord. Just curious to see if anyone else is using these little guys for anything beyond just having a tiny little slightly slow Linux system around. On the plus side, it is a real live Linux distro with a terminal that uses SUDO and all the other commands. I really want these guys to get the idea that there are other things in the world besides Windows so maybe, as a curiosity, the Pi will fill the bill. It is interesting and unique looking, especially in the snappy pink/purple case I have it in with all the LEDs going. At this point in their IT careers, these guys need to have their interest piqued more than anything else. I have to keep them interested to keep them moving forward in Computer Science. Well…I am going to try using it anyhow. Wish me luck. Of course comments and suggestions are always welcome.

…and the World Knows the Turtle

How’s that for cryptic. I am evaluating a video tutorial created by Michael Kölling called the “Joy of Coding”.  He uses the IDE (integrated development environment) Greenfoot to teach Java coding with emphasis on game design and Object Oriented Coding techniques aimed at teenagers.  I plan to incorporate some of his material in my own class during the 2014 – 15 semester.  Every time he says, “The World knows the turtle” it just tickles me to death (or at least makes me grin – not sure why).  You really need to click on the link and hear it for yourself.  He has a rather strong German accent and it just sounds cool, like some Teutonic philosopher expounding on the meaning of life.  Also it might not hurt you to click on the link and follow along.  Everyone needs to be able to at least understand a bit of code, and the principles on which it is written.

Meanwhile, the other bits and pieces are coming together.  This blog is intended to be a journal of my struggle to get Computer Science off the ground in Whitesboro, TX.  As it stands now I will be able to offer Concepts of Information Technology, Principles of Engineering and Technology, Basic Coding in Java, Computer Repair, and Robotics next year as well as having a conference period and one period a day helping the tech. staff.  The Java class will utilize Greenfoot graduating to BlueJ at mid-term.  Robotics will use the same NXT we have been using.  The only change is that I will not be using the NXT language but coding strictly in C.  The Engineering class will emphasize electronic engineering and will use the open source Arduino platform.  I have about 15 old computers for the Principles of IT class to work on.  It should be a busy year.  This summer is going to be equally busy setting up the room and getting things ready.

I am flying blind basically.  I have the technical expertise to teach these materials but I am not so sure about the logistics.  I have never been good at evaluating budget constraints and planning from that perspective.  This plea is directed at anyone who has ever set up a computer science program in a high school before.  How did you do it and how much did it cost?  Where can I get grants?  How deep did you take them?  How did you handle evaluations and exams?  These are the questions I need to answer.  The Internet is being much less help than I expected.  I thought I would be able to hit Google for an afternoon and find everything ready built.  This has NOT been the case.  There are lots of people trying to sell things but very little about people trying to build something useful.

Oh well…its late and I need to catch a nap.  Busy day tomorrow.

When ‘a you blink LEDs and a’ you write code in C that’s Arduino (Hey, it’s all I could come up with)

arduinoI plan to emphasize electronics engineering for the Intro. to Engineering and Technology class. Yes I know I have to teach mechanics, heat, and motion but I am really going to push electrical circuit design. To facilitate that I plan to use the Arduino microprocessor and it’s attendant programming environment. I can purchase the Arduino starter kits from Amazon for about $50 per group of two students. One can code and one can build and then swap out the next project. Does anyone out there use this equipment? I have found several tutorials that will port over into consecutive lessons but I am wondering if there is a packaged curriculum available. Any input would be appreciated.

So far I have Arduino for the Intro. to Engineering and Tech. class.  NXT Legos for robotics, Greenfoot for Basic Programming and BlueJ for Advanced Programming.  I hope these kids appreciate all this research I am doing.  At least I hope they find the material interesting.  My goal is to make sure that whatever class and whatever technology we are using, it involves writing some type of code.  We will be doing some batch files in the A+ class and even some HTML in the Introduction to Computer Science class.  Any other suggestions would be appreciated.

“Money….Its a gas; I’m allright Jack, keep yer hands off’a my stack”

Finally we have the schedule for next year’s computer science department in order. Now we just need to find money. As annoying as it is to contend with, education is expensive. I am doing all within my power to keep the cost down. We are doing Greenfoot and BlueJ and all things Java so the cost of programming software is nil. We are using Arduino in the engineering and technology principles class and so, outside of the hardware costs, the expense should be minimal. I have dozens of old computers in my garage from twenty years of people asking me to move their data to their new system and then telling me to keep the old one. I even have a fairly new rack and some rack mounted components that we can use in the Maintenance A+ course. I am assuming that we can get away with 1 toolkit per two students and a classroom set of cable testers or crimpers. The Arduino comes with breadboard and jumpers and components are cheap but we will need multimeters and basic tools. WHERE DOES A PERSON START TO FIGURE THIS BUDGET THING OUT!?!?

I would greatly appreciate any input from anyone who has initiated a high school computer science program. We are offering basic programming using Greenfoot and BlueJ. We offer an A+ certification as well as Principles of Engineering and Technology. We are planning on a minimum of 10 and a maximum of 15 kids in each class. I know the materials I want to include but I also know that I don’t know everything I will need. To all CS and Tech. Educators, please help. Respond via comments and I will send you more contact info. Any input will help. Thanks.

Well….Lets Just Jump Right In With Both Feet

GreenfootContacted our local Pearson rep yesterday in order to request an evaluation copy of the Introduction to Programming with Greenfoot Object-Oriented Programming in Java with Games and Simulations textbook. Disappointingly enough I have heard no word from them. I have received several good responses on the Greenfoot IDE and system of teaching java and I hope that the lack of action on the part of our sales rep is does not cause me to have to make an adjustment in my plans. Oddly enough, as a private individual buying one book at a time, I can get them $20 cheaper on Amazon than the advertised price at Pearson.

On the other hand, from what I have been able to glean, the methodology that the Greenfoot system uses is sound. It is a modified BlueJ IDE (if you know Java, you’ll know what that is) that, aside from being color coordinated, allows the teaching of not only Java but the concepts of Object Oriented Programming as well. In a nut shell you teach people to write small, self-contained units of code that solve small simple problems and then put them together like Legos to solve bigger problems. It’s all about code reuse and not reinventing the wheel. For example, if I have a requirement for a program that connects to a database and stores street address and contact information and exports it I can, instead of trying to write one large block of spaghetti code to do it all, find a routine that connects to databases, a chunk of code that exports data from a database, a class or two to move the information from the GUI to the database, and then put all those pieces together in a way that reflects the way things are organized in the real world. This methodology is currently in vogue in the programming industry and so it seems a good idea to teach students not only programming concepts like variables and loops and things that can be learned in any programming language, but also things like a useful syntax and the foundations of a relevant language. Besides…all my kids wanna mod Minecraft. If you can learn Java you can learn the “C” family of languages. If you can master both of those you can work anywhere.

On the other hand, I need to find a good solid curriculum to prepare high school students to take the A+ exam. Any suggestions would be greatly appreciated. I have a very good background in desktop support (over 20 years in the business with experience in Mac, Linux, and all flavors of Windows from 3.1 up) and I know, generally, what will be on the test, but I might need a starting point for teaching all this to kiddos. Suggestions for self-contained tool kits would not be amiss either. If you had to put together a toolkit for basic computer repair, what would you use? I am thinking a set of precision screw drivers and that’s about it. You don’t really do a lot of soldering, multimeters aren’t that necessary, and, outside of a static strap, I am not sure what hand tools to include.

Once again, it is time for bed. Tomorrow is another day (an easy one since it is a half day before spring break) so I am calling it a night. Any suggestions, contacts from Computer Science teachers, moral support, or grants to upgrade the technology I have available are greatly appreciated.

Introducing….ME!

loverobotsYeah right…like I have time to run TWO blogs. This one may not see much traffic, or it may get the most. I am tasked with beginning a computer science program at the High School where I currently teach Biology and Robotics. I will be teaching Java programming as well as basic Computer tech and an introduction to technology. I am alone in my endeavor and this will act as a journal of my efforts to get this thing off the ground. Right now I am sending out the call to other High School Computer Science teachers (and there are way too few of them) who might be willing to offer their opinions on my issues as I post them. As it stands now I will be teaching Basic Programming, Introduction to Computer Tech. (Step 1 of the A+ certification), introduction to technology (a basic overview course for all things tech), as well as my old standby Basic Robotics and Automation (using the Lego NXT Mindstorm System running RobotC). I will also have one period working as a support tech in the school (our guy is already running himself to death and we just instituted a 1 to 1 with Chromebooks).

This blog will also serve as a sounding board for opinions, both mine and yours, on the use, abuse, or general suitability of all things techno as they apply to secondary education. I do not hold with the accepted opinion in education today that children are “uber-technical”. My experience has been that most of them can turn on a computer or tablet. They can farm on Facebook, flap a bird through some pipes, dig a hole, or post a “selfie” but very few of them actually generate digital content of any value. Computer science is without doubt, the fastest growing employment opportunity for today and the foreseeable future. We need to STOP sending perfectly good tech. and programming jobs overseas just because we don’t have the people to fill them. We need to get students OFF social media and ON to creating content and generating code. Without solid programming skills to create the outlets and portals, social media is nothing but another annoying advertising medium. Without maintenance and hardware people to keep it all running, social media stops all together.

Oh well…that seems like a good place to stop for the night. I have a lab tomorrow and we are recreating the Great DARPA desert race down the main hall of our school with lego’bots.