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

learn more… | top users | synonyms

4
votes
3answers
1k views

What Discrete Mathematics topics should the average computer science student know?

I know that Discrete Mathematics is a pretty broad topic that's used in a number of fields but I was just wondering what are some of the topics from it that you would expect an average computer ...
19
votes
6answers
1k views

How not to forget new and interesting information [closed]

The thing is that I read a lot of things over a period of time because it is interesting and I like to know it and secondly it will be helpful in my future job interviews. For example I read about ...
5
votes
5answers
933 views

Is there a single book that covers the breadth of computer science fundamentals? [closed]

When I did my undergraduate studies in elecrical engineering, there was this book called "Basic Electricity" by Van Valkenburgh. If you read that book cover to cover, your fundamentals in electrical ...
27
votes
4answers
36k 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 ...
10
votes
7answers
2k views

I'm having trouble learning [closed]

I'm only 13 but i'm genuinely interested in CS and would really like it if I could actually accomplish it. I've read books on C++ and C#, but ALL of them are the same!! They all say "Ok so since you ...
6
votes
2answers
993 views

Quantum computers and Turing Machine

As far as I know, a Turing Machine is the widely used model in computational theory to know whether something could be computed and if computed can they can be computed in finite time (P, NP, ...
11
votes
2answers
396 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 ...
16
votes
3answers
907 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 ...
3
votes
5answers
508 views

Why is CS never a topic of conversation of the layman? [closed]

Granted, every profession has it's technicalities. If you are an MD, you better know the anatomy of the human body, and if you are astronomer, you better know your calculus. Yet, you don't have to ...
2
votes
3answers
379 views

How to learn the math behind the code? [closed]

I have recently gotten into programming. (Although I know that the number of books you have read does not determine your programming competency or ability, just to paint a "map" of where I am in terms ...
6
votes
6answers
700 views

How does const storage work? (Item 2, Scott Myers Effective C++)

In Item2 on page 16, (Prefer consts, enums, and inlines to #defines), Scott says: Also, though good compilers won't set aside storage for const objects of integer types... I don't understand ...
5
votes
2answers
757 views

Why do computer architecture textbooks prefer MIPS architecture?

I have read a lot of computer architecture textbooks, and I wonder why most of them (if not all) used MIPS as the architecture to teach. Why MIPS and not Intel or AMD or something else? What makes the ...
3
votes
3answers
289 views

Should there be more scientific study of the effectiveness of various hyped-up ideas in software development?

Everyone seems to implicitly assume that the free market of ideas will eventually converge on the "right" solutions in software development. We don't assume that in medicine - we recognise that ...
5
votes
11answers
4k views

Where is the application of Calculus (of continuous quantities) in Computer Science or programming

I am a Software Engineer professional. I have studied calculus as a core course in my graduation studies. I want to ask question, that what/where is the implementation of calculus in computer science? ...
7
votes
2answers
1k views

normal order evaluation -vs- applicative order evaluation

I am going through Abelson and Sussman (Structure and Interpretation of Computer Programs) and I am a little confused about when normal order evaluation is used and when applicative order evaluation ...
10
votes
12answers
20k 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, ...
2
votes
1answer
182 views

What precisely does “Applicative” mean in computer science?

I know what an "applicative Functor" is, but I've been reading papers recently that refer to other "applicative" things, particularly "purely applicative data structures". The trouble is, I'm not ...
1
vote
5answers
939 views

Is placing self taught programming experience in a (computer science) university CV a good idea?

I wish to know if putting my attempts at programming in my university CV is a good idea. On the one hand it could show I'm willing and eager to learn, but on the other it could make it appear tacky ...
19
votes
10answers
4k views

How to emphasize the differences between Software Engineering, Computer Engineering and Computer Science to high schoolers? [duplicate]

Possible Duplicate: 30 minutes to explain programming to a 15 year old As a professional software engineer I have been asked to speak at a local high school junior class career day. As is ...
2
votes
3answers
1k views

How do I determine how many numbers are in a floating point number system?

I'm trying to make floating point number systems a bit more intuitive for myself. There are a few things I am confused about, and I think the best way to clear up my confusions would be for someone ...
2
votes
1answer
2k views

Which is better SICP or HTDP [closed]

I have read that SICP (Structure and Interpretation of Computer Programs) is hard and HTDP (How To Design Programs) is better as an introductory course. I would say I am fairly good in maths but not ...
1
vote
4answers
404 views

Topics that should be learned before graduating with a CS Degree [closed]

Feeling slightly underwhelmed with the content in my degree path of Computer Science at my University, I have been attempting to learn on my own. I am looking for direction into topics that will be ...
4
votes
4answers
1k views

Time complexity of a nested loop where the inner value is decreased in every step

I have problems to give the right time complexity in O notation for the following loop: k := 0 for i := 0 to N for j := k to M // something k = k + 1 Where N = M. Without the modified ...
2
votes
2answers
326 views

Help on a Dynamic Programming definition in Cormen

I am reading about Dynamic Programming from Cormen. In the beginning of the chapter it says (relating to the term Dynamic Programming): "Programming” in this context refers to a tabular method, ...
6
votes
4answers
3k views

How do lines of code get executed by the CPU?

I'm trying to really understand how exactly a high-level language is converted into machine code and then executed by the cpu. I understand that the code is compiled into machine code, which is the ...
12
votes
10answers
11k views

How to master C++?

I am a grade 11 student and have Computer Science... I just love the subject.. We are doing C++ ... I have loadsss of interest in this subject ... I am kind of able to do the programs but would like ...
9
votes
7answers
875 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 ...
2
votes
3answers
1k views

A good analogy for computer memory? [closed]

So, I'm a computer science major and I'm also a huge fan of the no-longer-on-TV show, Numb3rs. Now, whenever I talk with my friends they also ask me quite a few questions about programming and ...
16
votes
1answer
445 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 ...
8
votes
3answers
339 views

How many copies are needed to enlarge an array?

I am reading an analysis on dynamic arrays (from the Skiena's algorithm manual). I.e. when we have an array structure and each time we are out of space we allocate a new array of double the size of ...
13
votes
4answers
2k views

Backtrack My “Education”

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 ...
4
votes
3answers
2k views

Basic premise on counting sort. How is k related to to Big Oh?

I am reading (Cormen) on counting sort. I understand the structure of the algorithm but the statement: In practice, we usually use counting sort when we have k = O(n), in which case the ...
9
votes
5answers
963 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 ...
5
votes
8answers
6k views

Should I get a Math bachelors and then go into Computer Science? [closed]

This is my first question. I love Mathematics; I love the logic and the problem solving. At the same time, I enjoy Computer Science and hope to go into Artificial Intelligence research after I get my ...
1
vote
2answers
124 views

Help on clarification of a formal statement concerning algorithms running time

I am reading the following in a book on algorithms (Cormen's to be specific): That is, we are concerned with how the running time of an algorithm increases with the size of the input in the ...
5
votes
6answers
1k views

Which CS courses are a “must” for a web developer

My goal is to learn how to program a website with Python/Django in the next year. From what I've understood, I also have to learn HTML, CSS, JavaScript. I understand in order to build a website, I ...
1
vote
1answer
156 views

Algorithm analysis refresher help

I haven't touched algorithm complexity stuff in quite a while, so I am trying to do a refresher. I am trying to figure out the number of steps in the following for loop. for(i = 0; i < n; ...
7
votes
11answers
1k views

Is it true that what you learn as a CS undergrad will be out of date by the time you graduate?

I've heard this statement thrown around a few time by technology/science pundits on the web. Does it have any merit? What exactly do they mean?
5
votes
7answers
668 views

Are operators just “special” methods? [closed]

Here's what is meant by operators and methods. Attempting to keep the questions as simple and open ended as possible, since the question is more about the conceptual nature of operators and methods ...
2
votes
6answers
1k views

Why is the formal definition of Big O notation formulated as such?

Consider the formal definition: f(n) = O(g(n)) Why is it not: f(n) = O(f(n)) or f(n) = O(c*f(n)) since for the Big O analysis, f(n)=2n and g(n)=n are identical? I am ...
27
votes
6answers
3k 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 ...
7
votes
6answers
626 views

What is the industry definition of an interpreter (as opposed to a compiler)?

In my compiler design courses, I have learned about and worked with a clear academic definition of an interpreter and a compiler, with an interpreter being a program Pi from a language M capable ...
9
votes
4answers
1k views

How much of Computer Science is actually focused on programming? [closed]

The reason why I ask this is because, when I read articles such as Wikipedia's HCI or reports on A.I., I find that much of what it talks about is actual design theory. Is this what most of Computer ...
7
votes
5answers
2k views

Theta notation on constant time. Why we use the 1?

In asymptotic notation when it is stated that if the problem size is small enough (e.g. n<c for some constant c) the solution takes constant time and is writen as Theta(1). Why we write 1 inside ...
18
votes
4answers
4k views

How can a self-taught programmer learn more about Computer Science? [closed]

I'm a self taught iOS (iPhone/iPad) programmer but didn't study CS in school. Are there any books or site I can study that will teach more about CS, in general. For example some common practices and ...
1
vote
1answer
2k views

What are the 'hot' topics in computer science? [closed]

I'm about to start my AQA EPQ - which is a 5000 word essay and presentation on a topic of your choice; I was looking for topics in which to research and report on. I believe this question is often ...
4
votes
2answers
1k views

Finding my path for masters (CS or HCI or some other trail)?

I am student pursuing Bachelor of Technology in Electronics and Communication at my university. While pursuing my course, I started to work on some projects related to CS. Computers being my favourite ...
6
votes
7answers
747 views

Computer Science and other advance topics taught in javascript

I'm an 'okay' Javascript developer working on browser javascript and node.js. However because I'm self taught, starting from copying and pasting jquery, there are a lot of holes in my programming/CS ...
6
votes
2answers
375 views

Idea for a domain specific language or DLR port?

I have my undergraduate final year project coming up and am very interested in lexers, parsers, compilers and so on. I would like to use the DLR (.NET 4.0 dynamic language runtime) for my ...
69
votes
16answers
10k 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 ...