
Computer Science students: Learn to write - drewr
http://www.xaprb.com/blog/2011/08/04/computer-science-students-learn-to-write/
======
pigbucket
> _I’ve seen a lot of what passes for excellence in high schools, and it’s not
> good enough._

I’ve encountered many brilliant students in college, with straight A’s through
highschool and stellar SATs, who cannot string three or four sentences
together into a coherent paragraph. I am now trying to realize a vision of a
Khan-inspired service for writers who are not getting the help they need from
school. This is probably not the time for a shameless plug, because my site,
as a site, still sucks, but if any student here wants free, quality reviews of
their writing projects, you can get them at <http://www.essayjudge.com>

I say “free,” and mean it, but if you want to abuse the service, then I may
ask you for a return favor in the form of development advice.

At present, you can submit writing quickly at the site using anon/anon as
uid/pwd, but for HNers who don’t want their writing and the attendant review
published, you can google-email me (bbquigley). No promises if I’m inundated,
except to try my best.

~~~
jergason
You sent me my password in the confirmation email in plain text. Please fix
this security hole ASAP by hashing the passwords.

Edit: The content looks great. Sorry, didn't mean to sound snarky, but that is
a scary first impression of the site. I have some more comments that I tried
to email to the contact email address, but my email was retured. Is there an
email I can use to contact you or someone at the site?

~~~
pigbucket
Thanks for the feedback. On my immediate to do list. No excuse, but I didn't
build the site, and the process of trying to fix its bugs since I took it over
while completely changing its focus has been especially onerous for me. Please
use my personal email in my comment above.

------
knowtheory
I don't normally comment prior to reading the post, but given a topic such as
this i feel obligated:

This should read "Humans! Learn to write"

CS students are not alone in this need.

The one course, more than any other, that taught me to write efficiently and
convey ideas clearly was my 400 level Philosophy of Mind course. We were to
write 1 page (double spaced) essays, weekly, on the papers we read. The class
argued our professor up to 2 pages.

When i received my first essay back, the full first page was crossed out. I
learned not to include any dithering or bullshit in my essays after that, one
page was almost exactly right. That was the point at which I really understood
the joke "I would have written you a shorter letter, but I didn't have the
time."

Edit: homophony: two -> to; in the most ironic spot possible.

~~~
adestefan
I went to a liberal arts school where everyone was required to take a 5 credit
freshman English course. I still remember "No BS" across the top of many
papers during that course.

~~~
pjscott
Freshman English classes were required where I went to school, too. Some
people _still_ couldn't write a coherent paragraph, even after passing all
their English classes.

------
wdewind
When I tell people I'm a programmer they always go "oh, you must be good at
math." The truth is that I'm pretty bad at math, but in terms of logical
syntax and parsing I am pretty good. Programming (especially high level modern
stuff) has much more to do with syntactical and epistemological skills than
math. I learned to program from writing.

~~~
mtogo
Given that all of computer science is based off of math at some level, i'd say
math is more important than you think.

Anyone can glue some APIs together[1] and make some kind of application, but
it takes some math skill to design and implement strong algorithms. Computer
science is not about syntax and semantics, it's about about algorithms and
data structures-- and if you're not good at algorithms and data structures, it
doesn't matter how good you are at memorizing Python syntax.

This is anecdotal, but every good programmer i know of has a strong math
background, or at least knows how _vitally_ [2] important math is to being a
good programmer. Incidentally, most bad programmers i've met put much more
weight on memorizing APIs and language semantics (e.g. Why do i need to know
the big-O running time of bubblesort? python has sort() built in!) than
learning math.

[1] And they do. You can find them on odesk and elance charging $10/hr and
blowing past deadlines, producing unworkable code.

[2] Seriously. I cannot stress this enough.

~~~
KevinMS
_Given that all of computer science is based off of math at some level, i'd
say math is more important than you think._

There's your problem right there. He isn't talking about computer science,
he's talking about actually programming.

Sad thing is, on HN, many more people will probably support your side.

~~~
SeoxyS
Agreed, the only Math I do in my daily programming is:

1) Drawing code. One recent example was an (animated) undefined progress bar
designed all in code I did last friday:
<http://akhun.com/seo/skitch/photo-20110805-195455.png>

2) Sorting, ranking and scoring algorithms. Eg. figuring out which ad to show
based on the average eCPMs, or which option to show based on a Quicksilver
fuzzy search algorithm.

Everything else is as grandparent condescendingly calls it, stitching APIs
together. Design patterns, data managements, doing all the little polish that
makes up a real app.

------
blahblahblah
I agree that many programmers need to work on improving their writing skills.
However, I disagree with the notion that the humanities department is suited
to providing an education in the kind of writing skills CS students need. The
humanities are full of fuzzy concepts that defy precise definition and the
writing styles associated with those fields tolerate a level of ambiguity that
is inappropriate for CS, engineering, or the physical sciences. If you really
want to learn to be a great writer capable of expressing CS concepts
unambiguously and concisely then a course in technical writing taught by
science/engineering faculty is what you need. An even better way to improve
your writing skills is to get involved in research and publish a paper in the
scientific literature. The "biggest pedantic miserable fascist sonofabitch"
editors you can find in the university are not in the humanities department.
They're the faculty in science and engineering whose livelihood depends upon
writing amazingly clear and concise documents that withstand the intense
scrutiny of NSF and NIH grant review committees, journal editors, and peer
reviewers who genuinely care about whether or not the experiments are
described unambiguously and in sufficient detail to enable others to replicate
the experimenter's results.

~~~
hack_edu
> The humanities are full of fuzzy concepts that defy precise definition

Perhaps its beside your point, but this is exactly what's most important about
learning how to write. There's a whole lot more that you learn by exploring
'fuzzy concepts' and non-precise systems. Approaching natural language like a
science or system is delusional at best. Reading and writing "amazingly clear
and concise documents" is just one way of using language as a tool.

------
InclinedPlane
Yes! Written communication is so important, especially so with collaborative
technical works.

Some tips: learn to state or restate a problem as a problem rather than an
unimplemented solution. Consider: "I need a faster horse which eats less food"
vs "I need a mode of transport which is faster and has less upkeep". This is
especially important when dealing with feedback and bug reports from users.
Learn how to extract the essential complexity of the problems they are facing
and don't become biased by the possible solutions they offer up.

Also, be as direct, concise, and clear in written communications (email
threads, commit messages, bug tracking comments, etc.) as possible. Make a
habit of listing and relisting assumptions and presumed findings. Make a habit
of summing up and distilling results, especially when new people are added to
a discussion or issue. This saves so much time and avoids so many missteps due
to ambiguity.

Additionally, teach yourself how to discuss technical topics without becoming
excessively emotionally involved. Address the technical issues, don't fall
into thinking that a criticism of your idea is an attack on you, learn to play
devil's advocate. Learn to progress toward the best possible technical
solution regardless of who had which idea.

~~~
lemming
I would upvote this twice if I could.

------
ben1040
Some of the most rewarding courses I took during my time in college were
writing courses, in both fiction and poetry. Definitely, it helped refine my
grammar and composition skills.

But the creative writing courses really provided a lot of other valuable
experience too. Having to put together a creative work involves parts of my
brain I never really used while coding -- it was sort of a challenge to put
aside the methodical, linear path I live in while programming and have to
imagine a world, then put someone in it, and have them do things that people
might want to know about.

The other nice thing about workshop-based writing courses is that you
generally read and comment on works written by your fellow students. You learn
new craft skills from reading their work for sure, but you also learn how to
give constructive criticism where it needs to be given.

This sort of diplomacy is something you need to practice in order to be good
at it. It will help you later when you're in a code review meeting at work and
you are the guy who can step up and say something more useful than "you're
doing it all wrong, that code sucks, and so do you."

~~~
eru
While we are talking about diplomacy: You can also start join a game of play
by mail Diplomacy.

------
ilamont
I have a one-word piece of advice for anyone who wants to learn how to write:

Blog.

Don't worry about which software to use, how to customize your template, or
how to promote your thoughts. Just find a service that lets you start writing
right away, and then start writing about what interests you or inspires you.

If you feel intimidated by formatting or structure, a trick that works well is
pretend you are writing an email to a friend, explaining to that friend
something that he or she may not understand very well. Real friends or
strangers may start to read your posts. How do they respond to your
presentation of facts, observations, and arguments? Use the feedback to tweak
your approach.

Your organization and "voice" may seem awkward at first, but regular practice
-- every day, if you can manage -- will help you develop your skills. After
100 hours you'll notice a big improvement. After 1000 hours, you will be well
on your way to being a master.

------
nazgulnarsil
People can't just learn to write. They write incoherently because they _think_
incoherently.

When I tutor children I ignore the topic they are having trouble with. I go
back to basics and teach them basic critical reasoning skills. Their
performance in everything skyrockets.

The fact that our society is failing at teaching children how to reason about
_basic decisions_ is cause for serious alarm. I'm looking forward to Eliezer
Yudkowsky's forthcoming book on how to think correctly (currently use How to
Solve It as a guide for teaching others).

------
geetarista
I can not emphasize how important this is. I skimmed my way through most of my
classes in college, dropped out, then became a self-taught developer. While I
do well as a developer, this is the one skill that I miss the most.

------
hello_moto
Techies need to learn more than just programming. This isn't sarcasm.

~~~
pjscott
Or, more generally: humans need to learn more than just one field.

------
jimminy
Site is having database issues.

Cached Version:
[http://webcache.googleusercontent.com/search?q=cache:W4_uDOQ...](http://webcache.googleusercontent.com/search?q=cache:W4_uDOQARdQJ:www.xaprb.com/blog/2011/08/04/computer-
science-students-learn-to-
write/+http://www.xaprb.com/blog/2011/08/04/computer-science-students-learn-
to-write/&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a&source=www.google.com)

------
michaelpinto
Not just CS majors — I'm an art school grad and after 20 years I'm amazed at
just how much writing my career has required of me. And it's not just writing
skills, but communication skills in general which includes public speaking and
presentation. And sadly I'll even add one more skill which you can't even
acquire in school — just having patience to do hand holding is more important
than I would ever have imagined.

------
ThomPete
A friend of mine went for a job interview in accounting. He almost didn't get
the job because they didn't think he wrote so well.

They basically said. The accounting part is the easy one but if you can't
write we can't use you.

It always struck me as a great insight. Almost no matter what level of
expertise one will acquire the ability to communicate is just so much more
important than we like to think.

------
Jach
If BS is a problem, the subject probably isn't interesting. If page minimum
lengths become requirements, expect lots of filler when students have said
everything that needs to be said in less than the required page length. (If
it's a maximum, expect highly dense paragraphs that, while containing lots of
information, lose their ease of communication and the endeavor of better
communication has been lost.) When weekly or daily writing becomes the norm,
expect quality to go down since there are many more important things and the
papers will be rushed. Nevertheless, Strunk & White + Practice = Success.
Getting people to pump out their first million words, which will inevitably be
crap, should be a goal of the educational system.

Clarity should rule above everything else, correct grammar included. This
encompasses the "What's the point?" question, since if there is no point, the
paper may be grammatically perfect but shouldn't be clear.

~~~
mkr-hn
Strunk is dead. He can't hurt you anymore. Move on with life and language.
It's best to leave the almost century old reference on the shelf and study
contemporary writing and references.

~~~
eru
Strunk & White was never good to begin with. Classic texts can stay good as
they age.

~~~
mkr-hn
I've got a writing reference from college that I refer to all the time. If the
paper holds out for 80 years I'm sure I'll pass it on to someone.

------
hack_edu
After a few quarters of CS and internships in the industry, I realized how
great opportunity it was to change majors in order to focus entirely on
writing within a superb Humanities department. The lack of a CS degree hasn't
stunted any bit of my work as an engineer, and having demonstrated writing
skills can only make you more employable.

------
seagaia
I would add more than just writing - as he touched on, all communication
skills. And yeah, definitely not for only computer science majors. Any person
needs to work on their verbal communication skills as well!

------
emit_time_n3rgy
Video: Ray Bradbury (2001) 'teaches' the art of writing

[http://www.learnoutloud.com/Free-Audio-
Video/Literature/Cont...](http://www.learnoutloud.com/Free-Audio-
Video/Literature/Contemporary-Literature/An-Evening-with-Ray-Bradbury/19494)

------
sid05
Isn't Technical Writing a required course for most CS/E curriculum anyways? I
know UF requires it. Although knowing it and applying it takes practice and
time.

~~~
jamesbritt
It was for me. I liked it so much I made tech writing my minor.

Oddly enough, my advisor thought that a CS + TW combo made no sense.

I ignored him, much to my benefit.

------
joshaidan
I believe writing an essay is the same as writing a program: you are trying to
express an idea, and organize your thoughts in a way others can comprehend.

------
IznastY
Since I will not be enrolling back in University any time soon, can anybody
recommend a decent online resource I could use?

------
iterationx
Poor CS students. People are always giving them advice, Learn more SQL, learn
functional programming, learn whats going on at the low level hardware,
contribute to open source, start a blog, get on github. I seem to remember
Computer Science is ranked as one of the hardest degrees, It certainly was no
picnic for me. Leave the poor kids alone.

------
wccrawford
He goes through all that and still doesn't actually present a case for his
argument?

Guess he really is still learning to write.

------
jamieb
I am having a negative emotional response to this post and I don't know why.
Is it because the author is a writer, and saying I should learn to write?

"You know what your problem is? You aren't like me."

~~~
jamieb
_Error establishing a database connection_

English Lit Majors: Learn to scale.

Or, "you know what your problem is, Mr Writer? you aren't like me".

Shit, maybe, instead of everyone learning everybody else's skills, we could
work _together_.

