EWD1036.PDF (application/pdf Object)
Talk notes from 1988: "The concept of radical novelties is of contemporary significance because, while we are ill-prepared to cope with them, science and technology have now shown themselves expert at inflicting them upon us. Earlier scientific examples are the theory of relativity and quantum mechanics; later technological examples are the atom bomb and the pill." The radical novelty of the automatic computer can be found in large numbers and digital (as opposed to analog) implementation: small changes, potentially big effects. Towards the final third this amazing talk becomes a bit uptight.
Edsger Dijkstra, the greatest computer scientist to never own a computer, hand wrote and distributed 'On the Cruelty of Really Teaching Computer Science'What Every Computer Scientist Should Know About Floating Point Arithmetic - CiteSeerX
あとで見る10 Papers Every Programmer Should Read (At Least Twice)
Below I've collected some links to advanced computer science courses on-line. I'm concentrating on courses with good lecture notes, rather than video lectures, and I'm applying a rather arbitrary filter for quality (otherwise this becomes a directory with less semantic utility). This is the good stuff! But only a subset of it - any recommendations for good courses are gratefully received. I'm mainly interested in systems, data-structures and mathematics, so reserve the right to choose topics at will.
Open courseware from various sources. High quality too.Longest common subsequence
Starting with a list of runners ordered by finishing time, select a sublist of runners who are getting younger. What is the longest such sublist?
Longest common subsequence
Taking a brief step back, this article is the third of a series. In the first episode we posed a puzzle: Starting with a list of runners ordered by finishing time, select a sublist of runners who are getting younger. What is the longest such sublist? In the second episode we coded up a brute force solution which searched all possible sublists to find an optimal solution. Although the code was simple and succinct, its exponential complexity made it unsuitable for practical use. In this episode we’ll discuss an elegant algorithm which solves our particular problem as a special case. On the way we’ll visit dynamic programming, Python decorators, version control and genetics.cs252r Record
Advanced Functional Programming - Fall 2006
These pages are a record of the in-class discussions for the graduate class "Advanced Functional Programming" given at Harvard University in the Fall of 2006.One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languages
Very funny article, especially if you're a programmer or developer.
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
Hilarious!DIY CISS Degree: 100 Open Courses on Computer Information Systems and Security | Computer Colleges
Vários cursos para a área de Informática. Tudo Fornecido abertamente pelo MITDr. Dobb's | Software Engineering ≠ Computer Science | June 4, 2009
# Lecture 1: Overview and History # Lecture 2: Processes and Threads # Lecture 3: Thread Creation, Manipulation and Synchronization # Lecture 4: Deadlock # Lecture 5: Implementing Synchronization Operations # Lecture 6: CPU Scheduling # Lecture 7: OS Potpourri # Lecture 8: Introduction to Memory Management # Lecture 9: Introduction to Paging # Lecture 10: Issues in Paging and Virtual Memory # Lecture 11: MIPS TLB Structure # Lecture 11: Introduction to File Systems # Lecture 13: File System Implementation # Lecture 14: Monitors # Lecture 15: Segments # Lecture 16: Disk Scheduling # Lecture 17: Networking # Lecture 18: UDP and TCP
Operating Systems Lecture NotesPlain English Explanation of Big O Notation
I've met too many developers who don't grok big Ohttp://mythryl.org/
geiles intro. allein deshalb schon lesenswert :)
New programming languageThe Status of the P Versus NP Problem | September 2009 | Communications of the ACM
Free course/lecture notes on optimization algorithms: genetic algorithms, simulated annealing, particle swarm optimization
"What is a Metaheuristic? A common but unfortunate name for any stochastic optimization algorithm intended to be the last resort before giving up and using random or brute-force search. Such algorithms are used for problems where you don't know how to find a good solution, but if shown a candidate solution, you can give it a grade. The algorithmic family includes genetic algorithms, hill-climbing, simulated annealing, ant colony optimization, particle swarm optimization, and so on. "
This is an open set of lecture notes on metaheuristics algorithms, intended for undergraduate students, practitioners, programmers, and other non-experts. It was developed as a series of lecture notes for an undergraduate course I taught at GMU. The chapters are designed to be printable separately if necessary. As it's lecture notes, the topics are short and light on examples and theory.Free, legal textbooks related to computer science
Analysis of Adobe CS3/4 icons and thought process behind a redesign of the primary application icons.
First of all, please allow me to make one thing clear - if you use and enjoy the current box-style Adobe branding and icons, then this icon set may not be for you. I don't claim that these replacement icons are more correct, as icons and branding are subjective topics. What follows is my own perception of things as they were, as they are and have become and finally, if it were up to me, things as they should be.
Via Shaun Inman.Lambda Calculus (at Safalra's Website)
al introduction to lambda calculusSimply Scheme: Introducing Computer Science
@mobilebooks Simply Scheme: Introducing Computer Science http://url4.eu/dPaG [from http://twitter.com/sbepstein/statuses/4986924979]Papers in Computer Science
Discussion of computer science publications. Embedded image coding using zerotrees of wavelet coefficients Posted by dcoetzee on July 8, 2009Summary of all the MIT Introduction to Algorithms lectures - good coders code, great reuse
"As you all may know, I watched and posted my lecture notes of the whole MIT Introduction to Algorithms course. In this post I want to summarize all the topics that were covered in the lectures and point out some of the most interesting things in them."historic documents in computer science and engineering
Historia de la programación, lenguajes y manuales originales en pdf.List of Algorithms
Ullman Set: position[members[i]] = i
Ullman set, an excellent tutorialAsk Proggit: Recommender a compsci paper for me to read this weekend : programming
I've tried to span as many subjects as possible to have a little something for everyone while limiting myself to foundational papers that have had a lasting impact on the field and are also highly readable. Some of the people (Chomsky, Shannon, Metropolis, Ulam) represented here might not consider themselves computer scientists but the papers I've included have been so important that they cannot be left out. I admit a few papers may seem like idiosyncratic picks due to my particular interest in certain areas like computer graphics and computational dynamics. There are several important papers I couldn't include due to an absence of freely available copies, e.g. Rissanen's Generalized Kraft Inequality and Arithmetic Coding.
I am looking for something clever or thought provoking that doesn't depend on too much background knowledge, and is easy to read without too much formalism/maths.
Recommender a compsci paper for me to read this weekendAlgorithm Tutorials
GraphLearning via Primary Historical Sources
This is a Phase II expansion grant from the National Science Foundation (2008-2011). The goal of the project is to develop, classroom test, evaluate and disseminate projects based on primary historical sources in Discrete Mathematics, Combinatorics, Logic and Computer Science courses.
This is a Phase II expansion grant from the National Science Foundation (2008-2011). The goal of the project is to develop, classroom test, evaluate and disseminate projects based on primary historical sources in Discrete Mathematics, Combinatorics, Logic and Computer Science courses. This is a collaborative project between Mathematics (Math) and Computer Science (CS) faculty at New Mexico State University (NMSU) and Colorado State University at Pueblo (CSU-P).
Learning Discrete Mathematics and Computer Science via Primary Historical Sources
The goal of the project is to develop, classroom test, evaluate and disseminate projects based on primary historical sources in Discrete Mathematics, Combinatorics, Logic and Computer Science courses.What Should We Teach New Software Developers? Why? | January 2010 | Communications of the ACM
by Bjarne Stroustrup
What Should We Teach New Software Developers? Why? | January 2010 | Communications of the ACM
Annotated link http://www.diigo.com/bookmark/http%3A%2F%2Fcacm.acm.org%2Fmagazines%2F2010%2F1%2F55760-what-should-we-teach-new-software-developers-why%2FfulltextVentonegro » Blog Archive » Bibliography of Programming Languages Implementation
Bibliography of Programming Languages ImplementationJeff Erickson's Algorithms Course Materials
w the answer to that question now, and I'm still basi
Types and Programming Languages,Bjarne Stroustrup on Educating Software Developers
other essential aspect was the range oTeach Computer Science without a computer! | Computer Science Unplugged
<<Computer Science Unplugged is a series of learning activities that reveals a little-known secret: computer science isn't really about computers at all! Unplugged teaches principles of computer science such as binary numbers, algorithms and data compression through games and puzzles that use cards, string, crayons and lots of running around. Unplugged is suitable for people of all ages, from elementary school to university, and from many countries and backgrounds. >> See the PDF of all activities that teachers can download....ongoing · The Web Curriculum
Suggested by arun
[Found via Coast to Coast Bio] Tim Bray outlines a new CS curriculum that re-focuses on the web as a platform (rather than an individual computer). Under this training, CS students would graduate prepared for the modern challenges of working with big data.
The World Wide Web as a framework for structuring much of the academic Computer Science curriculum.
Viewing the World Wide Web as a framework for structuring part of the academic Computer Science (and Computer Engineering, perhaps) curriculum. Includes a link to "The first few milliseconds of a HTTPS connection" which should be as fascinating as a read.CS264: Peer-to-Peer Systems
3 Things They Should Have Taught In My Computer Science Degree
ZA VSE FRIJEVCE <--kako bi to scodeal v btw?Constraint programming in Python — The Uswaretech Blog - Django Web Development
Why Did M.I.T. Switch from Scheme to Python?
The freshman software engineering course (...) is now nearly thirty years old. Engineering has changed quite a lot in thirty years. Since 1995, Gerry and his co-author Prof. Hal Abelson have advocated changing the freshman curriculum radically, not basing it on SICP. In 1980, computer engineering was based on starting with clearly-defined things (primitives or small programs) and using them to build larger things that ended up being clearly-defined. Composition of these fragments was the name of the game. However, nowadays, a real engineer is given a big software library, with a 300-page manual that’s full of errors. He’s also given a robot, whose exact behavior is extremely hard to characterize (what happens when a wheel slips?).
"In 1980, computer engineering was based on starting with clearly-defined things (primitives or small programs) and using them to build larger things that ended up being clearly-defined. Composition of these fragments was the name of the game... Nowadays, a real engineer is given a big software library, with a 300-page manual that’s full of errors. He’s also given a robot, whose exact behavior is extremely hard to characterize (what happens when a wheel slips?). The engineer must learn to perform scientific experiments to find out how the software and hardware actually work, at least enough to accomplish the job at hand. We may not like it this way (”because we’re old fogies”), but that’s the way it is..."
Dan Weinreb’s blog » Blog Archive » Why Did M.I.T. Switch from Scheme to Python?
Some explanation of why MIT switched from Scheme to Python.YouTube - Lecture 1: Higher Computing - Richard Buckland UNSW 2008
Richard BucklandCS242: Course Readings
StanfordCOS 493, Spring 2002: Schedule and Readings
Algorithms for Massive Data SetsThe Most Important Algorithms (Survey)
Mathematics for Computer Science