Difference between revisions of "CSC103 Notes, Newer Version"

From dftwiki3
Jump to: navigation, search
(Created page with "--~~~~ ---- --© D. Thiebaut 2012, 2013, 2014 <br /> Last revised --D. Thiebaut (talk) 08:05, 9 October 2013 (ED...")
 
Line 12: Line 12:
  
 
<onlysmith>
 
<onlysmith>
 +
{| style="width:100%; background:#FFC340"
 +
|-
 +
|
 +
== Preface==
 +
|}
 +
This book presents material that I teach regularly in a half-semester course titles ''How Computers Work'', in the department of computer science at Smith College.  This course is intended for a general audience, and not specifically for computer science majors.  Therefore you do not need any specific background to approach the material presented here.  Furthermore, the material is self-contained, and you do not need to take the class to understand the material. 
 +
 +
The goal of the course is to make students literate about the basic operations of a modern computer, and to cover some of the concepts and issues that are assumed to be understood by the general population, in particular concepts one will find in newspaper articles, such as that of the von Neumann bottleneck, or Moore's Law.
 +
 +
Understanding how computers work first requires observing that they are the physical implementation of rules of mathematics.  So in the first part of this book we introduce simple concepts of logic, and explain how the binary system (where we only have 0 and 1 as digits to express numbers) works.  We then explain how electronic switches, such as transistors, can be used to implement  simple logic circuits which we call logic gates.  Remarkably, these logic gates are all that is needed to perform arithmetic operations on binary numbers. 
 +
 +
At this point, we figure out that an important part of computers and computing as to do with ''codes''.  A code is just a system where some symbols are used to represent other symbols.  The simplest code we introduce is the one we use to pass from the world of logic where everything is either ''true'' or ''false'' to the world of binary numbers where digits are either ''1'' or ''0''.  In this case the code we use is to say that the value ''true'' can also be represented by ''1'', and ''false'' by ''0''.    Codes are extremely important in the computer world, as everything at the lowest level is really based on ''1''s and ''0''s, but we organize the information through ''coding'' to represent extremely complex and sophisticated systems.
 +
 +
 +
 +
<br />
 +
<br />
 
{| style="width:100%; background:#FFC340"
 
{| style="width:100%; background:#FFC340"
 
|-
 
|-
Line 26: Line 43:
 
===Current Computer Design is the Result of an Evolutionary Process===
 
===Current Computer Design is the Result of an Evolutionary Process===
 
|}
 
|}
<center>[[File:SteamBoyDT.png|700px]] </center><br />In this course we are going to look at the computer as a tool, as the result of technological experiments that have crystalized currently on a particular design, the von Neumann architecture, on a particular source of energy, electricity, on a particular fabrication technology, silicon transistors, and a particular information representation, the binary system, but any of these could have been different, depending on many factors.  In fact, in the next ten or twenty years, one of more of these fundamental parts that make today's computers could change.
+
<center>[[File:SteamBoyDT.png|700px]] </center>In this course we are going to look at the computer as a tool, as the result of technological experiments that have crystalized currently on a particular design, the von Neumann architecture, on a particular source of energy, electricity, on a particular fabrication technology, silicon transistors, and a particular information representation, the binary system, but any of these could have been different, depending on many factors.  In fact, in the next ten or twenty years, one of more of these fundamental parts that make today's computers could change.
  
 
[http://www.imdb.com/title/tt0348121/ '''Steamboy'''], a Japanese anim&eacute; by director Katsuhiro Ohtomo (who also directed ''Akira'') is interesting in more than the story of a little boy who is searching for his father, a scientist who has discovered a secret method for controlling high pressured steam.  What is interesting is that the movie is science fiction taking place not in the future, but in middle of the 19th century, in a world where steam progress and steam machines are much more advanced than they actually were at that time.  One can imagine that some events, and some discoveries where made in the world portrayed in the animated film, and that technology evolved in quite a different direction, bringing with it new machines, either steam-controlled tank-like vehicles, or ships, or flying machines.
 
[http://www.imdb.com/title/tt0348121/ '''Steamboy'''], a Japanese anim&eacute; by director Katsuhiro Ohtomo (who also directed ''Akira'') is interesting in more than the story of a little boy who is searching for his father, a scientist who has discovered a secret method for controlling high pressured steam.  What is interesting is that the movie is science fiction taking place not in the future, but in middle of the 19th century, in a world where steam progress and steam machines are much more advanced than they actually were at that time.  One can imagine that some events, and some discoveries where made in the world portrayed in the animated film, and that technology evolved in quite a different direction, bringing with it new machines, either steam-controlled tank-like vehicles, or ships, or flying machines.

Revision as of 14:02, 7 August 2014

--D. Thiebaut (talk) 12:56, 7 August 2014 (EDT)


--© D. Thiebaut 2012, 2013, 2014
Last revised --D. Thiebaut (talk) 08:05, 9 October 2013 (EDT)




CSC103 How Computers Work--Class Notes


This section is only visible to computers located at Smith College












.