General Discussion Undecided where to post - do it here. |
Reply to Thread New Thread |
![]() |
#2 |
|
|
![]() |
![]() |
#4 |
|
|
![]() |
![]() |
#7 |
|
|
![]() |
![]() |
#8 |
|
|
![]() |
![]() |
#10 |
|
My current project is an "agile" TDD/test driven development project. |
![]() |
![]() |
#12 |
|
I avoided Comp Sci in college because I'm afraid of second year Calculus. Calculus isn't used at all in the real world for software development for 99% of people. It's mostly just logic and knowledge of best practices, that's really all there is to it. The main problem is the screeners. You're going to get a lot of HR people who discard your resume for lack of a degree in compsci, especially at the big firms. The guys who work here sans a degree basically got their start with small shops and built up an impressive repertoire of work. Some made their mark with open source projects in their free time while they worked other jobs. The degree makes it easier, though, much... |
![]() |
![]() |
#13 |
|
|
![]() |
![]() |
#14 |
|
Okay, I have to ask. WTF does second-year calculus have to do with computer science? Stat, sure. First year calculus, I guess (even that's sort of 'huh'?). But second year calc? Unless you're at an engineering college (and are assumed to be focusing on engineering-focused compsci, I guess) or going into AI or compsci-as-physics or something else, I can't see why you'd need it for a run-of-the-mill computer science degree. Computer Science itself is an extremely math-heavy field. Software development is not for the most part, but can be. Most people who study computer science in school end up writing software, but anyone can write software. The more rigorous mathematical backing to computer science is to demonstrate the capacity for highly analytical thought, which can be very useful when applying software engineering principles to more complex projects. From what I can tell, being able to program and program well will give you a great career, but it plateaus pretty early. To get past that point, you'll need to leverage more of your education to get there. You can go the management route, in which case understanding stuff like second-year calculus or number & set theory will be less useful. You can also go to the more technical side of things, where the mental tools you build to comprehend and use high-level mathematics also come in handy when doing algorithmic design or system architectures. All of developers can "code in C++/C#/Java/etc". But when you start doing more advanced things, the math background becomes more essential. Eventually you need to start thinking outside the box. Lambda calculus, for instance -- it's kind of alarming to me how few developers actually understand that, even people who supposedly have CS degrees. Understanding Lambda calculus can lead to very elegant solutions that tend to be highly efficient, whereas a developer who doesn't understand them will implement long-winded, less efficient, and invariably more bug-ridden methods. Formal proofs are also frequently helpful when determining the correctness of an implementation. Outside of technical domain, application domain is another consideration. I spent basically two years as a software consultant working almost exclusively in the investment bank world. Advanced calculus are part and parcel with that application domain. When I work on graphics engines, including the time I spent on that Wii game (thankfully, shortlived), I leveraged what I learned in advanced linear algebra and graph theory from school. Calculus itself is just one of many areas, in CS you basically get a shotgun experience with various fields of mathematics. IMHO, the most useful are linear algebra and graph theory as they seem to cross more domains than others... But being able to program is only part of it. You can't program a solution unless you can design/architect that solution, which may require the math skills. You can't even understand many problem domains unless you have the math background either. Try implementing much of the financial models they used in the financial services world without at least a Calc III background and see how far you get. ![]() As an aside...one of the shortcomings of not having a CS-degree background and working as a developer surfaced today. My team lead was looking over my code and became perplexed when he came across a section that made heavy use of the C# Lambda operator combined with bit-shifting and bitwise operations and some bit-based arithmetic. A lot of these non-CS guys can see the big picture for how these apps work in terms of modules, control flow, etc but sometimes when it comes to thinking about how the computer itself is processing this information in terms of bits and bytes, and how they can be toyed with, they start to get a bit fuzzy. |
![]() |
![]() |
#16 |
|
|
![]() |
![]() |
#18 |
|
|
![]() |
Reply to Thread New Thread |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|