# Computer science primers?

**URL:** <https://boards.straightdope.com/t/computer-science-primers/170249>\
**Category:** Factual Questions\
**Created:** [April 22, 2003, 4:28am UTC](https://boards.straightdope.com/t/computer-science-primers/170249 "2003-04-22T04:28:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![edwino](https://avatars.discourse-cdn.com/v4/letter/e/35a633/32.png) [@edwino](https://boards.straightdope.com/u/edwino)\
**Post date:** [April 22, 2003, 4:28am UTC](https://boards.straightdope.com/t/computer-science-primers/170249/1 "2003-04-22T04:28:20Z")

</div>

My PhD is quickly taking me away from molecular genetics and into computational genetics. This field is emerging (quickly) with the help of some heavy-duty computer science. Most of this computer science is the math behind search algorithms, tree design, comparison, etc. etc. I have been shocked to pull papers recently and see words like “Lemma” and “Proof” in it with weird mathematical symbols that make little sense to me.

I need to get a priming in computer science – the actual theoretical science behind it, not just programming in LISP and data structures and so forth. The actual O log N processing times and search techniques and so forth. So not the easy stuff.

My background:  
I haven’t taken math since I was a freshman in college (10 years ohmigod that’s the first time I’ve actually done the math cripes I need to get out of school), but it was linear algebra and diff equations back then. I suppose I could dig up those textbooks and relearn the stuff, which I probably need to do. I also used to be quite the programmer – my first publication comes from a heart function analysis program I wrote for a paper. 19,000 lines of Pascal later, I had a publication. (Yeah I know it could have been done in 2000 lines of C, I programmed C at the time but I was rewriting preexisting source). But I haven’t programmed seriously in 7 years, and I have forgotten nearly all the C I once knew and definitely forgotten all of the C++ and Java that I ever taught myself.

I am in need of good textbooks – the science and math of computer science, especially search stuff. So all of you hardcore computer types let me know. I’ll reciprocate with a good protocol for overgo probing of a high density BAC array.

---

<div class="post-metadata">

**Author:** ![Carcosa](https://avatars.discourse-cdn.com/v4/letter/c/b3f665/32.png) [@Carcosa](https://boards.straightdope.com/u/Carcosa)\
**Post date:** [April 22, 2003, 4:57am UTC](https://boards.straightdope.com/t/computer-science-primers/170249/2 "2003-04-22T04:57:45Z")

</div>

If I understand you correctly, I think Donald Knuth’s The Art of Computer Programming might be what you’re looking for.

---

<div class="post-metadata">

**Author:** ![Shalmanese](https://avatars.discourse-cdn.com/v4/letter/s/45deac/32.png) [@Shalmanese](https://boards.straightdope.com/u/Shalmanese)\
**Post date:** [April 22, 2003, 5:03am UTC](https://boards.straightdope.com/t/computer-science-primers/170249/3 "2003-04-22T05:03:19Z")

</div>

If you find the Knuth a bit too deep for you the first time, you might want to cut your teeth on Algorithms by Sedgewick. Its like mini-Knuth :).

---

<div class="post-metadata">

**Author:** ![Urban\_Ranger](https://avatars.discourse-cdn.com/v4/letter/u/e9c0ed/32.png) [@Urban\_Ranger](https://boards.straightdope.com/u/Urban_Ranger)\
**Post date:** [April 22, 2003, 5:04am UTC](https://boards.straightdope.com/t/computer-science-primers/170249/4 "2003-04-22T05:04:37Z")

</div>

> [@](#):
>
> \*Originally posted by edwino \*  
> The actual O log N processing times and search techniques and so forth. So not the easy stuff.

Com’on, that’s the easy stuff to me. 😃

> [@](#):
>
> _Originally posted by edwino_  
> I haven’t taken math since I was a freshman in college (10 years ohmigod that’s the first time I’ve actually done the math cripes I need to get out of school), but it was linear algebra and diff equations back then.

You need discrete maths the most. Pretty much all the searches and stuff are based on that.

---

<div class="post-metadata">

**Author:** ![KoalaBear](https://avatars.discourse-cdn.com/v4/letter/k/e47c2d/32.png) [@KoalaBear](https://boards.straightdope.com/u/KoalaBear)\
**Post date:** [April 22, 2003, 1:26pm UTC](https://boards.straightdope.com/t/computer-science-primers/170249/5 "2003-04-22T13:26:45Z")

</div>

I like [Robert Sedgewick’s](http://www.cs.princeton.edu/~rs/) books. I’ve read Algorithms and Algorithms in C, which I would also characterize as “Knuth Lite,” but perhaps more relevant he’s also written a book called [An Introduction to the Analysis of Algorithms](http://www.awl.com/cseng/titles/0-201-40009-X) which I would recommend sight unseen based on the quality and accessibility of his writing.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [April 22, 2003, 2:18pm UTC](https://boards.straightdope.com/t/computer-science-primers/170249/6 "2003-04-22T14:18:30Z")

</div>

You need Cormen et al., _Introduction to Algorithms_. It’s really big, but there’s no fluff, and there’s a lot of stuff that you can just take right out of there and use. It’s a really useful reference.

There are also CS books geared towards bioinformatics. [This one](http://www.amazon.com/exec/obidos/tg/detail/-/0521585198/ref=cm_wl_ovu-pg.2-pos.4/002-9264367-8450411?v=glance&coliid=I3J4B1LNZ56IGU&me=ATVPDKIKX0DER) looks pretty good.

Between those two, you should have a decent start. You’ll probably also want an introductory discrete math book–they’re a dime a dozen, so head on over to [Dover](http://www.doverpublications.com) and find a cheap one.
