Starting Over

In my last post, I talked about why I left teaching. While I am very proud to have been a teacher, and do not discourage anyone who is currently or is considering becoming a teacher, I know others get burnt out as well. This post is to share my experience in transitioning to a new career. Some of it will only be applicable to my personal situation, skills, and knowledge, but it might serve as a partial roadmap for others looking to make a career switch.

The Path to Programmer

Like many children of the 80s and 90s, I grew up with the personal computer revolution. We had a Commodore 64 at home during most of my childhood, and I was able to take beginning BASIC programming classes at a Saturday enrichment course. In middle school, we worked on TRS-80 machines, although there was more keyboarding and gameplay than programming, as far as I recall.

By high school, PCs with Windows were becoming available, and I loved tinkering with the new graphical interface. In college during the 90s, I was exposed to the evolution of both Windows and Mac. While I had to use Macintosh machines for several music-related software projects, and later for several jobs, I was always attracted to the FYI (Fix it Yourself) model of Windows, over the IJW (It Just Works) Mac model, which, back then, often didn’t just work. I loved changing themes, settings, and anything else I could experiment with.

Over the first decade of my teaching career, technology continued to play an important role. Being a tinkerer, I was quite often one of the few people in a building who understood how to fix a computer issue. While working on my masters degree, I took a class in computer-generated music, which included some simple code-writing. I was also collecting and learning from different devices. I had 2 or 3 tablet PCs back when no one knew what that was (almost a decade before the iPad). The iPhone finally brought me into the Apple ecosystem, as I discovered a device that lived up to the IJW motto.

My deeper dive into computer work began, unsurprisingly, the second time I found out I was losing my current position as a teacher, in 2010. I decided to put my training and expertise into writing a book for other music teachers, and wanted to create a website to accompany the book. So I looked into web hosting, purchased a cheap plan, and taught myself how to manage the WordPress system (which this blog is still running on today). While WordPress is a management portal that requires no programming skills to use, it also allows users to tinker with the code through embedded code and templates. I wanted my website to include a searchable spreadsheet of folk songs for teachers, so I learned how to use Google APIs in JavaScript (basically copied and pasted code and tweaked it until it worked) to connect to a google spreadsheet.

At the same time, I used spreadsheet functions to create a lesson plan form in Google Sheets with simple dropdown menus, so teachers could quickly create lesson plans, complete with national or state standards. The form was clunky, but it sped up lesson writing immensely.

A few years later, I decided to explore and learn iOS app development with Swift. I was intrigued by the new programming language (seemed simple enough to grasp), and wanted to remake my simple lesson-planner in a nicer-looking and more accessible way. So I grabbed a book (Learn Swift in 24 Hours), installed Xcode, did a few tutorials, discovered StackOverflow, and within 5 months, released my first app to the App Store, complete with a remote server that saved and synced lesson plans, and the ability to print or save lessons as PDFs.

Since I train other teachers in various settings, I was able to share my app by word of mouth, and got quite a bit of interest. I soon added a full-featured calendar to the app, so teachers could document their rotating schedules of classes (Google Calendar and iCal can’t do rotations on different weekdays, such as a 3-day school rotation). I then created a second app, which was a simple touch-screen rendition of a classroom xylophone, complete with removable bars, the perfect practice app for elementary students or studying teachers!

Porting the lesson planner and pocket xylophone to Android seemed the next logical step. I searched around for way too long hoping to find a way to write Android in Swift or port my code, before finally realizing that Java wasn’t terribly different or much harder to grasp, and that the apps weren’t too large to rewrite. Even if you could write in the same programming language, the bigger difference is the interface with iOS and Android operating systems. Still, this desire for a cross-platform solution did become an important part of my journey, as I eventually decided to try Xamarin, which is in yet another language (C#), but allows you to share some or all code between Android, iOS, MacOS, and Windows.

Xamarin runs on the .Net platform, which was created by Microsoft. This eventually led me to realize that not only could I create apps with .Net, but websites and web apps as well!

Turn What You Know Into a New Starting Point

Remember, all of this learning occurred while I was teaching full-time during the year, and teaching graduate courses for 2-6 weeks each summer. Instead of watching TV, reading, or playing video games, I spent a huge amount of “down-time” learning and coding. It was just as exciting to me as any video game, and far more productive.

As I was making the decision that I needed to change careers, programming was the obvious choice. Yet finding a job in a new field, with no degree, and very little in the way of a portfolio, seemed impossible. At the same time, I realized that I had accumulated knowledge and professional connections that could still help me in the future. So I decided to continue creating software for music teachers, as someone with a unique position of both understanding their needs, and having the technical skills to make it happen.

I launched Unison.School early in 2017, and left my teaching position that June. Even before leaving, I laid out all the details I needed to make an attempt at running my own business. I had to learn to create an LLC, work out how I was paying my family bills for a year (thank you to extended family for investing in the business), and explore various advertising methods. Once school was out, I dived into full-time development, creating a web-based version of my touch-screen xylophone and lesson planner, and then implementing a new feature, digital rhythmic and melodic assessments that automatically save a grade to the teacher’s gradebook.

Keep on Learning

While working on Unison.School, I also devoured resources to improve my programming skills. I listened to podcasts (I especially recommend Coding Blocks), read books (check out Clean Code), and took online courses (HarvardX’s CS50, Pluralsight). I used Google and StackOverflow incessantly, and took advantage of all the free developer tools that Microsoft and others offered. Everything I learned was used to make Unison.School a better site.

Use What You’ve Learned to Create a New Portfolio

Unison.School has several hundred teachers currently using some part of the site after just one year of development. However, since I decided to go with a free tier to attract users, this has not yet translated into a financially stable business. Nevertheless, the site has become the centerpiece of my professional portfolio, giving me concrete proof of my skills as a developer.

When I would need a break from working on Unison.School, I would create small programming projects that I could post on GitHub, a free, online repository to share code. I created a Sudoku game (which required lots of math!), and pulled the Gradebook feature out of Unison.School as a separate app. By using GitHub, prospective employers could see the actual code that I write, as opposed to just a finished project.

I kept my LinkedIn profile up-to-date, adding links to all my work. I wrote blog posts about programming, and answered questions on StackOverflow. I took Pluralsight quizzes to demonstrate my knowledge, and figured out how to post these badges to my blog.

Finding a Stable Job

Applying for and finding a job is always the hardest part. No matter your resume, knowledge and experience, blindly applying to positions can seem like a futile task, as you can apply for hundreds with little or no response.

One issue was how to quantify my experience. Nearly every application wanted “3 or more years experience.” I had just under 1 year full-time when I started applying in earnest, but a decade of hobby-level/part-time experience. Did this make me a beginner? Was I qualified for mid-level positions? Certainly there were holes in my experience, such as working on a team, and I didn’t have many tech-related references. I decided to apply for both entry-level and mid-level positions. I had one phone interview that seemed to be going well until the interviewer realized that I had been working full-time as a programmer for less than a year. Apparently, that was not what they were expecting, since I’d already passed their programming test. I’m sure this exists in other fields as well, but it is startling to see just how many developer jobs require those 3-5 years experience. It creates a no-win situation for newcomers, and yet makes you infinitely more marketable a few years later.

They say that most jobs come through people you already know. In my case, that didn’t happen. Cedar Falls/Waterloo is a small metro area, and there just aren’t a huge number of programming jobs. Even though I knew people in the industry, there was nothing that matched up with my skillset and experience level.

The job I finally found was through the StackOverflow jobs board. The nice thing about these listings is that they are targeted specifically to developers, and there are many postings for remote workers, which seemed ideal in my situation. My new company, ID Networks, had a posting, and it caught my eye because it used .Net technology, and strangely enough it was located in northeast Ohio, not far from where I was born and raised! I mentioned this connection in my cover letter, which may have helped my application stand out from the hundreds that they received. It also helped tremendously that the senior developer who interviewed me, Steven Doggart, is much more interested in aptitude than experience, and he gave me ample opportunities to demonstrate not only what I knew, but how I learned.

Looking Forward

I just started my work at ID Networks, and I hope to stay a long time. At the same time, I’m excited to maintain, expand, and support Unison.School for all my teaching friends. I managed to make a huge leap, from one field to another, and I’m grateful for everyone and everything that helped me.

Why I Left

There are many, many educators in this country dealing with stress and burnout. The reasons are many, as are the blog posts out there that address this issue. Many rightly point to the combination of poor funding, unscientific testing expectations, overbearing administration, and un-creative scripted lessons as reasons for teacher burnout.

I don’t see any point in re-hashing those issues here. Rather, I’d like to speak to the burnout that I specifically experienced, which doesn’t fit this mold, as there may be others out there with a similar experience. In a future post, I’m also going to speak to my approach to transitioning away from being a teacher, as many teachers feel “stuck” with no other marketable skills.

Why I Left

I loved my job as a music teacher. Getting hugs from little Kindergarteners, watching students master a difficult concept, blowing away families at concerts with our performances. I was respected by my principal and district colleagues, and even a leader and mentor to many other music teachers around the country. Easily 90% of students that I worked with enjoyed music class, and trusted me to lead them in interesting experiences. When things didn’t go according to plan, we would laugh and try again, or put that aside for something else. I had an excellent schedule and every instrument I could conceivably want to teach with.

In the end, none of this was enough. Every day I had levels of stress that were making me physically and mentally ill. It wasn’t the principal, or my colleagues (although there were a few that were difficult), or state mandates. It was the kids. The same kids that I loved and respected were literally driving me nuts.

If you’re not an educator, you may not get this, but every day, every single day, there was at least one student in my classroom who was angry and defiant. I saw 150+ students per day, in groups of at least 20, and sometimes 30. I was often the only adult in the room, trying to educate these children. What happened in my classroom was largely in my control, but what happened before that was not. Students would come with a lack of sleep, or having been in a huge fight with a parent, sibling, or other teacher. And even with carefully planned, differentiated activities, some students would get frustrated by their failures in my class, or have a negative reaction to another student in a group. Whether the problem started inside or outside the room, these students would shut down. At best, they would sit out and refuse to participate. At worst, they would act out, yelling and interrupting to the point that continuing the lesson was impossible.

(BTW: I am aware that not every school environment has quite as many children with such challenges, as I’ve taught in all types of schools: rural, urban, big and small. This is definitely a problem that is connected to poverty and other social ills. But I think these issues still exist, to a varying extent, in most schools.)

My natural reaction to a shouting or defiant child is to get angry and yell. After years and years of working on my own classroom management and building one-on-one relationships with students, my inclination is still to yell. Maybe it’s testosterone, maybe it’s a sign of my neuro-atypical brain (I’m genuinely curious about the experience of other teachers, especially men). Controlling my reactions to student behavior required a firm and proactive discipline approach, support from the school office (I could send a student out if I really needed to), and forcing myself to always wait when reacting to a situation. I became very good at management, a model for other teachers even. I had proactive routines, consistent expectations, and firm yet unthreatening consequences (such as sitting out for one activity).

Even with all this, I would occasionally get upset with a defiant student. What happened when I held in my anger? An adrenaline surge with no outlet, which as modern medicine will tell you, is a dangerous thing to have happen every day. If I let go and yelled at a student, an equally strong dose of guilt and shame would be my reward. It was a no-win situation, and I was harder on myself than anyone else could be. Eventually, I decided that something had to change for my own personal health. Moving to a less economically-stressed school community would have helped, but it is hard to find new job openings when you are a veteran teacher who costs twice the amount of a new teacher.

So I left teaching, my lifetime career. I still completely believe in the purpose and promise of public education. Private alternatives are not viable to replace the scale of our public schools in this country. They are band-aids put on specific sore spots, at the expense of the rest of the bleeding body. No, improving our schools requires more financial commitment, teachers who are prepared for these huge challenges, and a systemic governmental approach to guiding families out of poverty. And I feel that contributing 18 years of my life to this cause was a valuable contribution. But now it’s time to take care of myself, re-focus on my family, and have a much-deserved change in stress levels. I hope to continue mentoring future teachers as an Orff Schulwerk instructor in the summers, and I am thoroughly enjoying my developing skills and career as a software engineer!

 

PS, It turns out there is a medical/scientific diagnosis, Sensory-Processing Sensitivity, that describes the way I personally react to stressful and noisy situations. I did not know this when I left, but having discovered it, I am glad that I made the decision I did. If you feel the same, you may want to look into this. Even if you decide to stay, understanding your own reactions will be crucial to planning out a successful class, day, and year.

Extricating AspNetCore Identity from Entity Framework Database for Xamarin

Unison.School has become a very large project. I’m proud of the hundreds of teachers who are using it in their schools, and hope to keep building it even larger.

I built Unison.School while learning the cutting-edge Asp.Net Core 2.0 framework, including the EntityFrameworkCore database ORM. Based on the starting templates for a web app, I built my Teacher and Student user models inheriting from the IdentityUser class. This provides lots of wonderful built-in functionality around logging in and authorizing access to specific pages.

In the year since laying out those login procedures, the model for the project has grown to over 100 entities in the database. A teacher, for example, could be connected to all the following entities:

Each of these, in turn, would be tied to even more tables. This was all fine and good until I looked to create a mobile app version of the service.

As you may know, Xamarin allows .Net programmers to share code with and across mobile platforms. What you may not have realized, if you are new to .Net and follow a path similar to mine, is that IdentityUser is not compatible with Xamarin. Yet I wanted to use many of these same classes in my mobile app, and it seemed ridiculous to create two copies of each entity, and have to maintain the code between them.

The model library included a link to the Nuget package for Microsoft.AspNetCore. EntityFrameworkCore.Identity, so I needed to move any code I wanted to reuse into a new portable class library, and reference it from both the Asp.Net Core app and the Xamarin app.

My first attempt to disentangle the model was to create an IApplicationUser interface, which both my Asp.Net Core ApplicationUser (base class for Teacher and Student) and a new mobile version could inherit from. I copied all the code that I cared about into this interface.


        public interface IApplicationUser
        {
            string Id { get; set; }
            string FirstName { get; set; }
            string LastName { get; set; }
            string UserName { get; set; }
        }
    

Next, I realized that I also needed to create new classes for Teacher and Student that did not inherit from IdentityUser. So I similarly created ITeacher and IStudent.

So far, so good. But now, let’s take the teacher’s LessonPlan object as an example. In the Teacher class we have:


        public List LessonPlans { get; set; }
    

And in the LessonPlan class:


        public string TeacherId { get; set; }
        public virtual Teacher Teacher { get; set; }
    

In the DbContext builder, the two are connected:


        builder.Entity()
            .HasOne(lp => lp.Teacher)
            .WithMany(t => t.LessonPlans)
            .HasForeignKey(lp => lp.TeacherId);
    

If I moved LessonPlan into the shared library, it could not reference Teacher. The same was true for all the other entities that had relationships with my user classes.

I initially thought I should perservere with a strategy I’ll call “Interface All the Things!” I created an ILessonPlan, and dozens of other interfaces. Each entity then referenced the interfaces, instead of the base classes. However, I discovered when moving back to the DbContext that this approach would not work. Entity Framework relationships must be between concrete classes, not interfaces. It is possible to cast a single object to it’s instantiation:


        builder.Entity()
            .HasOne(b => (Teacher)b.Teacher)
            .WithMany(t => t.LessonPlans)
            .HasForeignKey(b => b.TeacherId);
        // Casts ITeacher to Teacher
    

But this is not possible to do with a List<object>, which describes one side of all my one-to-many relationships.

I was definitely stumped for a long time, and could find no help on the internet for this scenario. Finally, while listening to my favorite podcast, Coding Blocks, they mentioned in one episode removing unneeded relationships, especially dual-directional ones! Since EF and all the tutorials show how to make the connections, it never occured to me not to connect two objects that I didn’t need to follow with a query!

Once I understood this, implementing was simple (although time-consuming). In the LessonPlan example, I removed the property public Teacher Teacher { get; set; }, but left the public int TeacherId { get; set; }. I was also able to delete the connection in the DbContext builder. This allowed me to move my LessonPlan and most other entities into the shared library, since there was no direct connection to the user classes.

A large portion of the time was then spent tracking down everywhere I had used a call such as lessonPlan.Teacher. While these were less common than calling teacher.LessonPlans, the need did arise. So now, in such instances, I did have to add one step:


        var teacher = DbContext.Teachers.Single(t => t.Id == lessonPlan.Id);
    

This extra line of code was a small price to pay to reuse my 100 classes in a new project! In the Xamarin project, you can also create a nearly identical DbContext, inheriting from the DbContext base class instead of from IdentityDbContext. I’d also like to point out how useful ReSharper is for a refactoring of this magnitude. It will automate a lot of namespace changes, search for usings, etc. I can’t imagine how long it would have taken me without that tool.

Share Pluralsight IQ Badges on your Blog

I really love the courses and quizzes on Pluralsight. It has really helped me fill in gaps in my programming knowledge, and lets me see where my weaknesses are.

However, I was frustrated that the only “share” options are to Tweet and post to LinkedIn a new skill IQ score. So I decided to write a few lines of code to create my own live Pluralsight IQ badges on my web page.

I started by going to my Pluralsight Profile page, and opening the debugger. By doing this, I discovered that every user has a unique GUID, and this is called with https://app.pluralsight.com/profile/data/skillmeasurements/ plus your GUID. Look in the Network tab to find your unique code.

Now, this code is not directly attainable via javascript, so I found a simple backend PHP script here (thanks to the authors):

/* proxy.php */
$url = “https://app.pluralsight.com/profile/data/skillmeasurements/YOURUNIQUEGUID”;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;

I saved this to my server, then put a blank div in my blog footer:
<div id="plural-sight-div" style="display: flex; flex-direction: row; padding: 5px; flex-wrap: wrap;"></div>

And finally, I wrote a simple javascript script to fill the div! (Note, I know I could move a lot of the styling to css, just was lazy today).

function fetchPluralSightIQ(pluralSightDiv) {

$.getJSON(“proxy.php”, function(json) {

for (var i = 0; i < json.length; i++) {

var badge = json[i];
var badgeDiv = document.createElement(‘a’);
pluralSightDiv.appendChild(badgeDiv);

badgeDiv.style.flex = ‘1 1 auto’;
badgeDiv.style.backgroundColor = ‘#262626’;
badgeDiv.style.color = ‘white’;
badgeDiv.style.margin = ‘5px’;
badgeDiv.style.textAlign = ‘center’;
badgeDiv.style.display = ‘flex’;
badgeDiv.style.flexDirection = ‘column’;
badgeDiv.style.padding = ’10px’;
badgeDiv.href = ‘https://pluralsight.com’ + badge[‘url’];
badgeDiv.style.fontSize = ’13px’;

var img = document.createElement(‘img’);
badgeDiv.appendChild(img);
img.src = badge[‘thumbnailUrl’];
img.style.width = ‘100px’;
img.style.margin = ‘auto’;

var badgeTitle = document.createElement(‘label’);
badgeDiv.appendChild(badgeTitle);
badgeTitle.innerText = badge[‘title’];
badgeTitle.style.color = ‘lightgray’;
badgeTitle.style.marginBottom = ’10px’;
badgeTitle.style.fontSize = ’20px’;

var level = document.createElement(‘label’);
badgeDiv.appendChild(level);
var rank = badge[‘level’];
if (rank === ‘Expert’) {

level.style.color = ‘lightblue’;

} else {

level.style.color = ‘lightgreen’;

}
level.style.fontWeight = ‘bold’;
level.innerText = ‘Q ‘ + rank.toUpperCase() + ‘ ‘ + badge[‘score’];

var percentile = document.createElement(‘label’);
badgeDiv.appendChild(percentile);
var pct = Math.round(badge[‘percentile’]);
var pctWithSuffix = ordinal_suffix_of(pct);
percentile.innerText = pctWithSuffix + ‘ percentile’;
percentile.style.marginBottom = ’10px’;

var verified = document.createElement(‘label’);
badgeDiv.appendChild(verified);
var vDate = new Date(badge[‘dateCompleted’]);
verified.innerText = ‘VERIFIED ‘ + vDate.getMonth() + ‘.’ +
vDate.getDate() + ‘.’ + vDate.getYear();

}

});

}

document.addEventListener(‘DOMContentLoaded’,function() {

var pluralSightDiv = document.getElementById(‘plural-sight-div’);
if (pluralSightDiv !== undefined) {

fetchPluralSightIQ(pluralSightDiv);</p

}

});

function ordinal_suffix_of(i) {

var j = i % 10,
k = i % 100;
if (j == 1 && k != 11) {

return i + “st”;

}
if (j == 2 && k != 12) {

return i + “nd”;

}
if (j == 3 && k != 13) {

return i + “rd”;

}
return i + “th”;

}

Hopefully, Pluralsight will either leave this JSON available and/or create their own badge code. Until then, enjoy!

Open Source Giving Back – Gradebook

As part of developing my skills as a new software engineer, I have benefitted greatly from the shared code of thousands of other developers. Open sourcing non-critical code lets us all build upon each other’s successes, rather than reinventing the wheel.

I have posted a few other half-created code projects before, but today I uploaded an entire functioning Gradebook program (based on the grade book in Unison.School) to GitHub (link here). If there are other education-based software companies out there, they may benefit from this work. It also gives me a chance to demonstrate my skills to future collaborators.

For creative (and busy) Music Teachers

As an Orff Schulwerk teacher, I know how hard you work to develop student-centered, creative lessons for your students every day. Two things I loved about teaching with Orff Schulwerk: seeing my own ideas coming to life with the students, and even better, seeing the students’ ideas take over and guide the learning!

There were also some things I didn’t “love” about teaching. One was documenting my lessons and assessments. I never quite felt comfortable teaching from any one textbook, as the pace of my classes never fit the perfect model. For assessment, I would rather be “in the moment” with the kids, giving them direct and immediate feedback to improve their skills, than standing aside with a gradebook writing down scores.

So I designed Unison.School to be a tool for busy teachers like myself. The lesson planner gives me the ability to write unit/project lesson plans based on repertoire and the creative process, and share them on Google Drive with my principal and colleagues. The calendar and daily planner, which functions just like a paper planner, lets me keep track of what each class works on with minimal typing. Finally, I designed the melodic and rhythmic assessments to be completely objective and automated, allowing students to take an authentic, skills-based test, with immediate feedback, from any internet-connected device. This means I can send a few students at a time back to a computer station to take a test, while continuing the creative process for the class. Alternatively, I can bring in a cart of iPads and test an entire class in less than five minutes! The scores are saved to a grade book, and can be used for Student Learning Objectives, Common Formative Assessments, report cards, or whatever system your district employs.

I hope that Unison.School can make a few “less exciting” parts of your job easier, and give you more time to focus on creative student engagement. To get started, register for a free account, and follow my walkthrough video, or just start playing with the free tools!

One last thing. If you’re stressed out this last week before winter break, try sharing my Jingle Bells lesson with your classes! I’ll try to add more interactive video lessons in the near future.

I’m always open to suggestions and feedback to make Unison.School serve you better.

Have a wonderful winter break, happy holidays, and a joyous New Year with your students!

Why Web-based Technology is the Best Fit for Education

I started my tech career with two separate strands: website building for simple sites like this blog, and app building for mobile phones. The websites were made with WordPress, and were very easy to put together, following the built-in menus. Only when I wanted something advanced, like a searchable folk song database did I need to expand and learn a little (cobbled-together) javascript and php.

The app experience was more serious programming. Since I was learning just as Apple unveiled the Swift programming language (and Objective-C is terrifying to look at for the inexperienced), I began with Swift, and then expanded to Java as I converted apps to the Android platform.

My main focus was a music teacher lesson planning app, where teachers could access their class schedule, and create nice lesson plans for their administrators with little hassle. One thing that many users requested was a web version, where they could access their lessons from a computer, and type more easily. While the apps were already using an online database on my server, this request required me to go back to the web and cobble together an online portal as well.

Of course, my full-time career during all of that was as an elementary general music teacher. I remember being asked countless times by colleagues and administrators, “How do you use technology in your classroom?” My answers at the time (before building my own solutions) were limited to mostly tools I used myself, rather than tools the students used.

One seriously limiting factor for using any technology was the ability to install and update software. The district devices were locked down, so that teachers were unable to install or update any software without making an appointment with the tech support person, who travelled between buildings. While I understand the security reasons for this procedure, it was difficult for a music teacher, who needs iTunes installed, especially when Apple sends out updates on a regular basis! Likewise, our textbook series came with digital resources which I could not install without “assistance.” (techies like me hate asking for assistance, although we’re happy to provide it).

In a previous job, I was a middle-school choir director, and worked alongside the high-school director. He showed me the SmartMusic program, which was really incredible. Yet not only did it require a hefty download and quality computer, it was also expensive, and not really designed for the students I was working with.

When I began Cedar River Tech and Unison.School, I decided to take what I had learned as a beginning programmer, combined with the challenges that I knew teachers faced in schools, and start with a web app. The first feature was a touch-enabled digital xylophone. By making this a web page, I only had to create one app that would instantly work on any device. Yes, it’s slightly less convenient to go into your browser on your tablet or phone than to open an installed app. But in exchange, I can reach every student in the world who wants to use this tool right now. As a result, I was able to move on immediately to more challenging and helpful tools for the sight, without rewriting the first tool in multiple languages.

You can always expand by adding native apps later, but to provide core functionality to as many users as possible, especially in a field as diverse as education, web-first is the clear winner.

Children’s Abilities, Musical Community, and Technology

WeKids

你好 from Shanghai and Taipei! I just returned from a trip to these vast cities on the other side of the planet, where I met with teachers and staff from the Motif Music Company to help them design curriculum for their teachers and the schools they work with. Motif offers marching band and musical theater classes to public schools. I had never seen a model like this before, where the company offers enrichment classes to the schools, but the classes were during the school day!

Young Children are Amazing

I also got to visit an after-school program in Taipei that included marching band instruction from the age of four! My initial assumption was that such training must be boring and/or too structured to allow students to learn creatively, but when I observed a pre-school class, I found it engaging, student-focused, and varied, including movement games, singing, and playing glockenspiels. When I saw a performance of slightly older children on mallet percussion, I was very impressed with the level of skill.

Seeing education outside of the American model allowed me to rethink many things that I normally take for granted. For example, I think many American school music teachers make assumptions on what and when students can learn that are based on the lack of musical experience before the age of five. When you think about all the research about how important early childhood music is, the concept of a child having little or no musical experience before age five is tragic and criminal. Yet, because our system of schooling starts at this age, and our culture has been moving further and further away from music made in the home, this has become the norm.

This isn’t new information for me. My wife is a Suzuki teacher, and my son started cello instruction at the age of 3. I have many friends in the Early Childhood Music and Movement Association, Music Learning Theory, and Dalcroze worlds who have done wonderful work with preschool children. But unfortunately, no one has created a society-wide system to address the gap.

Private and Public Partnerships

Another new perspective for me was the joint private/public partnership that Motif’s music classes represented. I am a second-generation public school teacher and strong supporter of our teachers’ unions. I served as a building representative and on the negotiations team of the Waterloo Education Association for several years. So the concept of non-district teachers coming into my school and teaching enrichment classes is troubling for several reasons. First, as private company employees, these teachers don’t have the same protections that unionized teachers typically enjoy. Second, this can be seen as a form of “outsourcing”, and is potentially taking away from the positions of traditional teachers. The history of privatized education in America is full of low-paid staff, poor-to-average student outcomes, and for-profit companies making money at the expense of children’s education.

After seeing the work that Motif was doing, however, I see that there is something positive about the ability to design, implement, and experiment outside the structures of a typical school-teacher’s day. Specifically, Motif takes the time to train their teachers on a method and curriculum, and keeps track of their progress. I can’t think of a single administrator in public schools that I’ve worked with that really ever understood my curriculum, and I know of too many teachers who basically stop pursuing professional growth when they graduate with their bachelor’s degree. What if we had a system where music teachers across multiple districts were supervised and trained by a music person? The quality of teachers might actually improve.

Private or public, I think the goal needs to be on quality education for all children, which means highly-trained teachers teaching with clear goals and creative, student-centered lessons.

Musical Community and Technology

Before I left for Asia, I attended the joint First Iowa Orff and Augustana Orff workshop with Doug Goodkin in Iowa City. I’ve been fortunate to see Doug teach many times, including during my Orff Schulwerk teacher apprenticeship at the San Francisco Orff Course. He has decades of experience in creative music making and teaching around the world, and is also a very insightful philosopher with much to say about the human experience. If you ever have the chance to see Doug speak/present, do it. If not, buy one of his fabulous books.

One thing that Doug spoke about was the negative effect that ubiquitous technology was having on our society and children. He proposed that drumming, dancing, and other forms of music-making were an antidote to the underdeveloped motor and social skills that came from staring at a screen too long. He reminded us that in cultures such as the villages of Ghana that he has visited, children learn music as part of everyday life, and are constantly active and involved. Asking a Ghanaian if they drum or dance is like asking someone if they walk or speak.

Of course, I completely agree with the dangers behind modern technology. Even before the smartphone boom, I saw how recorded music technology over the past century has largely moved our society from music makers to music consumers, and the myth of “talent” has grown with the increasingly popular view of music as a specialized profession, rather than a form of human communication available to all. (This is also connected to the lack of experience young children have to music as mentioned above).

Yet I also know that technology can be a tool to enhance learning. It can take something boring, such as memorizing facts, and turn it into an interactive game. My vision for Unison.School and other music education technologies is to offload some basic learning and assessments to digital tools, thus freeing the music teacher to have more time to be creative with students. Like it or not, the future will be full of technology, and we need to discover ways to harness its advantages, while avoiding the pitfalls.

Change

Whether it’s the structure of schools, the influence of society, the abilities of students, or the influx of technology, being a music teacher in the 21st century is going to be all about change. I’m proud to be a lifelong learner, and hope that I can continue to help other teachers tackle the issues that arise!

Classroom Management for the Creative Music Room

One of the most challenging aspect of teaching music to children is handling disruptive and off-task behavior. A perfectly planned lesson with engaging material, exciting activities, and meaningful learning objectives can turn into a moment of questioning one’s career or sanity with just a few children disrupting a class.

When I was an undergrad, we learned classroom management in the Ed department, from a former social studies teacher. While he was an excellent teacher, many of his suggested techniques were difficult to apply to an elementary music classroom.

Seating

Seating is the first place where norms of most other classrooms cannot apply to a creative elementary music room. Desks and tables do not allow room for movement activities, instrument ensembles, and collaborative work.

What does work in the music room?

  • Rows – Some teachers use staff lines created out of vinyl tape (for hard surfaces) or Velcro strips (for carpet). Rows are nice for giving assigned seats and making a seating chart. This can certainly help with management issues, by separating groups that talk too much.
  • Circle – If you ever have the chance to design a new music room, ask for a large circle in the carpet! Circles allow all students to see and hear each other, and create a natural flow into activities such as circle games, rotations, or taking turns in the center. Plus, with a visible circle on the floor, you can teach your Kindergarten classes to simply “follow the leader” to find a seat!
  • Semi-circle – The semi-circle combines many attributes of the circle with the ability to all see to the front of the room. This is an excellent setup if you choose to use chairs or stools instead of having students sit on the floor, as the chairs can remain against the outside while leaving space in the middle.
  • Scattered – Many activities call for students to have plenty of personal space. You can achieve this with little vinyl circles (there are several commercial options available) or by training the class on how to find their own space (stretch out arms without touching). Be sure to establish boundaries, so students don’t make choices like sitting behind instruments!

Routines

At the beginning of the year, it is important to establish a routine for your students.

  • Greet at the Door – Regardless of how busy your schedule is, there is nothing more important for setting a positive tone than welcoming students to the class. This gives you a chance to greet them, give seating or opening activity instructions, and show them you are happy to have them there.
  • Opening Activity – Many teachers establish an opening song, warmup stretch routine, or even silent meditation as the students enter. Experiment with different routines for different age levels, but give your routine several months to see if it is helpful. The goal is to clear away baggage (frustrations, fears, anger) that the students bring with them from other classes or their home life, and have everyone ready to make music and learn.
  • Transitions – Children are naturally excited by much of the music classroom environment. They are not naturally careful. Anytime you are changing positions, especially when moving to instruments, it is important to not only discuss but practice the transition. The time spent up front to do this will save time later.

Participation

One thing that can ruin a class morale is when some students refuse to participate. Yet musical activities, especially singing and dancing, can feel very intimidating to students who are new to it.

  • Inspire – Often you can achieve full participation by simply launching into an engaging activity, and starting with the most enthusiastic students. The first reaction to those refusing to participate can be to ignore, and focus on those having fun. See how many you can snag with an excellent lesson.
  • One-on-One – Take aside those students who won’t participate and quietly explain your expectations, while acknowledging their feelings and concerns. Assure them that you won’t single them out or embarrass them if they are participating quietly with the class. A little heads up can really help them be prepared to be fully involved next period.
  • Set the Class Expectation – Despite student hesitations or attitudes, the bottom line is that your class is an expected part of their education, and they have an obligation to do their job. A good strategy is to begin the year by doing a “My Job, Your Job” review of expectations. Let the enthusiastic students set the tone that everyone is expected to participate, and then hold them all to that expectation.

Respect

Respect is a very vague term, that is rightly criticized by many as being meaningless to our students. However, we can teach students exactly what we mean by respect, and use it along with participation as the foundation of our class expectations.

  • Respect the Space – Teach students how to handle instruments carefully, practicing specific tasks such as removing xylophone bars.
  • Listen to Each Other – Describe the different types of activities in the music class. For example, if one person is talking to the group, others should not interrupt, and raised hands should be used. On the other hand, if students are asked to collaborate in small groups, it is expected that they only avoid talking over their own group. Role-playing these situations can help students understand when it is appropriate to speak.
  • Only Give Positive and Encouraging Comments – Teach students how to give each other feedback and suggestions without using hurtful phrases such as “I don’t like it.”

Consequences

Children thrive on structure, and want to know what will happen when they don’t follow the expectations. If we don’t explain and follow-through with consequences, the students will understand that there is no authority.

  • Keep it Simple – Consequences do not need to be draconian or cruel. Often, the best consequence is simply a “time out” or break away from the class activity. For the majority of students, this will be effective, as they will want to rejoin the class and the exciting activities you have planned. Also, whether it’s time out, writing a reflection, or something else, make sure the consequences you choose are easy to implement. If you make it difficult for yourself (such as finding students during recess to bring back in, or calling parents for minor issues), you may try to give more warnings and put off applying the consequence because you don’t have time to enforce it.
  • Follow Up – Ask a student to stay after class, or visit with them during a time out, to discuss the behavior seen and better choices. Ask to hear their point of view, so they understand that you are listening. When appropriate (say, after 2-3 time outs for the same student), call the family and let the parents know what is going on. Discuss ongoing issues with your administrators, and ask for strategies that might work for that student.
  • Be Consistent – It’s fine to give warnings/reminders, as long as you limit it to one. Being consistent can mean having many discussions and phone calls early in the year, but this will save you 10x the amount of teaching time later in the year. Also, be aware that students will quickly pick up on any variation in how you treat different students. While certain students may require specialized plans, be sure not to excuse minor misbehavior based on your own preferences of “good” students.

Rewards

The creative music classroom is filled with intrinsic rewards in the form of exciting games, instruments, and challenges. However, it is always better to praise positive behavior than have to discipline poor behavior.

  • Verbal Praise – A simple “Nice Job!” followed by some feedback on a project can really inspire students to keep working. Sometimes we can say “I like how ____ is sitting quietly” to indirectly remind others of the class expectations.
  • Tickets – Many schools or classes use a ticket or “buck” system, where students can be rewarded with a quick slip of paper, which they can collect to turn in later for a simple reward item.

Class-Wide Issues

Nothing is more disheartening than the feeling of a class completely out of control. Yet most teachers will experience this at some point in their career at least once, if not multiple times.

  • Stop and Take a Breath – It is pointless to continue on with content introduction when groups of students are being disruptive, disrespectful, or defiant. Often the simplest way to refocus the class is to stop, mid-sentence, and sit and wait. Many times the other students in the class will ask the disruptors to be quiet so that you can continue. This also gives you a new “starting point” for reminding of expectations, and a chance to identify individual culprits for using your consequence program. If a large group is arguing or talking, it can be hard to identify who should take a time out, but if you stop, get their attention, and remind them of the expectations, then you can immediately follow through with a time out for the first student that interrupts again. In order to truly have an impact on student behavior, it is essential to break it down into individual students, so that you can talk to them and their parents.
  • Switch Activities – Sometimes waiting doesn’t work, and the class will continue to talk. Take this opportunity to find a highly-prized reward for students who are on-task. For example, send a small group of focused students to have free instrument playing time, or hand out tablets for music game time. When other students finally pay attention enough to realize what is happening, they will want to join in the positive activity. This is when you explain that these activities are rewards for focus and listening.
  • Ask for Help – When you are overwhelmed, no one benefits. Ask your administrators and colleagues for solutions to help you get back on track. Invite the principal to come sit in the room and observe. If you do this proactively, the principal will hopefully understand that you are making an attempt, and will try to support you.

What are your go-to strategies for classroom management?

What to Buy for Your Classroom

In my previous post, I talked about various resources for funding your music classroom. Once you have funds, it's important to know how to spend them. These are only my opinions, but they are backed up by years of experience and trial and error in several different schools.

Rule #1 – Buy What You Can Afford

Since our money often comes in small lumps each year, it's important to plan out what to buy now, and what to buy later. If you suddenly receive a large sum from a donor, think about one-time purchases (like a bass xylophone) that are too large for your regular budget. If you only have a small amount to spend, consider what you can still purchase of value (e.g., mallets, glockenspiel, small percussion, books).

Rule #2 – Purchase Instruments that Allow You to Teach a Full Class

I go to conferences and am always wowed by the unique, one-off, authentic musical instruments. However, one of anything, be it a piano or a digiridoo, is less useful than a class set of something. When you have one, you have 20+ students waiting for a turn to try it. There goes your class period, and the students sat and waited for most of it, not learning.

When I'm exploring rhythm with students, it's wonderful to have a set of hand drums, so everyone can learn the same technique and play together. Similarly, for melodic exploration, nothing beats a full set of barred percussion.

Of course it is possible to create rotations wherein each student takes turns but on different instruments. However, when looking to teach not only rhythm but technique, timbre, and dynamics, a homogeneous set is ideal.

Back to rule #1, remember that building a class set of instruments takes time. If you can buy 1-2 instruments every year, you are making progress. One idea I didn't mention in the previous post was to borrow instruments, use them in performance, and then ask for money to help purchase them!

Here is a suggested list of class sets, in the order I would purchase them:

  • Pretuned hand drums – Look for a set of stackable drums of various sizes. Make sure the larger ones aren't too heavy for your students.
  • Barred Percussion – Xylophones with rosewood bars are the gold standard. There are some high quality fiberglass bars that sound almost identical. Metallophones are beautiful in small numbers, but overwhelming if too many. Glockenspiels are excellent for a high end. Look for balance between voices.
  • Recorders – You need at least a full grade set, or find out if students can purchase their own. Make sure they don't buy the very cheapest!!! Also, there are baroque and renaissance models, with different strengths and weaknesses. I like the ease with which students can play low notes on a renaissance recorder.
  • Ukuleles – For older students, the ukulele is a very versatile chordal instrument that fits kids hands and sounds good with their voices.
  • Large drums, cajons, other percussion

Rule #3 – Buy Quality

The axiom "you get what you pay for" is very true for musical instruments. With limited budgets, we're always searching for a deal, but make sure you have the opportunity to play anything you plan to buy. Come to the AOSA conference or a state convention, and visit the exhibitors. Ask questions of veteran teachers, what they like and don't like. (If you want my personal brand preferences, message me).

Rule #4 – Buy Support Materials that Save You Time and Help You Teach

With all of the books and software I've written, the goal has always been to make my job as a music teacher easier, and to save time from boring tasks while making more time for playful, hands-on learning. Be wary of materials that do the opposite – entertain students passively while taking up class time. Our children are surrounded by digital entertainment every day, they need more from us. We need to maximize creative skill-based activities in the limited time we have.

Yet there are certainly requirements in music education that technology can help with. Getting an accurate and documented assessment of student skills, for example. I can take time to pull out my gradebook and hear every single child clap a rhythm, or I can use a tool like Unison.School's rhythm assessment to test an entire class in 5 minutes, and be able to pull up their scores anytime.

Likewise, lesson planning can be an exhausting process. Whether you use a simple spreadsheet, document, or online planner, technology allows us to simplify this task.

Conclusion

Whatever you decide to purchase for your classroom, use it to inspire students to become lifelong musicians. Let me know what you find useful for your classroom!