
Why this woman dropped out of Temple’s computer science program - jkestner
http://technical.ly/philly/2015/05/12/computer-science-dropout-becca-refford/
======
jasode
The journalist wrote from the perspective of the "computer science" curriculum
being "wrong" or "not relevant" to real world skills those students wanted to
learn.

However, the other perspective the journalist could have explained was that
the students _misunderstood_ what a "computer science" degree _actually is_.
The Computer Science curricula grew out of the Mathematics department. That's
why it has classes on topics like automata, algorithms, proofs and theorems.
Studying those topics will seem very irrelevant when they notice other
Javascript programmers earning $100k to make HTML elements blink on and off.

These students were really wanting a "programming" curriculum. Maybe "software
engineering" instead of "computer science".

A person who wants to repair car engines could try for a degree in "mechanical
engineering". There's no doubt the mechanical engineers who work at
Ford/Toyota/BMW can replace a spark plug and change the oil but there will
many theory classes that won't feel relevant to the daily work of a garage
mechanic.

~~~
the_af
100% agreed! This paragraph is telling:

"For example, Temple’s computer science program still requires Calculus 1 and
2. It turns a lot of students off and isn’t really necessary to become a
developer, Shi admits. These aren’t problems specific to Temple, he said. They
plague most computer science programs."

There. Calculus may not be necessary to be a web developer (then again, I
suspect even then it is, at least for some cases), but the purpose of a
_Computer Science_ education is not "to become a developer". What this person
actually wanted was a programming school, and was disappointed when she didn't
get exactly that.

~~~
jowiar
You seem to be blaming the student.

Did I know as a 17-year-old applying to college what the hell the difference
was? No. Did I study CS? Yes. Was it the right decision? Probably not (though
I did stay in it). And I had about every advantage in the world of being
exposed to programming from when I was 5 or 6.

Maybe the craziest part of the US college system, and technical fields in
particular, is that most people don't know what's available, and don't know
what they're applying for, all the while they go somewhere between the cost of
a car and a house into debt.

~~~
TTPrograms
If one is not prepared to take an active role in identifying their course of
study and desired path of education I would suggest that that person should
wait to go to college.

Not that anyone does.

~~~
Iftheshoefits
That's an incredibly privileged point of view. It is not frequently the case
that students with the apitutude for college have the support they need from
family and relevant experts at school to engage in the kind of thoughtful
deliberation you suggest.

~~~
TTPrograms
It certainly doesn't take any more support or resources then attending college
does...

~~~
jkestner
It does take more support from family and counselors, because it's swimming
against the current. It's easy to jump right into college when everyone's
drilled it into your head that you need to go, regardless of your particular
personality/goals/stage in life.

~~~
TTPrograms
That effect to not go against the grain should be more extreme in communities
where 99.9% of students attend college.

Regardless, the issue isn't to pick your path exactly before you go. The point
is to be prepared to dedicate some marginal effort to it either at the
beginning or before.

You really think it's on the schools to tell students what they should learn
or what degree they should get? Certainly people have different amounts of
support going into it, but we can't just keep pushing the age of personal
responsibility further and further out. To absolve underprivileged young
adults of these key steps in life is not only harmful to their personal
development, but I'd argue personally insulting to their potential as
independent adults.

~~~
jkestner
> You really think it's on the schools to tell students what they should learn
> or what degree they should get?

No, not me. I agree with you that we've pushed the age of adulthood too far
out.

But when the mistake you learn from comes with crippling debt, it is on us to
guide kids to make low-consequence mistakes before the big ones. That's why I
suggest we encourage more real-world exposure with internships, co-op
programs, shitty jobs first. We need to foster the environment that allows
kids to actually critically think about their future instead of shoving them
towards it, and we need to practice the meritocracy we preach by looking past
degrees to hire people.

------
fintler
_" Many of her friends in their third and fourth year in Temple’s computer
science department haven’t written a line of code outside of basic Java, she
said."_

Temple CS '08 grad here. They had us writing C, lisp, and x86 asm (simple
multiple precision arithmetic) in the first year. I think she's exaggerating a
bit.

Java was introduced in the third and fourth years when they started on higher
level data structures and abstractions.

~~~
Goladus
Yes, it is a poor article by traditional standards. It appears the writer did
no research at all other than her interview with the department chair (who
conveniently appears to agree with the narrative, although it's hard to say
whether quotes are taken out of context)

edit: ps, where are the press hits in this article?
[http://www.paulgraham.com/submarine.html](http://www.paulgraham.com/submarine.html)

------
DIVx0
Student wants to learn the vocational art of programming, discovers Computer
Science is not about programming, drops out. Sounds like everything went the
way it should have.

I majored in CS and there were no end of students complaining about discreet
math or analyzing algorithms when all they wanted was to learn what ever the
hot language was at the time.

Schools don't need to change CS programs, they need to better market an
alternative software development curriculum.

~~~
Goladus
_Student wants to learn the vocational art of programming, discovers Computer
Science is not about programming, drops out._

If you read more closely, you'll see that's probably not what happened. She
didn't drop out because computer science isn't about programming, she dropped
out because she had no self-motivation and no real direction. She found the
college environment difficult and boring and she found her advisor useless.
She was far more enthusiastic about working for the (likely) charismatic,
inspiring leaders at Techgirlz.

------
protomyth
Shouldn't they create a Software Engineering program and then leave Computer
Science alone?

~~~
autokad
then nobody, like almost nobody would major in computer science.

the article started off as a good look at where computer science is / needs to
go and then disintegrated into a 'why aren't there more women engineers?'
ok... why aren't there more women garbage men? erm, garbage people?

anyways, I think computer science programs have come a long long way since the
early 2000s. I think the major thing computer science majors have to know is,
your education that you pay for will not be enough to succeed. you MUST be a
autodidact and teach yourself what is important for the specific thing you
want to do when you graduate.

~~~
awkward
I had the option of a BA in computer science (sans some science and math
requirements, plus more humanities requirements) and a BS in computer science.
I took the BS, because it seemed like the BA was a "lighter" degree.

I think you're underestimating what 18 year olds are willing to put themselves
through.

------
Goladus
_Many of her friends in their third and fourth year in Temple’s computer
science department haven’t written a line of code outside of basic Java, she
said._

What. You can't just make a claim like that without justification. In 5
minutes of search, I found a "sample course sheet," for a Junior CS major,
where the fall semester recommends "CIS 3238 Software Design [1]. One
syllabus[2] is available from a professor's website[3], and includes this
project description:

 _The goal of the project phase of this course is for students to gain
experience in contributing to an open source project. The nature of the
contribution may be to contribute an enhancement or to fix an open problem.
Students may work alone or in a team of up-to 3 students. While project work
will be concentrated to the last half of the course, you need to select the
project early and join the developer’s mailing list._

If you are a computer science major and are not writing code, there should be
some explanation. A journalist should try to find answers to those questions.

[1]
[http://www.temple.edu/cis/undergraduate/undergradcs/CS_BS.ht...](http://www.temple.edu/cis/undergraduate/undergradcs/CS_BS.html)

[2]
[http://www.cis.temple.edu/~wolfgang/CIS%203238%20Software%20...](http://www.cis.temple.edu/~wolfgang/CIS%203238%20Software%20Design.pdf)

[3]
[http://www.cis.temple.edu/~wolfgang/](http://www.cis.temple.edu/~wolfgang/)

------
jsnk
The Perils of JavaSchools by Joel Spolsky
([http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...](http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html))

------
wyager
If you just want to be a code monkey, you probably don't need to go to
college. You don't need a college education to build web pages.

If you want to do anything more interesting than that (AI, embedded systems,
HPC, etc.), then college may prove useful.

Also, this person's experience of barely programming by senior year is highly
atypical. Many CS colleges today don't even have pure theory courses until a
few years in.

------
rplst8
CS programs at American universities run the gamut. A well balanced CS program
will teach fundamentals/theory and also application of that knowledge. Perhaps
Temple's CS program is heavy on the theory in the early years (or even through
all levels). That does not mean that CS or even this specific CS program is
not relevant, and I'd go as far as saying "extremely relevant" to creating
software.

I see many folks who graduated with a degree in something other than CS that
do well in the software industry. That said, I also see fundamental mistakes
made frequently in the design and architecture of software (and I'm not
talking about ignoring common design patterns). For relatively small sizes of
N this is not a problem, but once something needs to scale (which is often the
case if your creation becomes successful) then the proverbial fit hits the
shan. A CS degree doesn't necessarily _solve_ this, experience plays a large
part too.

I think someone who is not yet a member of an industry dismissing a curriculum
out of hand is pretty foolish though.

------
Quizz
The process of learning to program is more vocational than lecture hall. Most
colleges and their deans don't get it.

~~~
tompccs
In my opinion, if you want to learn how to be a software engineer you should
take a degree in Software Engineering (which is a natural descendent of
Electrical Engineering). If you want to be a computer scientist then do a
degree in Computer Science (a natural descendent of mathematics). The problem
is that the courses in many universities are misleadingly named.

~~~
jawns
How do you see software engineers and computer scientists differentiated in
the job market? It seems like there's a ton of bleed.

~~~
JoeAltmaier
The computer scientist is theoretical. The software engineer is practical -
like the difference between a mechanical engineer, and a mechanic?

~~~
jawns
Right, I get that. But if you look at job listings and see one for "computer
scientist" and one for "software engineer," what sorts of things would you
expect to see under each listing's "required skills" and
"duties/responsibilities"?

~~~
JoeAltmaier
I wouldn't expect to see a job listing for a Computer Scientist at all. Except
maybe at Google? 99% of the market is writing code.

Maybe that's broken - more shops could sure use a good designer who
understands the complexity of problems. But I don't see designers very often,
and I've worked at dozens of places.

------
larrik
I've spent a lot of time helping to hire coworkers for a rather good remote
position, and having worked with the ones that passed all of our filters and
also accepted the position. It's still a bit early, but I've found that the
difference between someone who actually got a proper CS degree, and someone
who learned to "code" on their own is pretty stark.

The fact is that calculus, algorithms, data modelling, and the like are often
very relevant to programming once you are past the entry level positions.

~~~
erroneousfunk
I don't have a CS degree, but even in entry level positions, it crops up when
you least expect it. My company gathers data off of truck engines, with a data
sample every .3 seconds. The data samples contain things like instantaneous
"fuel rate," "vehicle speed" and other "rate" values. If the manager says to
me "erroneousfunk, I want the cumulative fuel usage values over time, in a
graph" I need to know that they're looking for the second derivative of the
fuel rate, and how to model and summarize that data in the database
appropriately for a fast processing and lookups across any combination of
companies/drivers/trucks/date ranges they can think of.

Voila! Calculus, algorithms, and data modeling!

Or perhaps I need a job title upgrade :-p

------
crimsonalucard
Yes computer science is "different" from software engineering, but not all
computer science curriculums are purely theoretical. At least in ucla, all
theoretical classes have several hands on labs. I finished UCLA as an
electrical engineer but the computer science courses I took taught me basic
skills that I needed to become a good programmer.

IMO, I think most university curriculums involve this sort of hybrid education
that involve labs/projects combined with theoretical lectures. I'm guessing
the type of courses taught in Temple are not the norm.

------
jwinkle
Women...

