

Ask HN: What should I teach at a boot camp? - smt88

I&#x27;m considering an offer to teach web-app development at a new boot camp. What concepts should something like that cover? (Length of course is somewhat flexible at the moment.)<p>I&#x27;m certain that &quot;learning how to teach yourself to code&quot; should be the top priority. No one is going to leave a boot camp with amazing skills, so they&#x27;ll need to know how to get better in their spare time.<p>Is it realistic to get into unit tests, functional concepts, basic Linux administration, etc.? What have other people&#x27;s experiences at boot camps been like (good and bad)?
======
MalcolmDiggs
It sounds like you're really trying to ignite in your students a passion for
this topic (so that their new passion will drive further inquiry on their
part).

To achieve that, I think you should just teach whatever you're really
passionate about. Show the students what it's like when you get to do what you
love; your genuine interest in whatever-that-topic-is will shine through to
the students, and hopefully show them the way.

You're not gonna prepare them for a career in a few weeks; I don't think
that's a healthy goal; but you _can_ inspire them! Shoot for that!

~~~
smt88
That's great advice! Thank you.

------
monroepe
Focus on helping them to build stuff and answering their own questions. Yes
that other stuff is important, but unrealistic in a bootcamp. They need to
leave being able to build something.

~~~
smt88
> _Focus on helping them to build stuff_

I'm considering two options: 1) they all build the same app, or 2) they each
build a different app, and we discuss individual's problems/solutions as a
group.

My thinking with #2 is that it'll be more interesting and motivating, and
we'll uncover more real-world scenarios that way.

What do you think?

~~~
monroepe
Everyone building a different app is a good idea depending on how far along
they are. But early on I would have them make the same or a similar app.

------
brudgers
What research have you done on the pedagogy of computing?

What methods does that research suggest might be successful when applied to
web programming?

What pedagogical methods might be difficult to apply?

How will likely demographics of the cohort influence pedagogical methods?

What has worked successfully for you when leading learners in the past?

~~~
smt88
I can't tell if this is sarcastic, so I'll just respond genuinely.

> _What research have you done on the pedagogy of computing?_

I haven't done research on the pedagogy of computing because I'm not teaching
computing. I'm basically being asked to teach someone how to build a
birdhouse, but it's marketed as "carpentry boot camp".

As far as Google has told me, there's been very little inquiry into the
success or failure of CS education, outside of the attraction and retention of
minorities. How do you even quantify a successful CS education? Income?
Satisfaction? I wouldn't trust any metric that you could possibly quantify
with the information that's reasonably available (grades, salaries, and
surveys).

Even if this research were done, it wouldn't have been done specifically about
web programming, which is just totally different from "computer science" in a
lot of ways (mainly in how much abstraction there is between the programmer
and the underlying system).

So this is my first real stab at doing research: asking people on HN how boot
camps have gone for them, what has worked, and what hasn't.

~~~
brudgers
The PLT group and particularly Matthias Felleisen have been engaged in
computer pedagogy for several decades.

[http://www.ccs.neu.edu/home/matthias/](http://www.ccs.neu.edu/home/matthias/)

Dr. Chuck is another person with an informed opinion.

[http://www.dr-chuck.com/](http://www.dr-chuck.com/)

That said, I wouldn't discount the experience and opinions of professional
trainers such as Kathy Sierra or people like Zed 'The Hard Way' Shaw.

[https://en.m.wikipedia.org/wiki/Kathy_Sierra](https://en.m.wikipedia.org/wiki/Kathy_Sierra)

The drop dead serious point is pretending that web programming is a snowflake
looks a bit like an excuse for less than rigorous research and a rather
dismissive attitude toward professional pedagogical practice.

Of course that's not to suggest that hopping on the boot camp gravy train is
not a better business decision the closer the investment in excellence aligns
with the absolute minimum requirements of getting paid.

How much concern a teacher has over their students' successes is a matter of
taste.

Good luck.

~~~
smt88
Thanks for the advice and links! I always appreciate when a stranger takes
time to help me.

I'm going to check out the Felleisen stuff, but my concern is that it's so
much more academic than anything I'll have time to do. The difference between
what I'm doing and a college class is that I don't have time to lay
groundwork. I can't explain how much of the underlying systems work, even
though I think it's really important.

That might seem like I'm taking issue with the concept of a boot camp, but
it's actually the opposite. I want to prove, at least to myself, that a boot
camp can be truly valuable and provide long-term education value. That means
teaching modeling, good habits, and good practices more than teaching how the
stack works.

> _pretending that web programming is a snowflake looks a bit like an excuse_

I don't think I made my point clearly. Beginning web programming (at least in
Ruby, Python, PHP, and Node) doesn't require an understanding of many
underlying concepts that you'd need to know to write in, say, C. By the time
you need to know how the compiler optimizes things, how memory is allocated,
or when to fork vs. spawn, you're probably beyond the scope of a boot camp
(and hopefully dealing with lots of traffic!)

The core of the problem isn't that I'd be teaching web programming. It's that
I have very limited time, and while not much of the concepts are complex,
there's too much to cover in even a year of classes.

> _dismissive attitude_ > _hopping on the boot camp gravy train_ > _matter of
> taste_

Since I do appreciate your advice, I'll give you some.

You seem to enjoy helping people on HN, just like I do. That's what motivates
me to teach: I love helping people, especially to do something I think they'll
enjoy (and can make them more financially stable).

On HN especially, I often perceive two motivations for helping: to genuinely
share knowledge and experience, or to feel superior. Sometimes these are
intermixed a bit, of course.

If your goal is truly to share your knowledge and experience, then you
shouldn't taint it with the implied judgments, presumptions, and condescension
that I've highlighted above. If your goal is, instead, to feel superior, then
I hope this is fulfilling you in whatever way you're not intrinsically
fulfilled.

And, on a related note, I'm not going to study anything Zed Shaw says about
anything because his online persona is repugnant. It may be my own bias, but I
don't trust the suggestions of a teacher who acts like a spiteful child on the
internet and takes pleasure in verbally attacking others. I've never heard of
a great teacher who behaved that way -- in fact, my great teachers have all
been incredibly patient, kind, and magnanimous.

~~~
brudgers
I have far more interest in helping the students than for helping you find
excuses not to approach teaching as a profession in itself, and I get the
sense if I mentioned Maria Montessori or John Dewey the response would be,
"But they weren't teaching web programming at a boot camp."

Learning about pedagogy will help you prepare a better curriculum. That will
serve your students better than the alternative.

Don't get me wrong, there's nothing wrong with someone just being in it for
the money. But my interest is not in helping people rationalize what is fully
legal but ethically slides down slope towards a make-a-buck-scam. And that's
what comes to mind when I see "bootcamp" these days to a first approximation.

Sure, I think there are some reasonably good bootcamps. I don't think they
correlate with hiring people with no training experience and little interest
in developing knowledge in the pedagogical practice. Maybe you will make this
one exceed my naive expectations. At least that's my hope.

Zed Shaw has a strong background in the pedagogy of situations where people
die from mistakes. He takes teaching seriously in accord with that experience.
That leads to some admirable traits and some that are less so. Being rude
doesn't make someone wrong, though sometimes it just makes someone a dick.

~~~
smt88
I now understand the motivation behind your tone, and I think it's very noble.
If this boot camp isn't valuable to the students, it would violate my own
ethics to do it.

My original question wasn't about how to teach, but about _what_ to teach.

As for the "how", your points are all well taken, and I will give Shaw's work
a look after all. It can't hurt.

I come from a family of professional teachers and have no intention of
diluting the meaning of teaching. At the same time, the people who join boot
camps are obviously looking for something less time-consuming than a full
degree program, while still valuable. I know I can provide that (and have
taught web languages before).

~~~
brudgers
The what of teaching is the curriculum. Zed Shaw's skill is in developing
curricula. That comes from a careful attention to the how, not the what. Hence
the multiple curricula. His interview on Hanselminutes is a great place to
start: [http://hanselminutes.com/407/learning-code-the-hard-way-
with...](http://hanselminutes.com/407/learning-code-the-hard-way-with-zed-
shaw)

I'm not suggesting Zed Shaw as the end all and be all. Kathy Sierra's approach
is an alternative (though requiring more effort to implement):
[http://www.objectsbydesign.com/books/KathySierra.html](http://www.objectsbydesign.com/books/KathySierra.html)

In the end, the focus shouldn't be on teaching what you know, but the relevant
part of what you will know after rigorous preparation. The big question isn't
about whether the students will all work on a standardized project or one of
their own choosing. The big question is what specific knowledge, skill and
ability that project must reflect.

------
mercnet
I recommend teaching them web app security (CRSF, SQL injection, etc).

