Steven Skiena
Author of The Algorithm Design Manual
About the Author
Steven Skiena is Professor of Computer Science at the State University of New York at Stony Brook
Image credit: Copyright © Prof Steven Skiena. All rights reserved.
Works by Steven Skiena
Tagged
Common Knowledge
- Legal name
- Skiena, Steven Sol
- Birthdate
- 1961-01-30
- Gender
- male
- Education
- University of Illinois, Urbana-Champaign
University of Virginia - Occupations
- computer scientist
university professor - Organizations
- Stony Brook University
- Nationality
- USA
- Associated Place (for map)
- USA
Members
Reviews
Skiena is incredible!
I'll be upfront that I'm a pragmatist as a programmer. I some actual training in data science and machine learning, which is arcane enough on it's own, and a few years experience to call myself Good With Pandas, but the thing about being an autodidact solving a limited set of business problems in Python is that you miss the big picture. In a mature ecosystem like Python, a lot of the time the right answer is just "pip install magiclib. from magiclib import incantation. show more bar = incantation(foo)" Except sometimes magiclib doesn't exist yet. At the end of the day, computers are all Turing machines, they all solve the same sets of problems, but some approaches are algorithmically tractable, and some will leave you lost in the Swamp of Sadness.
Artax has been asked to solve a large NP complete problem
For someone who's never taken CS101, this book an eye-opener into the hows and whys of basic data structures like linked lists, trees, hash tables, and arrays, as well as sorting techniques and more advanced practices like dynamic programming. Clear explainers are interspersed with practical war stories, where Skiena explains how he applied the technique just discussed to solve a previously intractable problem.
Cracking the Coding interview is a series of dog tricks. The Algorithm Design Manual is actual knowledge. It's been a great guide to actually thinking like a professional, even if most of the day job is data plumbing. show less
I'll be upfront that I'm a pragmatist as a programmer. I some actual training in data science and machine learning, which is arcane enough on it's own, and a few years experience to call myself Good With Pandas, but the thing about being an autodidact solving a limited set of business problems in Python is that you miss the big picture. In a mature ecosystem like Python, a lot of the time the right answer is just "pip install magiclib. from magiclib import incantation. show more bar = incantation(foo)" Except sometimes magiclib doesn't exist yet. At the end of the day, computers are all Turing machines, they all solve the same sets of problems, but some approaches are algorithmically tractable, and some will leave you lost in the Swamp of Sadness.
Artax has been asked to solve a large NP complete problem
For someone who's never taken CS101, this book an eye-opener into the hows and whys of basic data structures like linked lists, trees, hash tables, and arrays, as well as sorting techniques and more advanced practices like dynamic programming. Clear explainers are interspersed with practical war stories, where Skiena explains how he applied the technique just discussed to solve a previously intractable problem.
Cracking the Coding interview is a series of dog tricks. The Algorithm Design Manual is actual knowledge. It's been a great guide to actually thinking like a professional, even if most of the day job is data plumbing. show less
A good introductory book to statistical analysis data mining data science. This is clearly aimed at students - the Coda at its conclusion exhorts the reader to now get a data science job (no thanks, got a real job already), and there is an expectation in the word-frequency discussion that the reader has never encountered the word defenestrate (ha! just last week I had to defenstrate an intruder!).
It's always good to get Skiena's take on things -- I've read three or four of his books now -- show more and this one is no exception. The statistical-learner stuff is linked more closely to standard CS topics (e.g. algorithmic complexity) than in most other texts, and the overview of linear algebra is really quite good.
The only real downside is that it doesn't do what is says on the tin. Unlike The Algorithm Design Manual, this isn't presented as a taxonomy of data science methods with a briefing of when and how each should be supplied. More's the pity, as that particular book is sorely needed - even in this one, Skiena points out that most researchers become comfortable with one approach and use it for everything, rather than testing alternate approaches on new problems.
Instead, it's a standard Introduction to Data Science textbook with chapters devoted to topics of increasing complexity/sophistication. Well-written, often entertaining, with an excellent selection of exercises (including many Kaggle challenges and some publicly-available datasets - precisely the sort of project that a beginner needs to get their feet wet). show less
It's always good to get Skiena's take on things -- I've read three or four of his books now -- show more and this one is no exception. The statistical-learner stuff is linked more closely to standard CS topics (e.g. algorithmic complexity) than in most other texts, and the overview of linear algebra is really quite good.
The only real downside is that it doesn't do what is says on the tin. Unlike The Algorithm Design Manual, this isn't presented as a taxonomy of data science methods with a briefing of when and how each should be supplied. More's the pity, as that particular book is sorely needed - even in this one, Skiena points out that most researchers become comfortable with one approach and use it for everything, rather than testing alternate approaches on new problems.
Instead, it's a standard Introduction to Data Science textbook with chapters devoted to topics of increasing complexity/sophistication. Well-written, often entertaining, with an excellent selection of exercises (including many Kaggle challenges and some publicly-available datasets - precisely the sort of project that a beginner needs to get their feet wet). show less
A pretty good resource and one of the better books on the subject, in my opinion. However, many describe it as "introductory" algorithms, and I'm not sure I totally agree. Unless you already posses a solid foundation in related areas, a newbie will often find it hard to walk into this and immediately understand it. And maybe some will say that would be unrealistic, and I would be one of those. However, I actually have heard and seen others say exactly that, and again, I don't agree. show more Nonetheless, a pretty good book and solid resource. Recommended. show less
This book is showing its age -- although the algorithms are solid, I find it unlikely that the author would make it through a modern technical interview. Software engineering has evidently come a long way in 15 years.
Lists
You May Also Like
Statistics
- Works
- 6
- Members
- 1,091
- Popularity
- #23,545
- Rating
- 4.2
- Reviews
- 7
- ISBNs
- 32
- Languages
- 3
- Favorited
- 1












