background preloader

Computer science

Facebook Twitter

The von Neumann Architecture of Computer Systems. The von Neumann Architecture of Computer Systems H. Norton Riley Computer Science Department California State Polytechnic University Pomona, California September, 1987 Any discussion of computer architectures, of how computers and computer systems are organized, designed, and implemented, inevitably makes reference to the "von Neumann architecture" as a basis for comparison. And of course this is so, since virtually every electronic computer ever built has been rooted in this architecture. The name applied to it comes from John von Neumann, who as author of two papers in 1945 [Goldstine and von Neumann 1963, von Neumann 1981] and coauthor of a third paper in 1946 [Burks, et al. 1963] was the first to spell out the requirements for a general purpose electronic computer.

Von Neumann's design led eventually to the construction of the EDVAC computer in 1952. Over the years, a number of computers have been claimed to be "non-von Neumann," and many have been at least partially so. References. The Pragmatic Programmer. You’re a Pragmatic Programmer. You aren’t wedded to any particular technology, but you have a broad enough background in the science, and your experience with practical projects allows you to choose good solutions in particular situations.

Theory and practice combine to make you strong. You adjust your approach to suit the current circumstances and environment. And you do this continuously as the work progresses. Pragmatic Programmers get the job done, and do it well. The Pragmatic Programmer Book First published back at the turn of the century in 1999, The Pragmatic Programmer: From Journeyman to Master still expresses our beliefs about successful software development.

Pragmatic Programmer Tips The original seventy tips from The Pragmatic Programmer. And now, for the first time ever, you can now get the DRM-free PDF, epub, and mobi versions of The Pragmatic Programmer directly from us. New Title Announcements and Sales Do you get our email newsletter? Programmer Competency Matrix. UC Berkeley Webcasts | Video and Podcasts: Understanding Computers and the Internet / OpenCourseWare. This is OpenCourseWare. Computer Science E-1 is a course at Harvard Extension School. E-1 isn't so much about computer science as it is about technology and how it all works. Most every student who takes this class uses computers every day but doesn't necessarily understand what's going on underneath the hood (or, in some cases, is outright scared!).

All students exit this more comfortable with computers and the Internet. Even if you are not a student at Harvard, you are welcome to "take" this course via computerscience1.tv by following along via the Internet. (The course's own website is at www.computerscience1.net.) Available at left are videos of lectures along with PDFs of problem sets. If you're a teacher, you are welcome to adopt or adapt these materials for your own course, per the license.

Special thanks to Chris Thayer and Harvard Extension School for the course's videos. Dan and David Copyright © 2011 – 2016, Dan Armendariz and David J. You are free: AI Horizon: Studying Computer Science. How to Study Computer Science If you're an aspiring computer science student or someone who wants to switch fields into CS, you're in luck; there's a lot of information available on the Internet. CS is a large and rapidly-expanding field; once you've become confident in your abilities to program moderate-sized projects, a lot of topics open up to you. But what do you really need to learn about, and what don't you? A lot of it depends on what you want to get out of your study. Learn Multiple Programming Languages No matter what you want to do in computer science, you'll likely do some of it by writing computer programs. But you want to learn a more flexible language for daily chores--for instance, a scripting language like Perl or Ruby will help you quickly create interesting programs and test ideas.

Finally, once you've mastered a language or two, expand your horizons with a functional language like Scheme, ML, or Haskell. Learn to Design Learn Basic Algorithms and Data Structures. AI Horizon: Introduction to Computer Science. Fields of Computer Science Computer science is often said to be neither a science nor about computers. There is certainly some truth to this claim--computers are merely the device upon which the complex and beautiful ideas in computer science are tested and implemented. And it is hardly a science of discovery, as might be physics or biology, so much as it is a discipline of mathematics or engineering. But this all depends on which branch of computer science you are involved in, and there are many: theory, hardware, networking, graphics, programming languages, software engineering, systems, and of course, AI.

Theory Computer science theory is often highly mathematical, concerning itself with questions about the limits of computation. A subsection of theory is algorithm development. Cryptography is another booming area of the theory section of computer science, with applications from e-commerce to privacy and data security. Hardware Computer hardware deals with building circuits and chips.