Earlier quoted context omitted.
Google expects its software engineers to do all that and more with a computer science degree. So what if it's not taught in the major? You're smart -- figure it out.
Don't get me wrong, I'm plenty capable with real world stuff. I just don't like it when people think a CS education should mean learning Java libraries and design patterns and server configuration. I'm glad I wasn't forced to waste my time taking classes devoid of conceptual material.
10000 things all CS students should do before graduating
131–140 of 164 posts
Re: 10000 things all CS students should do before graduating
#132Isn't CS supposed to be a branch of math?
But maybe HN is the wrong place to go looking for discourse on this sort of material. The point, though, is that this article is misleading. Perhaps it would have better been titled "10000 things every software engineer-hopeful should do" or "10000 anyone who writes code for the web should do".
Re: 10000 things all CS students should do before graduating
#133I'm a computer scientist, not a web monkey (FOOTNOTE). I'd say these are not the things all CS students should do before graduating. The field has much more to it. How about: 1) add or modify a significant feature of a working kernel 2) write a toy programming language 3) program in a programming language with concurrent constructs (e.g., erlang) 4) study some theoretical area, develop a practical application based o…
Those sound like engineering problems, not science problems.
Re: 10000 things all CS students should do before graduating
#134Earlier quoted context omitted.
Those sound like engineering problems, not science problems.
In the original link there are useful problems for a web developer, but they are far from being science problems.
Re: 10000 things all CS students should do before graduating
#135Earlier quoted context omitted.
While I totally agree with you, I don't think that: "1000 -Use a packet sniffer to learn about the network requests your computer does to your favorite game server." Is an easy thing to do. The first time I learned networking, packet encapsulation, protocols and so on, it took me a while to get the concepts. It's only after a few years of CS studying that I got fluent in wireshark (if that's even possible). This is a…
Wireshark should be a required tool for any developer writing netcode. If you don't understand the OSI model, or how a 3-way handshake works, how can you possibly debug your code? I've had to work with customers before who were writing code to send data over XML to a web server before who had no idea how to use tcpdump and Wireshark - it was unbelievable, but I was able to show them bugs in their code because I could…
I've learned how to read the packets coming through in real time, at an office environment. I can tell people "I don't even see the code anymore, all I see is blonde, brunette, redhead."
Re: 10000 things all CS students should do before graduating
#136I'm spending the summer at an intership, where I'm writing very low level code. (For example, right now, I'm writing a utility to arping an address range. I've learned all about OSI, ethernet interfaces [I'm using BPFs [1]], etc.).
In my free time, I'm playing with opencv. For example, here [2] is an image I took of myself, ran through an edge detector, ran again through a distance transformer. I'm thoroughly enjoying myself.
I also know how to configure a LAMP [3], but that's nowhere near as interesting as the previous two paragraph.s
[1] http://www.FreeBSD.org/cgi/man.cgi?query=bpf&apropos=0&#...
[2] http://michaelbrindle.com/images/meDistTrans.jpg
[3] in my case: FreeBSD, Lighttpd, mysql, and python, so... FLMP
Re: 10000 things all CS students should do before graduating
#1371. Designing their own CPU (this will go along with learning memory management, paging, translations, etc) 2. Learn about Linking and Loading 3. Write Toy OS 4. Learn C and x86 assembly 5. Learn TCP/IP and OSI model well. 6. Write some damn code and try to contribute to open-source 7. Learn about application security (stack overflows, heap, etc.) 8. Write your own API for anything to learn how to create consistent and easy to use code. 9. Apply what you learn about an algorithm or data structur in a novel way to solve a practical problem. Who knows you may see something and say 'wow I could use that algorithm and apply it to finding words that rhyme' or something like that.... 10. Please... have some damn system administration skills. Learn your way around a modern system be it linux, bsd, windows. 11. Figure out why design patterns and OO aren't goddamn silver bullets for every issue. 12. Christ sakes, learn some damn math. 13. Stop trying to learn every damn language you see. Just because proggit/hackernews is buzzing about some new technology doesn't mean it is worth your time. Be different go against the grain.
... and other stuff I can't think of..
Re: 10000 things all CS students should do before graduating
#138Earlier quoted context omitted.
We don't have good programs in systems administration and network engineering, but we should. (Any major university starting one?) In the meantime, a good CS program is a perfectly reasonable foundation for a career in systems and networks. I ran through the gamut of logic, basic logic circuits, assembly, algorithms, data structures, complexity and then features of various languages, operating system structures, and…
We're always going to have this issue, because IT and sysadmin will always be scoffed as something for vocational schools, dismissed by "real universities of pure knowledge and research." Major universities will never condescend to offer such programs. And perhaps they shouldn't. But at the same time, vocational schools are still seen as having less prestige (and, thus leading to careers making less money) in the U.S…
Except for a few vocations that have managed to get themselves tagged as "professions". There are a number of fields where students are supposedly taught to think in general-purpose undergraduate programs, and then taught the minutia of their chosen field in "professional school". e.g. law school, medical school, and a growing list of professional doctoral programs in fields like Psychology, Occupational Therapy, Pharmacy, Optometry, Nursing, Education, etc.
Maybe someday we'll have a "Doctor of Network Configuration" or a "Doctor of Database Schema Design"? (I'm not sure if I'm kidding or not)
Re: 10000 things all CS students should do before graduating
#139Why can't I down vote? That advice was horrid, and basically said 'learn all about buzz technology and blog stuff'.... Seriously, thats what they should be doing way LESS.. They should do more things such as the following: (My own biased list) 1. Designing their own CPU (this will go along with learning memory management, paging, translations, etc) 2. Learn about Linking and Loading 3. Write Toy OS 4. Learn C and x86…
Studying Computer Science should be about learning the fundamentals. Algorithms, Discrete Math, Operating Systems, Compilers, Computer Architecture, etc.
Re: 10000 things all CS students should do before graduating
#140I'm a computer scientist, not a web monkey (FOOTNOTE). I'd say these are not the things all CS students should do before graduating. The field has much more to it. How about: 1) add or modify a significant feature of a working kernel 2) write a toy programming language 3) program in a programming language with concurrent constructs (e.g., erlang) 4) study some theoretical area, develop a practical application based o…
Those sound like engineering problems, not science problems.