I wonder about the utility of an exam that one can ace with five minutes of googling.
The software development final exam: Algorithms and Data Structures
21–30 of 208 posts
Re: The software development final exam: Algorithms and Data Structures
#22Earlier quoted context omitted.
Yes, this is CompSci, not software engineering
Then perhaps the author shouldn't be presenting them as practical issues, and claim that people who don't know the answers either shouldn't be programmers, or work in some tiny niche. You read the context article he linked to, right?
Re: The software development final exam: Algorithms and Data Structures
#23"If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter." [1] I'm a self-taught front end web developer who didn't have a traditional computer s…
For OS's, Tanenbaum (http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenb...) is popular.
'Math' is broad - if I can recommend only one book to cover all of Math I'd probably say 'The Road to Reality' (http://www.amazon.com/The-Road-Reality-Complete-Universe/dp/...). More practically (for the subset of math most programmers are likely to care about), you'll do fine with one good discrete math book and one linear algebra book. Throw in one each on Stats, Abstract Algebra, Calc (up to ~diffeq), and Real Analysis (in roughly that order) if you're a bit more ambitious ;-)
Re: The software development final exam: Algorithms and Data Structures
#24I wonder about the utility of an exam that one can ace with five minutes of googling.
Re: The software development final exam: Algorithms and Data Structures
#25@cperciva - you're right, I can't answer those off the top of my head like I could 15 years ago when I studied it. I don't think that's a problem with the exam system though; I could probably have answered them 12 years ago. It's just related to the field you end up in and how much you need to lean on that knowledge in your day to day job. As it stands, given a couple of hours of reading, I'd easily be able to refres…
As I wrote in my introductory post, I have needed to know most of these things in my day-to-day job. Of course, it depends on what sort of work you're doing.
And, since I'm asking already, I'd also like to know why you needed to know the information "on-the-fly" and couldn't have gotten there almost as easily with a quick refresher.
For example, I don't remember all the heap operations by heart but, if I needed to select a data structure for a critical task, I would go fetch Cormen and Skiena (the books, not the people) and get a quick refresher.
Re: The software development final exam: Algorithms and Data Structures
#26Earlier quoted context omitted.
Yes, this is CompSci, not software engineering
Then perhaps the author shouldn't be presenting them as practical issues, and claim that people who don't know the answers either shouldn't be programmers, or work in some tiny niche. You read the context article he linked to, right?
If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter.
The reader can judge for themselves whether this is claiming that "people who don't know the answers shouldn't be programmers." I personally find that characterization rather rude toward the author.
Re: The software development final exam: Algorithms and Data Structures
#27"If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter." [1] I'm a self-taught front end web developer who didn't have a traditional computer s…
Algorithms and Data Structures:
http://www.amazon.ca/Introduction-Algorithms-Thomas-H-Cormen...
http://www.amazon.ca/Algorithms-4th-Robert-Sedgewick/dp/0321...
Computer Architecture and Operating Systems:
http://www.amazon.ca/Computer-Architecture-Quantitative-John...
http://www.amazon.ca/Design-Implementation-FreeBSD-Operating...
Mathematics:
http://www.amazon.ca/Calculus-James-Stewart/dp/0495011606
http://www.amazon.ca/Introductory-Statistics-Prem-S-Mann/dp/...
http://www.amazon.ca/Introduction-Mathematical-Cryptography-...
Networking and Systems:
http://www.amazon.ca/Computer-Networks-5th-Andrew-Tanenbaum/...
http://www.amazon.ca/Database-Management-Systems-Raghu-Ramak...
http://www.amazon.ca/Distributed-Systems-Principles-Andrew-T...
Re: The software development final exam: Algorithms and Data Structures
#28"If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter." [1] I'm a self-taught front end web developer who didn't have a traditional computer s…
For algo/datastructures, CLRS ( http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme... ) is the gold standard. For OS's, Tanenbaum ( http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenb... ) is popular. 'Math' is broad - if I can recommend only one book to cover all of Math I'd probably say 'The Road to Reality' ( http://www.amazon.com/The-Road-Reality-Complete-Universe/dp/... ). More practically (fo…
I also think for understanding how operating systems work, nothing beats writing your own! I learned most of the concepts by building a toy OS during the better part of my undergraduate studies. I highly recommend this for people who like coding and are afraid of jumping into the theory too quickly. For example, analyzing memory allocation algorithms is never as interesting as when you have to pick one for your own kernel!
Re: The software development final exam: Algorithms and Data Structures
#29Re: The software development final exam: Algorithms and Data Structures
#30Earlier quoted context omitted.
I don't need to know these things in my day-to-day job either. However, if I did need to know them, they'd be a Google search away, and I could find them out in less than a minute (less than the time it takes me to get urllib2 to send cookies, for example). On the other hand, I imagine that someone who hasn't been formally trained in complexity would have a harder time, because they wouldn't be aware of basic concept…
asking whether someone knows what O(n) means strikes me as a better performance test than trivia like the difference between O(2^n) and O(3^n) So far that's turning out to be one of the most useful questions, actually... but I wouldn't call it trivia.
I know the running time of quicksort offhand, but I'd still consult wikipedia on the off chance I'm wrong.