Competition for Students

Background

I submitted a proposal in the Spring of 2016 to create a new hybrid STEM Robotics and IT Computer Programming pathway. This entire pathway starts with the STEM course, Principles of Technology.

This course is a very hands-on Physics class with a major CTE flair. The majority of the class, at least 60% must be taught in a hands-on lab setting.

The Problem

Unknown to me, our Physics teacher has been having problems with enrollment in his classes. Namely, he does not have sufficient enrollment to offer the AP Physics class.

He is concerned that more students will leave Physics for the Principles of Technology Course since it’s more “fun”.

The Bigger Problem

To me, this highlights a bigger problem. According to the Physics teacher, his hands are tied because he has a standardized TRS (formerly CScope) test he has to utilize. However, our superintendent has said that these are now only diagnostic and don’t have to be taken for a grade.

He honestly has the freedom to make the Physics (non-AP) into anything he would like to. I think there is unspoken concern in transitioning from a class that is majority lecture/minority lab to the opposite.

Built-In Solution

In my original proposal, students were to only be signed up for the Principles of Technology course of they were entering the Robotics / Computer Programming pathway. Otherwise, they should plan on take Physics.

Future Discussion

In the future, I will know to discuss ventures that intrude into the core with the core teachers it may impact while drafting any proposal.

I will also be interested to see just how much of an impact this will have on the enrollment of our Physics classes and home many of my Principles of Technology students go on to Computer Programming and the rest of the pathway.

A Local Robotics Competition

Background

The way that we are establishing our Computer Programming curriculum is as follows:

  • Year 1 – Computer Programming
    • Language: Python
  • Year 2 – AP Computer Programming
    • Languages: JAVA & Ruby

Our Problem

Because UIL uses JAVA as the basis for its Computer Science contests and TCEA uses JAVA as the programming language for their area robotics contests, there is nothing extra-curricular for the students in Year 1 of our program.

Possible Solution

I am thinking that we will implement a local robotics competition for our first-year students using the LEGO Mindstorm EV3 kits programmed using Python to solve a given problem or set of problems.

I’ll need judges from around the local and larger community to judge creativity, engineering, and coding.

Eventually, I would like to open it up as an invitational format that could generate revenue for our robotics program and provide a small thank you gift for our judges.

AP or No AP

Introduction

This week, I have had the privilege of working with some outstanding educators from across the country at the UTeach: Computer Science Principles AP training held in Dallas, TX.

At this training, we were preparing for the newest addition by College Board to their general AP offerings: AP Computer Science Principles.

On the first day, the presenter stated that not all schools represented were going to be offering this for AP credit and I was stumped. I could not figure out why you would not present a course as AP if you could. However, as the week went on, I realized that my own campus is likely one of the ones that will not offer it as an AP course.

Background (Course)

This course is built to be offered to students who would not typically take a Computer Science course. UTeach has based their curriculum on the University of Texas courseThriving in Our Digital World which is the mandatory Computer Science course for non-Computer Science majors.

Background (My Students)

The students I will be starting with next year have all self-taught themselves JAVA as part of an after-school club. They participated on their own at UIL district competition and advanced to compete at UIL regional competition! These students have a strong desire to refine their skills in computational thinking and program development.

The Problem

The AP Computer Science Principles course is language agnostic and primarily relies on block languages such as Scratch for its primary delivery. As my students have been working with a text-based language, this will feel like a substantial step backwards.

Also, the course will not adequately prepare my students for participation in UIL, which is JAVA specific. I feel that my students will derive more long-term benefit from preparation and participation in UIL than they would completing this AP course.

Administration Support

I am blessed to have an administration team at the campus and district levels who trusts my judgement to do what is in the best interests of our students. I have actually been told by one of my administrators, “My ego is not stroked based upon how many courses have the letters “AP” in front of them. Do what’s best for our students. That’s what I want and what I expect.”

The Decision

Currently, the decision has been made that we will be offering the following:

  • Computer Programming
    • 2016/2017 (Not AP)
      • Programming Language: JAVA
    • 2017/2018 and Beyond (Not AP)
      • Programming Language: Python
  • AP Computer Programming
    • 2017/2018 (AP CS-A)
      • Programming Languages: Python, Ruby and Persistent Parallels to JAVA
    • 2018/2019 and Beyond (AP CS-A)
      • Programming Languages: JAVA and Ruby

The idea is that the students entering Computer Programming in 2016/2017 will be formally learning JAVA. In the next year, those students will progress to the second-year course, which is aligned with AP Computer Science-A and will cover the languages of Python and Ruby with persistent reminders of JAVA. Students in this group will be the UIL Computer Science team for both 2016/2017 and 2017/2018.

The students entering Computer Programming in 2017/2018 will be learning Python while learning computational problem-solving skills. In the next year, those students will progress to the second-year course, which is aligned with AP Computer Science-A and will cover the languages of JAVA and Ruby. Starting in 2018/2019, when these students enter the second-year course, they will be the UIL Computer Science team. In all future years, the team will be comprised of students from this second-year course.

Long-Term Benefit

The hope is that students in this program will leave with truly marketable skills in JAVA, Ruby, and Python development.