making a front-end newsletter

I’ve been working at Udacity for a while now, where I’ve been teaching front-end web development. While I spend most of my time making classes, we recently started working on a newsletter too. Below, I’m attaching a short story that should give you some insight into what most days at Udacity are like.


It was 11am on the Tuesday before we launched the front-end Nanodegree when the front-end course developers [people who actually design and make the classes] finally started to discuss how we were going to make the newsletter.

This is something we’ve been looking forward to for a while. We all love reading, watching and learning as much as possible about web development, which is the reason we love making courses in the first place. But sometimes we have the problem of being too enthusiastic.

Mike, the web development curriculum manager, started off the conversation about what to include in the newsletter with something along the lines of, “OK, we should write an educational blog post or two. Nothing preachy. Not marketing-y either. Just helpful information.” We all thought that sounded reasonable.

He then followed up with, “And we should DEFINITELY include HUNDREDS OF LINKS to all the cool stuff we can find!”

To put this conversation in perspective, on the day before this meeting I was in a discussion at lunch with Mike and a few other people about which Chrome Extensions are best for managing browser tabs. I don’t use a Chrome Extension to manage browser tabs because my browsing habits haven’t become addictions yet. Mike does because, from what I could gather, at any given time his computer has more open tabs than all of the bars in San Francisco combined. He reads something like 10 or 20 front-end blogs every day and opens every single link he comes across.

We asked Mike to calm down a little bit. “OK,” he conceded, “maybe like 20 links.”

I don’t remember who said it but we pretty much unanimously responded with, “How about 5 really good links?”

“Yeah, with a sentence or two description for each,” I said.

There was lots of nodding. Then Clark, the project manager for web development classes, grinned like he was a little too proud of himself. “Hey, what if we had… 4 links?”

James, my co-instructor in JS Basics, wanted to chime in too. “Let’s do either 3 or 5 links. It should be an uneven number.”

“… I believe that’s called an odd number.”

“Whatever.”

At that point, we were pretty tired of thinking about how many links belong in a newsletter. And lunch had arrived.

“Four links it is then!”

Meeting adjourned.

Tagged , ,

lifelong learning -or- how i learned how to code

Here’s how I learned to leverage projects and goals to become a programmer:

I dabbled in code when I was in college working on my minor in astronomy. For my stellar astrophysics course, we had to simulate a star for the final project. Throughout the semester, we worked through assignments that required some kind of code to solve. I squeaked through class by pushing Excel and its ability to iterate formulas over rows to its limits. For the final project, I had a set of seven differential equations I needed to iterate over at least 100,000 times. I realized that learning a little bit of code might make solving the project way less frustrating. I’m not sure why, but I went with C++ (probably because I thought it had a cool name). After a week of playing with online C++ tutorials, I could throw together some math into int main() and see results (and yes, I did score an A on the project).

Flash forwards four years and I had forgotten pretty much everything I had learned about code. I was working for a web startup and felt silly that I had zero understanding of the platform on which my product was being built. So I decided to learn.

I didn’t have a goal in mind at first besides “learning,” which is a terrible motivator. I’m lucky that my addiction to learning kept me going, but I felt a distinct lack of direction. It was just an intellectual exercise. As soon as I felt satisfied that some new type of thinking had creeped into my brain (which happened shortly after finishing a few coding exercises) I lost momentum and motivation to learn. My progress slowed and stalled. That is, until I figured out how to redouble my efforts to actually become a programmer.

I had to define a problem for myself. At the time, we were comparing different online education websites. I wanted an automated way to learn about lots of websites very quickly and I wasn’t thrilled at the prospect of clicking through thousands of links to copy and paste millions of pieces of information, so I decided to build a web crawler (and, wow, I wish I had known about Udacity’s Intro to Computer Science course then[1]). All of a sudden, I had this project that was clawing at my brain, pushing me to learn at an ever accelerating rate. I started writing programs with functions. I started implementing objects. I learned how to pull in the Beautiful Soup library. I started poring through inane details of Python documentation. I started learning about HTML and the purpose of tags and classes and hierarchical relationships. I got obsessed by the problem and got some help from the engineers at work. They helped me put together my code and I got the chance to see how real engineers work and think.

And, holy cow, did it feel good when it actually worked.

Long story short: if you want to learn how to program, give yourself a project and a goal. What do you want to be able to do? Something outlandish like “make the next Call of Duty from scratch” isn’t going to work. But “I want to make a box appear on the screen and make it move” could be perfect. Or maybe you could just automate one part of your day. Try a fun, small project and it will only lead to more interesting problems.

Give yourself a problem and get started!

[1] I currently work for Udacity

Tagged , ,

Portal in Santa Clara, California

Over the past two years of Physics with Portals, I’ve gotten emails from dozens innovative teachers around the world who want to teach with Portal 2. And it’s awesome. I love helping out however I can.

Last week, I got an email from Tom Perazzo, a digital media teacher in Santa Clara, California. I got excited. Of course, I was excited that another teacher wanted to give my lesson plans a shot in class. But I was even more excited that Santa Clara is only 10 minutes from my house (and on my way to work)! So I had to ask to drop by to see what his students were doing.

This morning, I signed in as a visitor at Santa Clara HS and stopped by Tom’s classroom. Check it out!

photo

Tom’s class 1

photo (1)

Tom’s class 2

 

Tom teaches digital media classes, and, as you can tell from his set up, his classroom supports his students well.

His 9th – 12th graders were working on two assignments. Some students were finishing up their Rube Goldberg machines, which they had to design, build and describe on their blogs. Other students had moved on to a physics experiment, roughly pulled from my lesson on forces using aerial faith plates. You can see Tom’s example experiment on the big screens.

In their experiments, students analyzed how high faith plates would launch cubes based on their masses and the forces of the faith plates. Tom instructed students to launch cubes of whatever masses they’d like by faith plates of whatever forces they want.

Students then recorded the maximum height of the cubes by employing the same alternating black and white panels strategy I use. Once they finished (probably in the next class?) students were to graph their results and, hopefully, start making predictions about how high cubes might fly.

Way to go, Mr. Perazzo’s class! Y’all are awesome!

Any other intrepid teachers out there? I’d love to hear what you’re up to!

Tagged , , , , , ,

Portal in High School

Jimmy Newland, a high school teacher in Houston, seriously takes the cake. He took with my physics lessons and recreated them better than I could have imagined in his physics classroom.

You have to check out his blog and hear his students talking about their experiments to fully appreciate the kind of learning that can take place when students get free reign to explore and learn inside a virtual world.

Here’s a sample of a student talking about his experiment in terminal velocity.

Great job, Jimmy! I’m incredibly happy to see that Portal helped make learning physics fun for your students 🙂

Tagged , , , , , , ,