Computer science or computing science (abbreviated CS or CompSci) is the scientific approach to computation and its applications.

learn more… | top users | synonyms

82
votes
16answers
13k views

Do the young minds need to learn the pointer concepts?

Why did the C master Dennis Ritchie introduce pointers in C? And why did the other programming languages like VB.NET or Java or C# eliminate them? I have found some points in Google, and I want to ...
80
votes
11answers
7k views

How can I make sure that I'm actually learning how to program rather than simply learning the details of a language? [closed]

I often hear that a real programmer can easily learn any language within a week. Languages are just tools for getting things done, I'm told. Programming is the ultimate skill that must be learned and ...
67
votes
32answers
17k views

What's a nice explanation for pointers? [closed]

In your own studies (on your own, or for a class) did you have an "ah ha" moment when you finally, really understood pointers? Do you have an explanation you use for beginner programmers that seems ...
62
votes
29answers
11k views

Why does a computer science degree matter to a professional programmer? [closed]

I have a degree in computer science. It has been great for opening doors, getting a job. As far as helping me in the professional field of C# .NET programming (the most popular platform and language ...
43
votes
27answers
10k views

What is the biggest weakness of students graduating with degrees in Computer Science? [closed]

This question is directed more toward employers and graduate student advisors/professors but all opinions are welcome. What do you find is a common weakness of new hires and/or new grad students? Is ...
34
votes
4answers
90k views

How do I completely-self-study Computer Science? [closed]

Being a completely self taught programmer, I would like it if I could better myself by self-learning the computer science course taught to a typical CS grad. Finding different resources on internet ...
32
votes
16answers
7k views

Will a computer science college degree ever hurt my employability? [closed]

Too often, I can see that there are many viable programmers without college degrees in Computer Science, Informatics, etc. Now that I've been reading more articles about underperforming education ...
31
votes
2answers
1k views

What is the meaning of “doesn't compose”?

I see a lot of texts, especially functional programming texts, claim that certain CS concepts "don't compose". Examples are: locks don't compose, monads don't compose. I've been having a hard time ...
30
votes
8answers
25k views

What methods are there to avoid a stack overflow in a recursive algorithm?

Question What are the possible ways to solve a stack overflow caused by an recursive algorithm? Example I'm trying to solve Project Euler problem 14 and decided to try it with a recursive algorithm....
30
votes
6answers
5k views

What is the difference between 'layer of abstraction' and 'level of indirection'?

I am not sure if both terms can be used interchangeably. Maybe there is some academic distinction in computer science which is not relevant for day-to-day programming? Or can I use both term ...
29
votes
13answers
2k views

Help in understanding computer science, programming and abstraction [duplicate]

Until now, I always believed that you should learn programming languages that make you do low-level stuff (e.g. C) to understand what's really happening under the hood and how the computer really ...
29
votes
11answers
21k views

What to do when coding begins to feel boring, like it is all just more of the same? [closed]

I started programming at the age of 6 on a Commodore 64. Now I'm 28, and I have to complete 4 courses from a first degree in Computer Science. I'm starting to get bored with writing code after all ...
28
votes
4answers
12k views

Upcoming Google interview, looking for some preparation advice [closed]

Well I've been hitting the books wherever I can. I have an interview coming up, first one via phone, for a software engineer position. I've read all the blog posts, I've read all the accounts of ...
26
votes
18answers
2k views

What is the one bit of computer science theory I should know? [closed]

Speaking as someone with an Electronic Engineering rather than Computer Science degree, what is the one bit of computer science I should know to make me a better real world programmer? (By real world ...
23
votes
12answers
63k views

What's the difference between computer science and programming?

I'm new at computer science and programming, and I was wondering, is there a difference between computer science and programming? and do you get to choose to study only one of them at the university, ...
23
votes
17answers
10k views

Is “Computer Science != Software Engineering” an excuse to teach programming poorly?

We've all heard it; whenever there's a discussion about CS grads having poor development skills someone eventually says, Computer science isn't software engineering. The problem that I see is ...
23
votes
5answers
2k views

Why are strings so slow?

Ever since my very first programming class in high school, I've been hearing that string operations are slower — i.e. more costly — than the mythical "average operation." Why makes them so ...
23
votes
17answers
9k views

What are some good assignments for an introductory course, to reach today's students? [closed]

I periodically teach an introduction to programming course using Java. I want to give my students some exciting assignments that they can relate to or find interesting. At the very least, I want ...
21
votes
2answers
2k views

What are Ruby's strengths? [closed]

Before I'd read this article, I never understood why anybody liked LISP. After reading it, I was able to give LISP a fair enough shot and have since grown to like it. It wasn't until I read this ...
18
votes
2answers
1k views

What class of problem is this, and what math do I need to know to solve it?

Mushroom cultivation requires fairly precise chemical composition of substrate (a.k.a. growing medium). Let's pretend we're growing shitakes and that this is the required composition of their ...
18
votes
6answers
1k views

What is an example of a computationally impossible business problem?

I have coworker who refuses to accept the reality that Turing machines (and Von Neuman machines by extension) cannot solve their own halting problem stating: You can do anything with enough time ...
17
votes
26answers
29k views

Most difficult subject/theory in Computer Science? [closed]

Which is the most difficult CS subject/theory that you studied but important to the field? And the reason please?
17
votes
13answers
2k views

Is the science of Computer Science dead? [closed]

Question : Is the science and art of CS dead? By that I mean, the real requirements to think, plan and efficiently solve problems seems to be falling away from CS these days. The field seems to be ...
17
votes
18answers
16k views

Why is Software Engineering not the typical major for future software developers? [closed]

While most agree that a certain level of Computer Science is essential to being a good programmer, it seems to me that the principles of good software development is even more important, though not as ...
17
votes
3answers
2k views

Should Software Engineering and Computer Science be separate majors? [closed]

For decades, the accepted degree to get to become a software developer was "Compter Science." We've had a few questions already about whether that degree really prepares students to develop software. ...
16
votes
8answers
4k views

“Gödel, Escher, Bach” still valid today? [closed]

I have just completed a course on computability and logic which was an interesting course. The lecturer recommend a few books on his slides, which include "Gödel, Escher, Bach". I can see the book is ...
16
votes
3answers
1k views

Why do trees grow downward?

Why do trees grow downward in computer science? I have a feeling it goes back to a printer, and that a program traversing a tree first prints the root, and uses the notion of a bottomless stack of ...
16
votes
1answer
545 views

Can all code be represented as a series of Map / Filter / Reduce operations?

I have recently been refactoring large chunks of code and replacing them with Linq queries. Removing the language bias - Linq is essentially a set of Map / Filter and Reduce operations that operate ...
15
votes
9answers
2k views

Is learning C essential for Computer Science? [closed]

I am a front-end developer who barely even see a file with .h or .c extension. I know basic C syntax, I've learned it in Unreality but never was interested in such low level programming because it ...
15
votes
8answers
2k views

Is there a subset of programs that avoid the halting problem

I was just reading another explanation of the halting problem, and it got me thinking all the problems I've seen that are given as examples involve infinite sequences. But I never use infinite ...
15
votes
4answers
42k views

Preparing for Interviews [duplicate]

Possible Duplicate: How to prepare yourself for programming interview questions? Could someone give me pointers on how go to about preparing for a technical interview? As a CS graduate, I ...
14
votes
6answers
7k views

Why is Perl so heavily used in Bioinformatics? [closed]

What is it about Perl that makes it so useful in Bioinformatics ? Why isn't C++ or Matlab or Python the big language?
14
votes
7answers
7k views

What discipline does Computer Science belong to? [closed]

Is Computer Science science, applied mathematics, engineering, art, philosophy? "Other"? To provide background, here is Steven Wartik's blog posting for Scientific American titled "I'm not a real ...
13
votes
4answers
2k views

Backtrack My “Education” [closed]

A while ago, I decided to start programming. I really, just jumped into a language (Perl) and went from there. What I regret is that I just jumped in: I didn't learn the basics (if you would call ...
13
votes
7answers
381 views

If someone offers you an unverified statement regarding software development practices, do you respond with “citation needed”? [closed]

Recently I attended a lecture given by Greg Wilson (Chief Scientist of Software Carpentry). From the abstract: The idea that claims about software development practices should be based on evidence ...
13
votes
3answers
395 views

Why is the c family the standard CS study regiment for Mathematics/CS programs instead of the LISP family? [closed]

I have been familiarizing myself with LISP for self improvement purposes. One of the things I have noticed is that LISP is much more within the paradigm of Mathematics than say C. The syntax and ...
13
votes
3answers
6k views

How is the actor model used?

I have read a bit about the actor model, but don't really understand how to use actors in a real world situation – how to model a problem with them. Can someone please explain? A simple example or ...
12
votes
5answers
1k views

How come the computer doesn't have to read the entire table when the column is indexed? [duplicate]

Let's say a table with two columns has 100 quadrillion records. And I want to find a record that has column #2 equal something. If column #2 is indexed it returns the result immediately, but if it's ...
12
votes
5answers
12k views

Recomendation for Math books related to computer science [duplicate]

Possible Duplicate: Is there a canonical book on mathematics for programmers? I need your recommendation for math books related to computer science in these areas: Boolean Algebra (Boolean ...
12
votes
7answers
1k views

Can anyone suggest a project for me write to help me understand threading

I am currently a C# developer with a pretty shaky understanding of threading. Both of these links have been suggested in other posts: http://www.yoda.arachsys.com/csharp/threads/ http://www....
12
votes
1answer
319 views

What intermediate representations can be used to reason about concurrency?

I am trying to better understand what would be required for a compiler to be able to make intelligent choices regarding concurrency on behalf of the programmer. I realize that there are many difficult ...
11
votes
3answers
3k views

Switching to a career in Machine Learning [closed]

My day job is plain old software development. I am also doing my Masters in CS (part time, course based). I took a course on AI and found machine learning quite fascinating but like most courses it ...
11
votes
1answer
587 views

What Is λ-calculus essentially?

I have what I would call a philosophical question about λ-calculus. When you explore λ-calculus you will be surprised to see all the things that you can do there. You can define integers, arithmetic ...
11
votes
2answers
444 views

Are there any scientific studies done on TDD that use total cost of ownership for a product as the measurement?

When I was reading the summary of previous work in Dogsa T, Batic D. The effectiveness of test-driven development: an industrial case study. Software Quality Journal. 2011;19(4):643-661. it struck me ...
10
votes
13answers
2k views

As a code monkey, how to discuss programming with a guy who almost has a doctorate in computer science [closed]

A friend of my wife's is coming over for dinner tonight and he is a lot smarter than me. What do we have in common, well... A Bachelor's in Computer Science, and that should be enough of a ...
10
votes
15answers
1k views

is coding important? [closed]

Is coding important to be good at computer science? Should one implement the algorithm to know it well ? I remember one cs professor's idiom that "I never code"
10
votes
7answers
3k views

Which computer science subjects are required to follow introductory course in compilers? [closed]

I am non computer science undergraduate and work as a web-developer(java, python, AS3 etc.) as a professional. I take 1 course per semester at my local university. I had taken Artificial Intelligence(...
10
votes
3answers
703 views

More code = more bugs

Back in college I remember a professor teaching the class one of the laws of computer science. He said something like "More code equals more bugs" and gave it a name (The Law Of Whatchamacallit) and ...
10
votes
5answers
2k views

Algorithm refresher. Why is heapsort an insort algorithm?

I can not see why the heapsort is considered an inplace sorting algorithm. I mean an extra data structure populated with the elements of the array to be sorted i.e. a heap, is used to assist in the ...
10
votes
4answers
1k views

Good Programming Competitions for Highschool Students [closed]

What are good programming competitions (or web design competitions) available for highschool students in the Northeast (I am looking for a pretty long/comprehensive list)- of the USA? The competitions ...