Tuesday, December 26, 2017

Goals for 2018

As 2017 comes to a close, I am looking forward to the second semester and the classes I am teaching.  I have four preps so this is a lengthy post.  With two new classes for the school year and two repeats, there are different plans and goals for each.

Exploring Computer Science
The two areas we will explore as a class are web page design and robotics.  More on robotics later because that is worth a full blog post on its own.  I have to admit that I am excited to see what the students will do with the Edison  Robots we will be learning with.

With web page design I hope to cover two main areas.  First, I want students to learn the tags and mechanics of putting together a web page.  Along with that I want to cover some basics with adding and editing images, good policy for font usage, selecting type sizes and color.  The mechanics of web page design has its challenges for me as this will be the first time I am teaching anything related to web page development and need to become more versed with the tags.  But in some ways I feel that is the easy part of what I want to do.

The second area I want to explore with students is making sure they are content developers for the world as well as creating in them the sense of what it means to have an audience as well what it means to be an audience for others.  To teach and learn this I plan to have students create a blog on a topic of their choice.  I will need to discuss this with administration but at the moment the plan is to allow students to have the choice of making their blog shared only within our school's Google domain or to have the blog be publicly visible.

I read several articles and posts on the topic, but the post presented by Laura Gogia on Why Students Should Blog in Public resonated with me and summarizes my thinking at the moment.  It is my hope that students who choose to go on with further Computer Science courses or even those who choose not to pursue CS develop their digital presence and create that e-portfolio for their future with this as a starting point.

Business Math
The first semester of Consumer Math had me excited with the content and the idea behind consumermath.org.  Students earn money for attending class and also earn money rather than grades on assignments, projects, and tests.  Then the students keep track of the balance in their account.  At the end of each week the student with the most money in their account sets the A+.  Students are then awarded grades based on that high water mark.  With students having 75-100% of that amount earning an A, 50-75% a B, 25-50% a C, 1-25% a D.  Students not maintaining a positive bank balance are failing.

I made some mistakes with the first semester such as allowing students with real world experience to earn considerably more than those with little or no experience.  Note to self:  keep the salary range smaller so there isn't such a disparity in salaries.  As a result during the first semester, I changed the grading on a few assignments so students with lower grades could "accelerate" their grade by getting a multiplier on their grade.  For example a $100 assignment for the A+ student could be $200 - $600 based on students' current grade.

With Business Math during the second semester the students will be forming their own companies initially with 3-5 students per company.  They will self-select companies and then choose who to make CEO, COO and CFO and employees of the company.  I will definitely make a smaller salary range.  Then students will gain experience with setting up a company, making products, advertising, reading and creating financial statements, and more.

My group of students definitely does keep me on my toes and I will need to keep a focus on classroom management while teaching this class.

Java Programming
This is the third time through for this class, so I have what I feel is a good set of material.  This is not an AP CSA class, but I hope to make it one either next year or the year after.  So I follow the AP curriculum for the first semester and then cover topics of my choice the second semester which includes about half a semester on GUI program development with the Eclipse IDE.

This semester I do want to add on a bit more and get students to work with and sorting and searching algorithms.  It is not something I currently cover, but the text book we are using Blue Pelican Java does have a good set of lessons with with it that I plan to use.

In addition I am excited that our Cyber Patriots team continues to improve with each competition.  We will also be trying our hand at Code Quest and fielding our first team for that as well.

Math Intervention
Fourth time round for this so I will just be tweaking as we move through integer and fraction arithmetic to make sure students have that good base of math to move forward in high school math classes.

Looking forward to second semester.  Let's do this!

Sunday, December 17, 2017

My Favorite Java Lesson

As the Java class nears the end of the semester we have a final project that is my favorite!  The students are asked to work together to create a computer store.  Students work with an assigned partner, and each pair has a different class(es) to implement, and it is great to see them working on a real-world problem that uses all of the skills they have learned throughout the semester.

This lesson comes after the students have spent a unit working on creating classes and testers that have them work on Java skills of creating instance variables, constructors, access methods, and specialized methods.  These classes work the skills but lack context -- a circle, a box, a bank account, a student.  All individual classes with testers that ensure all methods work correctly.

Although we don't study UML or any other type of modeling,  I show the students a basic model of a class along with the instance variables and a high level description of what the class needs to do.
Order and OrderLine class model
I also discuss with the students that in real-life programmers are not usually expected to be an expert in what they are programming, but rather work with a business analyst, so I act as the business analyst for the pairs of students during the assignment to help them complete the specialized methods.

Several of the groups of students respond that this is a great assignment because they feel like they are writing programs like a professional.  In addition some of the groups are assigned a challenge such as the Order and OrderLine where one of their classes is contained in another class.  Struggling through the complexities of collaborating with another student and getting two classes to work together is very satisfying for them and for me as a teacher.

Real-world context can truly make a content rich project come to life!