# GitHub, Canvas, and Computer Science

There are certain software development techniques or tools that are not strictly part of the AP Computer Science curriculum that I think are valuable for students to learn about and practice in my class. Two years ago, I incorporated pair programming. Last year, I added test-driven development and JUnit. This year, I made GitHub an integral part of the course.

I want students to be aware of and appreciate the value of source control management. GitHub was the obvious choice as they are supportive of education and is mostly likely the specific tool that students will encounter.

After consulting with a couple former students more familiar with GitHub than I, I decided to create a repository for each unit in the course. At the start of each unit, students fork that unit’s repository and clone it to their desktop. They perform these operations through the GitHub web site.

Throughout the unit, I encourage students to put all of their code in their forked repository and frequently commit and sync. This provides students with all of the typical advantages of source control: they can more easily work at both school and home, and they can revert to an earlier version of code if a project goes astray.

At the end of the unit when students have completed their summative lab, they issue a pull request to submit the lab. They then submit the URL to this pull request via the Canvas assignment that I created for the summative lab.

I created a video tutorial that captures the student workflow:

The student workflow works well except when they accidentally generate merge conflicts by not keeping home and school synced.

While exposing students to GitHub is enough of a benefit, this particular workflow is extremely efficient from the perspective of me evaluating their summative labs.

I still use Canvas’s SpeedGrader to keep track of who has submitted the lab and to provide detailed feedback to students. In previous years, I had students submit a zip file of their entire project folder. The link to their pull request is much more efficient. My workflow for evaluating their lab is the following:

1. Click on the link in SpeedGrader to open the pull request page in another tab.
2. Click on the “Check out this branch in GitHub for Mac” icon which does exactly that.
3. Open the BlueJ project file for the summative lab, read the code, read the docs, run the project, and provide feedback via SpeedGrader.
4. Close the pull request.
5. Run the following script which switches back to the mater branch and removes all traces of the student’s pull request:


git reset --hard
git clean -xdf
git checkout master


6. After evaluating all of the labs, I list all of the branches that I checked out:  git branch --list

7. I then delete each of these branches:  git branch -D pr/xx

While the above may seem like a lot of steps, there is very little overhead and it is much more efficient than my previous workflow.

I’m embarrassed to admit that there is another advantage of these GitHub repositories for each unit that I didn’t utilize until this past unit. While making notes to myself about where we had stopped in one class period where I was modeling how to write a certain algorithm, it struck me that I can create branches for each class period. I now create a branch for each class period and, when I demonstrate how to write some code, I commit and sync that branch with some helpful notes to myself at the end of each class period. The next day, I switch to the corresponding class’s branch, read my notes, and we start right where we stopped.

If you have any suggestions on how I can improve my students’ workflow or my workflow, please share. If you have been thinking of incorporating source control management into your computer science class, I encourage you to take the plunge. Your students will learn a very valuable skill!

A good summer of reading. I didn’t read quite as much as I had hoped, but more than I feared I would. My focus this summer was influenced by my work on my district’s Science Curriculum Team who is incorporating the Next Generation Science Standards into our science curriculum. As part of my contribution to this team, I want to promote the development of a continuous narrative that students will find engaging throughout primary and secondary school. I’ll write more about this later, but I believe the history of science plays a crucial role in this endeavor.

Quantum Man by Lawrence Krauss

I find Lawrence Krauss’ writing and speaking engaging. This biography of Richard Feyman focuses more on his pursuit of understanding through science than on his infamous antics.

Creating Innovators: The Making of Young People Who Will Change the World by Tony Wagner

A committee I was on started reading this book last year. It was good and the case studies were interesting. I think it could have been condensed quite a bit without losing too much.

The Edge of Physics: A Journey to Earth’s Extremes to Unlock the Secrets of the Universe by Anil Ananthaswamy

This book is amazing. Ananthaswamy travels around the world to explore the most interesting experiments in the field of cosmology. Reading how these scientists actually go about their experiments and the challenges they face due to their environment is fascinating. These are the types of stories that need to be shared with students.

Trinity: A Graphic History of the First Atomic Bomb by Jonathan Fetter-Vorm

An excellent graphic novel that captures the start of the Atomic Age. This book is a fantastic resource for students research the development of the atomic bomb.

The Ten Most Beautiful Experiments by George Johnson

This was my least favorite book of the summer. I just didn’t find the stories as engaging as others that capture the history of science.

A Short History of Nearly Everything by Bill Bryson

I read this book years ago, but read it again this summer in order to make annotations that can be incorporated in this narrative of science in which I’m interested. Bryson is an incredibly engaging writer and truly captures the wonder of how little we understand about the world (and beyond) in which we live.

I’m in the midst of two other books and hope to continue to make progress as the school year starts.

# AP Physics 2 Syllabus, Units, Labs, and Pacing

I previously shared how I will be using the AP Physics 2 Big Ideas and Enduring Understandings as the standards for my flavor of standards-based assessment and reporting for AP Physics 2. Since then, I’ve been working on outlining my sequence of units, pacing, and labs. This allowed me to finish the syllabus to submit for the College Board Audit. I based my syllabus heavily on Dolores Gende’s syllabus. My syllabus is 1252560v1, in case anyone finds it helpful in preparing theirs.

The syllabus that I share with students and parents provides all of the specifics on the structure of the course.

My sequence of units and pacing is based on a fall semester of 15 weeks and 2 days (plus finals) and a spring semester of 13 weeks to April 22nd (at which point we start reviewing for the exam). We will be using College Physics, 3rd Edition, by Knight, Jones, and Field. My pacing reflects our first year physics courses which cover more of electrostatics and circuits than the minimum required by AP Physics 1.

Please share any feedback or questions that you have!

# Fall Semester

## Unit 1: Relativity and Computational Modeling

• time: 1 week
• Knight: Chapter 27
• computational model:
• frames of reference

## Unit 2: Fluid Mechanics

• time: 3 weeks
• Knight: Chapter 13 (sections 13.1-13.6)
• computational models:
• buoyancy
• Torricelli projectile
• labs:
• pressure beneath the surface
• hydrometer
• Archimedes
• Bernoulli/Venturi
• water projectile

## Unit 3: Thermodynamics

• time: 4 weeks
• Knight: Chapters 10.5; 12.1-12.4, 12.8; 11.1, 11.3-11.8
• computational model:
• kinetic theory
• heat transfer between liquids of different temperatures (thermal equilibrium)
• entropy
• labs:
• heat engine
• heat transfer
• temperature and kinetic theory
• entropy activity

## Unit 4: Electrostatics

• time: 4 weeks
• Knight: Chapters 20, 21
• computational model:
• electric field/potential maps (3D?)
• labs:
• Millikan Movies
• electric potential mapping
• dielectric constant and parallel plate capacitor lab
• simulations (field hockey, fields and potentials)

## Unit 5: Electric Circuits

• time: 2.6 weeks
• Knight: Chapters 22, 23 (23.1-23.7)
• labs:
• conductivity/resistivity lab
• Experimenting with constant current and voltage sources
• RC circuits

• time: 4 days

# Spring Semester

## Unit 6: Magnetostatics and Electromagnetism

• time: 4 weeks
• Knight: Chapters 24, 25
• computational models:
• charged particle in an external magnetic field
• labs:
• magnetism activities
• mass of the electron
• measurement of a magnetic field
• electromagnetic induction activities
• electric motors
• determine number of loops in solenoid
• Lenz’s Law Demonstration Using an Ultrasound Position Sensor

## Unit 7: Geometric and Physical Optics

• time: 4 weeks
• Knight: Chapters 17, 18
• labs:
• reflection activities
• mirrors lab
• refraction activities
• refraction/total internal reflection lab
• lenses activity
• lenses lab
• diffraction and interference
• thin film interference lab
• interferometer thermal expansion
• holograms
• Determining the Thickness and Refractive Index of a Mirror

## Unit 8: Quantum, Atomic, Nuclear Physics

• time: 4 weeks
• Knight: Chapters 28, 29, 30
• computational model:
• half life
• labs:
• hydrogen spectrum
• photoelectric effect
• half life
• LED lab for Planck’s constant

## Review

• time: (4 days for final exam) + 6.5 days for analysis and review
• April 23-24, 27-28: final exam

## Unit 9: Particle Physics and Cosmology

• time: 2 weeks

# 2013-2014 in Numbers

The 2013-2014 school year by the numbers:

• 88 students in the fall; 86 students in the spring
• 71 recommendation letters for 36 different students
• 30 standards in AP Physics B; 80, in Honors Physics; 20 in AP Computer Science
• 596 tweets
• 16 blog posts
• 186 180 posts
• 9288 school e-mails received; 4820 sent
• 23 partial or full days missed; none due to illness
• 0.55 FCI gain (n=18)
• 4.484 average AP Physics B score; 4.407 average AP Computer Science score

# AP Computer Science End-of-Year Survey Results

I recently reviewed the end-of-year feedback from my AP Computer Science students. This year we moved to a new textbook. Last summer, I focused on selecting new practice activities from the textbook and improving the summative labs that students complete at the end of each unit. I made the decision to invest most of my time in the development of the summative labs rather than the practice activities. My focus (and lack of focus) is evident in the feedback. In the following charts, a “1” represents strongly agree and a “5” represents strongly disagree.

I see practice activities as the aspect of the class most in need of improvement. While the feedback was largely positive, it was as positive as I would like. I believe the feedback on peer programming was a result of how I introduced, structured, and facilitated peer programming rather than a poor reflection on the methodology itself.

The feedback on summative labs was much more positive, which is good because I put forth a lot of effort to improve those! I plan to retire the ActorBox lab which was an early introduction to GridWorld. I may do a turtle lab instead. I also need to re-evaluate the Word Search lab. The lack of popularity may be somewhat due to timing rather than the lab itself. I may look for a different lab for arrays and ArrayList. I would love to create something with more social relevance. The DrawingEditor was fairly well liked but was too much of a challenge for too many students. I may consider replacing it with the new AP Elevens lab.

The chart is a shout out to Canvas’s Speed Grader. I sung its praises in an earlier post.

I was surprised how many of my students were planning to major or minor in a computer-related field. I would expect about three-quarters of them would major in a STEM-related field, not solely computing related.

I had a very simple standards-based assessment and reporting system for this class. Summative assessments were scored on a 1-5 scale. Each unit that consisted of one exam and one lab. I almost never had a conversation with students about scores or grades. Lots of conversations about computer science instead.

My focus for this summer is to improve the practice activities by selecting fewer and selecting those that students will find more relevant. In addition, with the practice activities, I want to achieve a balance between instructor-led examples, individual development, and peer programming. I specifically want to improve my facilitation of peer programming. I also plan on developing my own slide decks instead of using those that are included with the textbook. Finally, we will be using GitHub next year and I want to move the summative labs into GitHub to provide necessary scaffolding for the students. Looking forward to next year!

# Monkey and the Hunter Conceptual Explanation

Back in mid-November, I posted to my 180 blog about the classic monkey and hunter demonstration. In that post I referenced a conceptual explanation as to why the hunter should aim directly at the monkey. Andy asked me to share the conceptual explanation and I’m finally taking time to do so.

For many years the best conceptual explanation I could offer was based on that of a student who came up with the following after seeing the demonstration. Imagine there is no gravity. The angle is such that in the time it takes the projectile to move horizontally, it will move the necessary vertical distance to hit the monkey. The effect of adding back gravity just adds the $\frac{1}{2} a t^{2}$ part of the equation which is the same for the monkey and the projectile.

This year, I developed an alternative conceptual explanation. Put yourself in the frame of reference of the monkey. The difference in the vertical component of the velocity between the monkey and the projectile is the same and will remain the same due to the acceleration of gravity. Therefore, the projectile has a constant velocity and, if aimed directly at the monkey, will move in a straight line toward the monkey.

I received a GoPro for Christmas and plan to use it to film this demonstration from the perspective of the monkey.

# CSEd Week

Due to space availability, we held our Computer Science Education Week activities a week early. My colleague and I and our students shared student work over three days in the cafeteria. We highlighted robotics, art, and games over the three days. We also provided the opportunity for students to participate in the Hour of Code. My colleague, @Mr_Alesch, created the following poster to promote our activities:

I created the following video to promote computer science:

A handful of students completed the Hour of Code and many more students saw what students in the various computer science classes created. It was a good outreach activity and we learned how to make it even better next year. Students enrolling in computer science classes appear to be increasing; hopefully, this helped.

# Recognizing True Professional Development

This fall, our school district adopted a new model for how professional development affects teacher salary. The new model provides various opportunities for educators to participate in professional development activates aligned to their personal career path. These activities may result in immediate compensation or “points” that can accumulate and move teachers across the traditional salary schedule.

Coming from the business world, the idea that employees would have a career path that they discuss periodically with their supervisor makes a lot of sense. I’m pleased that everyone will at least have this conversation as it is both a great opportunity to set goals as well as to identify opportunities for collaboration with teachers with similar goals.

I’m even more excited about the flexibility of the new model. The “bricks” that result in compensation or points can be coursework like in traditional salary models. However, they can also be earned by leading initiatives, participating in committees, creating and facilities professional development courses, developing curriculum, conducting research, and other professional learning experiences.

Historically, I’ve been pretty frustrated with how my professional development has been recognized and rewarded by my district. My time, like everyone’s, is limited and valuable. I choose to participate in those activities that will have the greatest affect on my professional development and my students’ learning. I carefully choose the conferences and workshops that I attend, the committees and professional development activities in which I participate, and the graduate courses in which I enroll. Only once in my seven years as a teacher has my assessment of professional development value and my district’s aligned. I received graduate credit for the Modeling Instruction workshop that I completed five years ago. The most frustrating was when I was denied credit when I was a Teacher Research Associate at Fermilab National Laboratory over one verb in the corresponding graduate course description. That summer, I worked on the Holometer collaboration and wrote a series of articles that explained the experiment at a level high schoolers and general public could understand. It was an incredible experience. I hope, with this new model, no teacher will ever experience the frustration that I did when pursuing such a rich professional development experience and not having that recognized by the district.

Now I’m about to test the flexibility of the new model.

I just finished writing a brick proposal for the “Discovery, sharing, execution, and enhancement of research-based and field-tested best practices for physics education.” I’ve come to realize that the most valuable professional development that I experience is with my online and Chicagoland colleagues. That’s why I invest my time in my weekly physics PLC Google Hangout, monthly Physics West meetings, my blog and 180 posts, and reading all of your posts and tweets. I tried to convey the significance of these experiences in my application:

This brick would be an example of blended learning. It would involve my participation with my online colleagues through a weekly Professional Learning Community (PLC) physics meeting comprised of physics educators throughout the country (and world) that I most respect and through less formal interactions via Twitter and blogs. For example, check my blog Pedagoue Padawan and my 180 blog: Pedagogue Padawan 180. It would also encompass in-person activities with the Chicagoland Physics West group, which meets monthly at area educational institutions. Interactions with each group are shared with the other as well as with my colleagues at Naperville North. To provide some context, every significant change (e.g., standards-based grading, Modeling Instruction, peer instruction, computational modeling) that has dramatically affected student learning and my professional practice has been profoundly impacted by the interactions captured in this brick; significantly more so than any other professional development experience I’ve done in my seven years of teaching.

I’ll keep you all posted on how this goes and thank you in advance of your continued support of my professional development.

Happy New Year!

# Introducing Growth Mindset and Deep Practice to Students

I read Mindset by Dr. Carol Dweck and The Talent Code by Daniel Coyle this summer. The three of us teaching Honors Physics this year agreed that we should share the concepts of mindset and deep practice with out students, emphasize them throughout the year, and measure how our students mindsets change throughout the year.

Inspired by the efforts of John Burk and Mylène. I put together some materials that focus on mindset and learning attitudes. There are a coupe of surveys, some in-class activities, and some readings for homework and in-class discussion. I think focusing on these concepts can have a significant impact on our students. I also wanted to collect some data that measures the impact of our new approach to Honors Physics.

We started with John Burk’s intelligence survey which is a short survey to be administered before discussing mindset and deep practice. We assigned this survey for homework and captured the data in Canvas.

Some results were quite promising and indicative of more of a growth mindset than I expected:

You can greatly change how intelligent you are.

You can greatly change your ability to understand science.

And some indicate that there is plenty of room to change attitudes about learning and physics:

How well you can memorize mostly determines how well you can do in science.

Watching an instructor do examples is the best way to learn new material.

After students completed the intelligence survey, we introduced the concepts of growth vs. fixed mindset and performed activities from The Talent Code to demonstrate deep practice and chunking. At home they watched Angela Duckworth’s TED talk on grit. Here are the slides:

We then assigned The Power (and Peril) of Praising Your Kids a New York Magazine article for reading at home. We also distributed copies of Diana Hestwood’s slides about how the brain learns.

The final piece as to administer the Colorado Learning Attitudes about Science Survey (CLASS) which was developed by the PER group at Colorado Boulder. We wanted to administer this at the start of the year to capture student expectations and then again at the end of the year to capture how student attitudes have changed. Administering this survey was a bit tricky since these students don’t have a previous experience with a physics class. So, we encouraged them to complete the survey based on their expectations.

To achieve our goal of having a significant impact on our students, these activities must only be the beginning. We will have to make a concerted effort to reinforce growth mindsets explicitly throughout the year and implicitly with a culture in which a growth mindset can flourish. While I fear that the traditional school environment fosters a fixed mindset, I hope that at least our classroom (especially with standards-based grading) can provide a refuge for the growth mindset.

I have a theory that how much I enjoy the summer is directly proportional to how much I read during it. This may be because I make little time to read anything of significant length during the school year. However, during the summer, I find it easier to make time. This summer was a good one for reading!

Mindstorms: Children, Computers, And Powerful Ideas by Seymour Papert

I had been meaning to read this for a while and received a copy as a Christmas gift. I found it so enlightening and surprising that I previous wrote about it.

The Quantum Story: A history in 40 moments by Jim Baggott

I don’t remember how this book ended up on my reading list, but I’m glad it did. I find the history of modern physics fascinating and my students appreciate learning about the historical context in which scientific advancements were made. I found Quantum Story riveting. I flagged dozens of pages to reference in class when we study modern physics.

Mindset: The New Psychology of Success by Dr. Carol Dweck

Several teachers that I respect have strongly recommended this book and Dweck’s research on fixed vs. growth mindsets. AFter last year, I was concerned about many of my students’ mindsets. I found this book helpful in that it provided a good foundation for understanding mindsets from a cognitive psychology perspective. I’m working on a future post on how I’ll introduce students to fixed vs. growth mindsets.

The Talent Code: Greatness Isn’t Born. It’s Grown. Here’s How by Daniel Coyle

This book was a great pairing to Mindset. Coyle focused on very similar ideas from the perspective of neuroscience. I flagged a couple of the examples in this book to use as activities with my students. I hope that the combination of the ideas of mindset with that of deep practice will have a powerful impact on my students.

National Geographic Angry Birds Furious Forces: The Physics at Play in the World’s Most Popular Game by Rhett Allain

It took me longer than expected to read this book because my son took it before I got started. It is a wonderful, accessible, fun, and engaging introduction to the world of physics through the lens of Angry Birds. Rhett’s casual writing style is a perfect fit for this book. I plan to keep it out in my classroom for students to browse and enjoy.

The Einstein Theory of Relativity: A Trip to the Fourth Dimension by Lillian R. Lieber

I believe I learned of this book in The Physics Teacher and was intrigued by the reviewer who claimed this was the best explanation of tensors, ever. I ordered a couple of copies: one to gift to a student who was graduating and one for myself. I was wonderfully surprised by the writing style and the illustrations throughout the book. I must admit that I’m still in the middle of the book, but I hope that my reading won’t be interrupted now that school has started!