computer-science

Chomsky Hierarchy and LL(*) parsers

Hey out there, I want to parse a programming language. I read a lot about formal languages and the Chomsky hierarchy and ANTLR. But I could not find information on how to relate the languages ANTLR v3 as an LL(*) recursive descent parser accepts to the chomsky hierarchy. How do the Chomsky types mix with LL(*)? Any information (online,...

Where can I learn more about "ant colony" optimizations?

I've been reading things here and there for a while now about using an "ant colony" model as a heuristic approach to optimizing various types of algorithms. However, I have yet to find an article or book that discusses ant colony optimizations in an introductory manner, or even in a lot of detail. Can anyone point me at some resources ...

Can I implement State Transitions for a DFA in Java using java.util.Set

I'm implementing a DFA as close as I can to the formal definition as a learning exercise (and blogging material) I planned on using a java.util.Set where a set is involved in the definition. The definition involves a set of tuples to define the legal state transitions: (state,symbol) -> nextState. I have a Transition class with member...

What was the Historical Precursor for .NET Attributes?

What languages or platforms influenced the .NET 1.0 Team to build-in the concept of Attributes from the very start? Was this an Aspect-Oriented thing? Serialization? or something else? I was still in VB6-land at this time, and never used any of the pre-1.0 .NET versions. ...

Hash Code and Checksum - what's the difference?

My understanding is that a hash code and checksum are similar things - a numeric value, computed for a block of data, that is relatively unique. i.e. The probability of two blocks of data yielding the same numeric hash/checksum value is low enough that it can be ignored for the purposes of the application. So do we have two words for t...

Do theoretical computer science topics, such as regular vs non-regular languages, the pumping lemma, and grammars have "real world" development applications?

I'm familiar with the real world applications of finite automata and regular expressions, but topics such as these other ones are giving me more problems as I'm not seeing any real world applications. ...

What was your final year CS project?

As per title, I would love to hear from anyone willing to share their experience working on their CS FYP. Was it academic/proof-of concept or did it have real world applications? Did it become bigger or was it shelved after you graduated? How did working on the project contribute to your skills/experience/future career? Which would y...

Computer science advances in the past 5 years

I don't have a computer science background and only have a rudimentary knowledge of what CS is all about. However, I wonder, what are the most significant CS advances of the last five years? To give you an idea of how clueless I am, I couldn't name one of these advances. But, please don't spare me all the gory details. I'm not looking ...

What is the CS definition of a Php Array?

From a strictly implementation and computer science point of view how would you classify the Php array datastructure? Is it an associative array? a hash? a dictionary? ... ? ...

Plain English explanation of Big O

What is a plain English explanation of Big O? With as little formal definition as possible and simple mathematics. ...

Spatial mapping of keyword/tags

I'm trying to understand the stategy or idea's for building spacial maps of related/common keywords or tags. Using SO as an example; if you go to http://stackoverflow.com/tags and type in "python" you will get all tags that have that word in it, but no tags that might be closely related ( WSGI, Google's App Engine, flying, etc ). In li...

What are the lesser known but cool data structures ?

There a some data structures around that are really cool but are unknown to most programmers. Which are they? Everybody knows linked lists, binary trees, and hashes, but what about Skip lists, Bloom filters for example. I would like to know more data structures that are not so common, but are worth knowing because they rely on great ide...

Which interdisciplinary area between Mathematics and CS have high earnings?

I enjoy Mathematics and Computer Science. Is there some interdisciplinary field in CS and Mathematics, that would "guarantee" high earnings? ...

What are vectors and how are they used in programming?

I'm familiar with the mathematical/physics concept of a vector as a magnitude and a direction, but I also keep coming across references to vectors in the context of programming (for example C++ seems to have a stl::vector library which comes up fairly frequently on SO). My intuition from the context has been that they're a fairly primit...

Why do arrays start from zero?

Duplicate of: Defend zero-based arrays Why did the computer programming inventors have the brilliant idea of making arrays start with index zero and leave us all doing myArray.length()-1 when they knew that the logical thing would be to have the index start from 1? Is it some sort of backwards compatibility due to which all (even...

What is the computer science definition of entropy?

I've recently started a course on data compression at my university. However, I find the use of the term "entropy" as it applies to computer science rather ambiguous. As far as I can tell, it roughly translates to the "randomness" of a system or structure. What is the proper definition of computer science "entropy"? ...

JUMP and CALL

How is a JUMP and CALL instruction different? How does it relate to the higher level concepts such as a GOTO or a procedure call? (Am I correct in the comparison?) This is what I think: JUMP or GOTO is a transfer of the control to another location and the control does not automatically return to the point from where it is called. On...

What basic knowledge can I expect recent CS graduates to be competent in?

I have found myself in a team lead position having to manage/guide recent CS grads. I myself do not have a degree in Computer Science, rather I was working as a programmer to put myself through school while studying linguistics. I'm finding that using my own background to set expectations for junior developers quite problematic. I would ...

Developer essentials - resources and projects to attempt

Hi, I've been working as a developer for about 2 years, I did a bit of a shitty IT degree, I wish I had done a "proper" computer science degree, as I have come to realize I have massive gaps in my knowledge. I work completely in c# with some front end web development. There are things that really want to learn and I was wondering if peo...

HtDP vs. Concrete Abstractions vs. ?

I want to teach myself to program. To give a little background, I have a history degree and my math skills are about the college algebra level (and probably on the lowish end of that). I'm looking for recommendations for books that teach how to think about programming, rather than focusing on a particular language. I've already determin...