< Computer science | CatalogsRevision as of 14:37, 29 March 2008 by imported>J. Noel Chiappa
The metadata subpage is missing. You can start it via filling in this form or by following the instructions that come up after clicking on the [show] link to the right.
|
Do you see this on PREVIEW? then SAVE! before following a link.
A - For a New Cluster use the following directions
Subpages format requires a metadata page.
Using the following instructions will complete the process of creating this article's subpages.
- Click the blue "metadata template" link below to create the page.
- On the edit page that appears paste in the article's title across from "
pagename = ".
- You might also fill out the checklist part of the form. Ignore the rest.
- For background, see Using the Subpages template Don't worry--you'll get the hang of it right away.
- Remember to hit Save!
the "metadata template".
However, you can create articles without subpages. Just delete the {{subpages}} template from the top of this page and this prompt will disappear. :) Don't feel obligated to use subpages, it's more important that you write sentences, which you can always do without writing fancy code.
|
B - For a Cluster Move use the following directions
The metadata template should be moved to the new name as the first step. Please revert this move and start by using the Move Cluster link at the top left of the talk page.
The name prior to this move can be found at the following link.
|
|
This is a list of seminal concepts in computer science.
- subroutines (originally implemented with self-modifying code; Whirlwind had a really cool instruction to help in that)
- virtual memory - also memory management in general
- 1952: the first compiler written by Grace Hopper[1] - also programming language, interpreter
- Plus a bunch of language features/ideas, e.g. structures, which arrived in COBOL; different calling conventions (call-by-name, call-by-reference, call-by-value, etc)
- operating system (invention of) - also batch processing, timesharing
- Switching processes, and support for multiple processors, by switching kernel stacks
- threading and local variable scope, requiring use of stack frames
- stacks, in general, preceded some of the later elucidations, depending on exactly what you mean by 'threading'
- hierarchical file systems
- stored program architecture
- Von Neumann architecture (having program and data in same physical memory) (EDVAC was the first instance in a design, the Manchester University 'Baby' was the first actual operating one, and the EDSAC was the first useful machine of this type)
- Harvard Mark I: Harvard architecture (having program and data in different physical memories)
- 1950's (need exact date); Konrad Zuse was likely the first to propose pipelining of processor instructions for faster throughput (invention of); but I don't know what computer actually did it first
- all the other key processor design speedups, at least the biggest concepts (each has a multiple ways of being realized)
- compiler optimizations
- Cross compilation: allows support for new/experimental platforms, or platforms for which a native development environment is not readily available
- Bootstrapping: Getting it all going. Myriad examples include having an OS (Unix) written 99% in a high-level language (C), so that to port the OS to a different processor required mainly writing a C compiler for that processor; along with the item above, a precursor to what open source and embedded projects do when they have to compile their code for various hardware/OS platforms
- hardware abstraction: the BIOS does this in an IBM compatible PC; the measure of success for a hardware abstraction can be seen in part by the portability of the code dependent upon it - maybe a better example is the earlier IBM 360 architecture, where the same virtual machine was instantiated in a number of totally different physical implementations
- relational database model first proposed by E.F. Codd in 1969.
- the various ways (past and present) for distributing applications across a network, or making procedure calls across a network: EDI, COM, COM+, CORBA, RPC, XML-RPC, and now XML web services (so-called Service Oriented Architecture, or SOA)
- networking in general - early networking support was, err, primitive!
- advent of managed code languages, such as Ada and Java, that can provide "type safety" and other benefits such as substantial software reuse by means of shared libraries
References
- ↑ Grace Murray Hopper (proceedings of Grace Hopper Celebration of Women in Computing conference, 1994)