7 ms·
Computer Science students: Learn to write
- iterationx 15y agoPoor 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.
- michaelpinto 15y agoNot 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.
- knowtheory 15y agoI 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.
- Xurinos 15y agoThis should read "Humans! Learn two write" Was this intended to be ironic? :)
- knowtheory 15y agoOh man. i totally missed that. No, i'm functioning on about 2 hours of sleep. I was attempting being extra-diligent for typos, and managed to miss that one.
- spodek 15y agoIsn't there a law like Godwin's but different that says someone correcting someone else's grammar will have grammatical errors?
- bartonfink 15y agoMuphry's law.
- mistermustard 15y agoThat would be Muphry's law: http://en.wikipedia.org/wiki/Muphrys_law http://en.wikipedia.org/wiki/Muphrys_law
- adestefan 15y agoI 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 15y agoFreshman 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.
- wccrawford 15y agoHe goes through all that and still doesn't actually present a case for his argument? Guess he really is still learning to write.
- hello_moto 15y agoTechies need to learn more than just programming. This isn't sarcasm.
- pjscott 15y agoOr, more generally: humans need to learn more than just one field.
- seagaia 15y agoI 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!
- geetarista 15y agoI 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.
- ben1040 15y agoSome 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 15y agoWhile we are talking about diplomacy: You can also start join a game of play by mail Diplomacy.
- jimminy 15y agoSite is having database issues. Cached Version: 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 http://webcache.googleusercontent.com/search?q=cache:W4_uDOQ...
- pigbucket 15y ago>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 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.
- abiekatz 15y agoThanks for the offer. I think having a quality editor critiquing your work is key to improving your writing ability.
- jergason 15y agoYou 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 15y agoThanks 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.
- ZoFreX 15y ago
- wdewind 15y agoWhen 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.
- ThomPete 15y agoI love your comment and would love to get it elaborated a little. Can you give an example of what you mean?
- wdewind 15y agoIf you are writing a sorting algorithm there will be a lot of math as in equations involved. If you are writing a complex model, while it is ultimately math, it has more in common with the skills required to write a great essay than it does with the skills required to do complex calculus. A great essay is understandable on multiple levels of detail: if you read just the introduction you should get a sense of what is going to happen in the essay. If you want a more detailed explanation of what exactly happens it should be contained in a logical place later on in the essay. The body paragraphs should reference the structure of the introduction and they should contain those arguments in more detail. If you are writing a particularly large body of writing you might need a more expansive structure: chapters, maybe even multiple volumes etc. The same should be true of your application. If I read the main file of it I should get a basic idea of what is going to happen. If I want more detail I should be able to understand clearly where to look for the detail I want.
- mtogo 15y agoGiven 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.
- losethos 15y agoHave something to say, first. Endless blogs full of non-experts bloviating. Every 23-year-old programmer feels compeled to give advice on programming. I've even seen plenty give advice on hiring, or running a business. Harmless, I suppose. I don't care how you write as long as you have something to say. The world is the opposite of English class -- shorter, the better, like programming.
- blahblahblah 15y agoI 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 15y ago> 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.
- Aga 15y ago"Fuzzy concepts that defy precise definition" are part of everyone's daily work so its better to learn how to deal with them. In a normal job, you won't use your skills only for writing official documents but also for writing numerous mails, info-files and participating in chats and online discussions during the day. How well these are written will have a huge impact on the receivers ability to figure out what you are after. More then often the things discussed are not scientific facts.
- ThomPete 15y agoA 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.
- jamieb 15y agoI 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 15y agoError 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.
- sid05 15y agoIsn'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 15y agoIt 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.
- Jach 15y agoIf 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.
- eru 15y agoPractice is good. But please stay away from Strunk & White. (See e.g. http://en.wikipedia.org/wiki/The_Elements_of_Style#Criticism http://en.wikipedia.org/wiki/The_Elements_of_Style#Criticism for some criticism.)
- deleted 15y ago[deleted]
- mkr-hn 15y agoStrunk 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.
- joshaidan 15y agoI 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 15y agoSince I will not be enrolling back in University any time soon, can anybody recommend a decent online resource I could use?
- hack_edu 15y agoAfter 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.
- InclinedPlane 15y agoYes! 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 15y agoI would upvote this twice if I could.
- ilamont 15y agoI 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 15y agoPeople 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).
- emit_time_n3rgy 15y agoVideo: Ray Bradbury (2001) 'teaches' the art of writing http://www.learnoutloud.com/Free-Audio-Video/Literature/Contemporary-Literature/An-Evening-with-Ray-Bradbury/19494 http://www.learnoutloud.com/Free-Audio-Video/Literature/Cont...