First, a new house update: still getting settled, but happy. No internet yet at home, which is stressful for a few reasons, one being that my new class started and I haven’t been able to fully access the courseware. But, I’m in love with our new neighborhood and yesterday I discovered the Hillman City Collaboratory that has co-working space available (and so much other cool stuff that deserves a post of its own). I may head over there today and take advantage of their internet.
On to the class…
This week was the first of Foundations II: Python with Code Fellows, a highly anticipated sequel to what I considered a great Foundations I class. It is the same length (4 weeks, 16 hours total) but significantly more expensive that Foundations I.
- The class has an instructor who is building his own spin on already established curriculum. I was impressed with the instructor and thought “this is someone I can definitely learn from.” However, I get the impression that he is bogged down with previous course baggage and unprepared students: there were slides and homework assignments that referenced older github repositories and programs/installation instructions incompatible with the development environments we were encouraged to set up on our machines. I feel like this is someone totally capable of constructing his own vision for how to teach python, but other well-meaning people have been like “awesome! and here’s everything from the last class, make sure you teach that too…”
- This class, unlike others I have taken with Code Fellows, did not come with any assigned pre-work. (*Note, as I look at the class link, I am now seeing pre-work listed. This was either not shared or stressed prior to my class, or I missed it in the moving madness.) As a result (and because of some weird development environment in-fighting), we spent the bulk of the first week just trying to get everyone set up to learn — this could have been done in pre-work or better yet, a “class zero” mandatory set-up session *designed and led by the current instructor* (this is key). There was a lot of “well, just use the set-up you prefer…” when, no, I have no idea what I prefer: I am paying you to teach me, I will use the set-up that makes it easiest for that to happen, just be clear what you want me to do and I will do it.
- It’s a good thing I already know some Python, because if I did not, I would have found the first few content problems absolutely mind-boggling. Our first assignment is to write a program that purposefully throws errors (name error, type error, etc.). That’s a pretty high-level, abstract ask to be the absolute first work we do *in python*. It’s a very different approach than two other intro to python courses I’ve taken (and recommended). The in-class exercises were similarly, like, what are we supposed to be doing here? & again I wonder… how much of this is the instructor’s idea, and how much is someone telling him how he should structure the class.
I was so frustrated after Wednesday’s class that I considered going back to Code Fellows and asking to withdraw and for a refund for unused class time. However, I believe there is a way to make the class work for me. Here are some key lessons I’m taking into next week:
- Communicate and be assertive, I control my own time.
I had asked for help with a confusing github issue, and it led me down this loooong rabbit hole where a TA was trying to get me to revert a change even though he didn’t have all the information in front of him about how to do so and that’s not even what I wanted to accomplish. After 20 minutes of this, I *clearly* wanted to move on (I was near tears) but I didn’t come right out and say “look this isn’t working for me” and he totally misjudged how upset I was and how to proceed. A simple “is this helping?” would have opened the door for me to say “actually can we do this later.”
So now… I don’t even know. I’m truly hesitant about asking for help from him again. If I do and I find myself in a state where I’m unable to learn, I need to get out of there, because that experience threw me for the rest of the evening (and we’re entering a world where time = money).
- Be open to learning that happens outside the content.
All the development environment stuff *seems* like a distraction from the class content, but how much of actual programming takes place in that world? A lot, I’d imagine. Remembering that the class is Foundations of Computer Programing with an emphasis on python is helpful to keeping perspective here.
- I’m my own best teacher.
So it really does seem like there is a treasure trove of resources between all the materials from the last python class and all the materials from this one that we haven’t been able to cover during class time. I’m really looking forward to getting back into good study habits and being able to devote some real, unhurried time to the assignments and the resources (these, and a whole boatload of resources outside this class). The class is a path to the accelerator. The accelerator is a path to a career. As long as I have those basic benchmarks and know what objectives I need to accomplish, there’s any number of ways to learn the material and show mastery. Good use of class time is just a bonus.
I wish I had a better first week report, but there we are. I hesitate about blogging a less-than-positive review while the class is still going on, but I was not given an opportunity to provide feedback on the git workshop and I haven’t seen any indications that I’ll be invited to provide feedback on this class while it’s happening (which is a shame, because Foundations I did this every week). I’ll update as the class proceeds.
On a *bright note*, Mako and co. are offering another session of the Community Data Science Workshop, which is a MUST APPLY if you’re in Seattle and have been reading this blog and thinking “I’d like to take a stab at that myself.” This is the class that convinced me to pursue a career change to programming full-time. It is three Saturdays in April/May and they also need mentors — I am going to try to volunteer although it juts up perilously close to wedding time. The class is *extremely* well organized, and free, and open-source, and they do the whole “class zero” set-up session that I advocate for Code Fellows to adopt above.
If you are not in Seattle, it’s still worth exploring the web links. This is based I believe on a model from MIT & the idea is that there could be lots of these community data science workshops across the country to help expand programming literacy.
Off to find working internet (if you’re reading this, I found it)… did you miss me? I missed you!