Sunday, June 24, 2018

Choosing a Path: Java Programming, AP CSA or Concurrent Enrollment

I finished a very enjoyable third year of teaching Java Programming.  I teach a Java class that is not AP and is built by me and changed/tweaked yearly.  We cover the topics that I want and those that my students give feedback on that they like as well.  The year started with over 20 enrolled in the class, and very quickly dropped to 13.  A disadvantage of teaching at a small school is that there are many one-section-only classes.  For the 2017-2018 school year, Java Programming happened to be in the same slot (5th period) as AP Biology, AP Micro Economics, and our Concurrent Enrollment Spanish class -- all of which were one-section-only.  Students are placed in the predicament of needing to select between multiple classes and it becomes some what of a popularity contest.  A few students informed me that given a choice between a class where they could earn AP credit or college credit and "just an elective", they would choose the GPA accelerator or college credit.

As the end of the year approached our principal asked what course changes we would like to make for the next school year (a great thing about a stand alone charter school -- not a lot of bureaucracy!).  My internal debate began.  I saw three potential options for  the Java class:  keep it the same as Java Programming; change to AP Computer Science A; or change to a concurrent enrollment Java Programming class.  

I quickly ruled out the latter as I only have a Bachelor's degree in Computer Science and that would not let me become an adjunct professor at the community college.  Sadly 26 years in industry does not equate to a Master's degree.  That eliminated teaching a concurrent enrollment class, leaving two options.

The advantages with keeping my current Java Programming class:  I enjoyed teaching this class as I had complete control of the curriculum and could change it as I wished from year to year.  I could go at the pace of my students which meant that some years we covered more material than other years.  I could cover topics that were of more interest to the students such as building GUIs and learning to use the Windows Builder toolkit in Eclipse.  Finally, I wouldn't have to revamp/create a new curriculum to teach since I am also picking up Game Design/Development as a new prep.

The advantages with moving into AP Computer Science:   The class would appeal to more students with the Advanced Placement GPA accelerator, so I wouldn't consistently lose students to other AP classes.  It would push me to dig into some additional topics that we typically don't cover such as recursion.  The class would put our Computer Science program on a similar or advanced footing to other high schools in our area.

In the end, I decided to go with AP Computer Science A.  I liked the advantages that it gave my students, and I liked the idea that it would improve the standing of the Computer Science offerings provided by my school.  I will be taking the AP Institutes on the week of July 9 and am looking forward to building out the new curriculum.  As an added bonus, I am picking up the APlus curriculum which follows the AP standards and gives me lots of resources to build the class on.  Looking forward to next year!

Sunday, June 17, 2018

Goals for Spring 2018 - Revisited


I have settled into summer break and it is time to look back at the last semester and start getting ready for the next school year.  For the 2018-2019 school year I will be dropping my two sections of Math Intervention and picking up an additional section of Exploring Computer Science and also teaching a new course, Game Design and Development.  The other change is that the Introduction to Java Programming class becomes AP Computer Science A.

Looking back at all classes from last semester, how they went and the changes I want to make…

Exploring Computer Science
We explored the two areas of web page design and robotics with nine weeks dedicated to each.  With web page design we successfully learned HTML tags and cascading style sheets along with forays into image editing with GIMP2.  And I do intentionally say “we” learned.  As with any new course, I was staying a few weeks ahead of the students and they often asked questions that I had not yet explored so we needed to learn about things together.  The students tolerated these joint explorations and several saw it as an opportunity to learn about something new and show it to me.

The other area that we explored during this nine weeks was the sense of voice and  how to write compelling blogs that would draw people back time and again.  My students created many interesting blogs on topics that taught me about music, anime, technology, books, and my personal favorite lion dance.  Sadly the semester got busy for me and I dropped blogging until now, so I will try catch up over the summer.

The quarter on web design was taught in a traditional I do – we do – you do.  I showed them some sample web pages that I created, following many of the examples from W3Schools.  We wrote scripts together with my screen projected on a window on student machines so they could create, look things up, and look at my example.  Finally they put everything together and created 3-4 page websites on a topic of their choice.
The quarter on robotics was a good bit of review from our Python unit.  We used the EdPy section of learning from the Edison robotics lessons.  The programming was very familiar to the students from the first semester, so I let students work through the lessons at their own pace and checked of completion as they finished.  Students worked in pairs and took turns coding in the Edison environment to learn about the sensors, lights, speaker, and drive built into these robots.

As a final project students created a unique program for their robot that demonstrated the use of multiple sensors and other I/O devices on the robots.  These are very versatile robots with a good deal of function built in to let students explore.  I had purchased two the EdCreate packs, so student groups that finished early had extension activities to work on.
To organize, build in accountability, and keep track of the many pieces and parts we used a simple system.  Robots, cords, and any extras were kept in a small 1 quart baggie along with a note card with the names of the student group.  I think this helped in getting 100% return of all pieces and parts in working order at the end of the semester.

Business Math
Forming companies was an instructive experience for the students.  As the semester progressed, senior-itis set in for many of seniors and some company presidents with many absences found themselves removed from their position and replaced with someone else.  An important life lesson!

I ended up adding several new units to the curriculum to cover some topics that I felt were important – completing basic financial forms – balance sheet, income statement, and statement of cash flows; preparing federal taxes 1040-EZ; preparing Colorado State taxes.  We ended the year with having each student write a paper “What’s Next”.  It was interesting for me to hear the plans for each of these students.

Next year in order to keep the engagement up, I plan to bring in outside speakers on various topics so students get to see how things are done in real life.

Java Programming
The thing that I really enjoy about this class is that it is truly an elective class that I have complete control over.  This year we ended up spending more time on each of the units.  Students were taking a little more time to master each of the concepts, and that was fine.  It did mean that we ended up with a little less time for final projects, so students could not create as elaborate projects as they did in the previous year.  Nevertheless I was pleased with the results.

Next year there will be big changes coming for this class as it is “promoted” to AP Computer Science A.  I am grateful to my administration for investing in the A+ curriculum and am looking forward to digging into that over the summer along with sending me to the AP Institutes at Metro State University in Denver so I can learn more about the AP curriculum.
After working in IT for 26 years and programming in Java for about 8 of those years, I feel confident with the material.  However as anyone in industry can tell you, I specialized in certain areas which means there are parts of the language and libraries for Java that I rarely if ever touched.  As I look at the curriculum, I see that I will need to brush up on some of the topics.  Recursion is something I rarely used.  Sorting and searching, I would typically use library procedures instead of writing my own.  But I am looking forward to digging into the curriculum.

Math Intervention
I will be leaving this behind with some joy and some sadness.  I really enjoy working with my freshmen and seeing these students gain confidence in math.  But I also understand that some students who are struggling with math did not enjoy being assigned a second math class.  As we move forward as a school, we have Pre-Algebra to support students who are not ready for Algebra during their freshman year.  This also frees me up to teach a Game Design and Development class.  But more on that later.

Conclusion
It was a good second semester and I am looking forward to the 2018-2019 school year.