CS fundamentals

TwitterFacebook
Get flash to fully experience Pearltrees

inc. Adventure in Prolog tutorial

http://www.amzi.com/AdventureInProlog/a1start.php Prolog stands for PROgramming in LOGic. It was developed from a foundation of logical theorem proving and originally used for research in natural language processing. Although its popularity has sprung up mainly in the artificial intelligence (AI) community, where it has been used for applications such as expert systems, natural language, and intelligent databases, it is also useful for more conventional types of applications. It allows for more rapid development and prototyping than most languages because it is semantically close to the logical specification of a program. As such, it approaches the ideal of executable program specifications. Programming in Prolog is significantly different from conventional procedural programming and requires a readjustment in the way one thinks about programming.
March 15 2011 Parsing is the act of taking a stream of characters and deducing if and how they conform to an underlying grammar. For example the sentence Bill hits Ben conforms to the part of the English grammar noun verb noun . Parsing concerns itself with uncovering structure; although this gives a partial indication of the meaning of a sentence, the full meaning is only uncovered by later stages of processing. http://tratt.net/laurie/tech_articles/articles/parsing_the_solved_problem_that_isnt

Laurence Tratt: Parsing: The Solved Problem That Isn't

http://www.victusspiritus.com/2011/03/14/brushing-up-on-computer-science-part-1-big-o/

Brushing up on Computer Science Part 1, Big O » Victus Spiritus

Memory is such a fragile construct, yet we are forced to cruelly mold it into submission through extreme repetition and clever tricks of association. And even then, detailed memories fade exponentially in time and are of little use without regular access and utilization. Early this morning I was inspired to review the basics of computer science, including object oriented programming, data structures, common algorithms and characterization of complexity (Big O) by blogging friend Denton Gentry . I leave the source of my inspiration as an exercise in deductive reasoning.
I have recently written about the value of fundamentals in software development . I am still firmly of the opinion that you need to have your fundamentals down solid, if you want to be a decent developer. However, several people made a valid point in response to that post, in that it is often difficult to know what the fundamentals actually are ( be they macro or micro level ). http://www.skorks.com/2010/05/what-every-developer-should-know-about-urls/

What Every Developer Should Know About URLs

Someone told me it’s all happening at the zoo... I’ve always thought dynamic programming was a pretty crummy name for the practice of storing sub-calculations to be used later. Why not call it table-filling algorithms , because indeed, thinking of a dynamic programming algorithm as one that fills in a table is a quite good way of thinking about it.

DP Zoo Tour : Inside T5

http://blog.ezyang.com/2010/11/dp-zoo-tour/
It seems your browser does not support the scripts on this page. Use a recent version of Chrome or Firefox to see this tutorial in all its glory. For now, you get the non-interactive version. This article is an elaboration of part of Eloquent JavaScript 's introduction. Like that website, this page has an interactive coding environment to help you get a feel for the subject.

A Gentle Introduction to Machine Fundamentals

http://marijnhaverbeke.nl/turtle/
http://lwn.net/Articles/250967/

What every programmer should know about memory, Part 1 [LWN.net]

[ Editor's introduction: Ulrich Drepper recently approached us asking if we would be interested in publishing a lengthy document he had written on how memory and software interact. We did not have to look at the text for long to realize that it would be of interest to many LWN readers. Memory usage is often the determining factor in how software performs, but good information on how to avoid memory bottlenecks is hard to find. This series of articles should change that situation. The original document prints out at over 100 pages. We will be splitting it into about seven segments, each run 1-2 weeks after its predecessor.

Algorithms and Data Structures

http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/ (ii) Otherwise, suppose m>n. Then m=p×g and n=q×g where p and q are coprime , from the definition of greatest common divisor. We claim that gcd(m-n,n)=g.
http://www.facebook.com/note.php?note_id=461505383919

The Full Stack, Part I

One of my most vivid memories from school was the day our chemistry teacher let us in on the Big Secret: every chemical reaction is a joining or separating of links between atoms. Which links form or break is completely governed by the energy involved and the number of electrons each atom has. The principle stuck with me long after I'd forgotten the details. There existed a simple reason for all of the strange rules of chemistry, and that reason lived at a lower level of reality. Maybe other things in the world were like that too.