上海交通大学交大密西根 联合学院·一 ◆ 181 UM-SJTU Joint Institute ■ University of Michigan Shanghal Jiao Tong University Vg101 Introduction to Computer and Programming Introduction to Computers,Programs,and C++
Vg101 Introduction to Computer and Introduction to Computer and Programming Programming Introduction to Computers, Programs, and C++
上海交通大学交大密西根 联合学院·一 81 UM-SJTU Joint Institute University of Michigan Shanghal Jiao Tong University Objectives To review computer basics,programs,and operating systems (§1.2-1.4). To represent numbers in binary,decimal,and hexadecimal (1.5 Optional). ·To know the history of C++(§1.6). To write a simple C++program(§1.7), 。 To understand the C++program development cycle (1.8). · To develop C+using C++Builder(§1.9), 。 To develop C++using command line tools on Windows (1.10). To develop C++using command line tools on Unix (1.11). To develop C++using Visual C++.Net (1.12)
Objectives Objectives • To review computer basics, programs, and operating systems (§1.2-1.4). • To represent numbers in binary, decimal, and hexadecimal (§1.5 Optional). • To know the history of C++ (§1.6). • To write a simple C++ program (§1.7). • To understand the C++ program development cycle (§1.8). • To develop C++ using C++Builder (§1.9). • To develop C++ using command line tools on Windows (§1.10). • To develop C++ using command line tools on Unix (§1.11). • To develop C++ using Visual C++.Net (§1.12)
上海交通大学交大密西根 ·联合学院一 181 UM-SJTU Joint Institute University of Michigan Shanghal Jiao Tong University A Brief History of Computing Although electronic computers are relatively new,mechanical computers are much older. The abacus goes back almost 4000 years. In the 17th century,several mechanical computing devices were developed in Europe. Reconstruction of 1623 Blaise Pascal's 1641 Gottfried Wilhelm von Leibniz's Wilhelm Schickard machine “Pascaline”machine calculating wheel (ca.1671) (Deutsches Museum,Munich) (Musee des Arts et Metiers,Paris) (IBMD) The most important conceptual breakthroughs,however,came in the early part of the 19th century
A Brief History of Computing A Brief History of Computing • Although electronic computers are relatively new, mechanical computers are much older. The abacus goes back almost 4000 years. • In the 17th century, several mechanical computing devices were developed in Europe. • The most important conceptual breakthroughs, however, came in the early part of the 19th century . . . Reconstruction of 1623 Wilhelm Schickard machine (Deutsches Museum, Munich) Blaise Pascal’s 1641 “Pascaline” machine (Musée des Arts et Metiers, Paris) Gottfried Wilhelm von Leibniz’s calculating wheel (ca. 1671) (IBM)
Babbage's Machines Charles Babbage is one of the most fascinating figures in the history of computing.Captivated by the idea that he could build a machine to produce mathematical tables, Babbage designed two machines,the Difference Engine and the Analytical Engine,that anticipated many of the features found in modern computers. Although Babbage was unable to finish either machine during his lifetime,the Science Museum in London was able to complete a full- Charles Babbage(1791-1871) scale Difference Engine for the 200th anniversary of his birth
Babbage Babbage’s Machines s Machines • Charles Babbage is one of the most fascinating figures in the history of computing. Captivated by the idea that he could build a machine to produce mathematical tables, Babbage designed two machines, the Difference Engine and the Analytical Engine, that anticipated many of the features found in modern computers. • Although Babbage was unable to finish either machine during his lifetime, the Science Museum in London was able to complete a fullscale Difference Engine for the 200th anniversary of his birth. Charles Babbage (1791-1871)
Ada Byron, The First Programmer Augusta Ada Byron,the daughter of English poet Lord Byron,was encouraged to pursue her interests in science and mathematics at a time when few women were allowed to study those subjects.At the age of 17,Ada met Charles Babbage and became fascinated by his machines. Ada was convinced of the potential of Babbage's Analytical Engine and wrote extensive notes on its design,along with several complex mathematical programs that have led many people to characterize her as the first programmer.In 1980,the Augusta Ada Byron, Lady Lovelace(1815-1852) U.S.Department of Defense named the programming language Ada in her honor
Ada Byron, The First Programmer The First Programmer • Augusta Ada Byron, the daughter of English poet Lord Byron, was encouraged to pursue her interests in science and mathematics at a time when few women were allowed to study those subjects. At the age of 17, Ada met Charles Babbage and became fascinated by his machines. Ada was convinced of the potential of Babbage’s Analytical Engine and wrote extensive notes on its design, along with several complex mathematical programs that have led many people to characterize her as the first programmer. In 1980, the U.S. Department of Defense named the programming language Ada in her honor. Augusta Ada Byron, Lady Lovelace (1815–1852)
The Birth of Modern Computing The question of who invented the modern computers is not an easy one,given the competing claims for that achievement. In 1939,John Atanasoff and Clifford Barry built a prototype computer at lowa State and a large machine in 1942. The first large-scale computer was the Electronic Numerical Integrator and Computer (ENIAC),completed in 1946 under the direction of J.Presper Eckert and John Mauchly at the Moore School of the University of Pennsylvania. Conrad Zuse in Germany and the World War I cryptography team in England also built early computers. Other important contributions during the early years include stored-programming concept generally attributed to John von Neumann and the use of switching circuits to implement binary arithmetic proposed by Claude Shannon
The Birth of Modern Computing The Birth of Modern Computing • The question of who invented the modern computers is not an easy one, given the competing claims for that achievement. • In 1939, John Atanasoff and Clifford Barry built a prototype computer at Iowa State and a large machine in 1942. • The first large-scale computer was the Electronic Numerical Integrator and Computer (ENIAC), completed in 1946 under the direction of J. Presper Eckert and John Mauchly at the Moore School of the University of Pennsylvania. • Conrad Zuse in Germany and the World War II cryptography team in England also built early computers. • Other important contributions during the early years include stored-programming concept generally attributed to John von Neumann and the use of switching circuits to implement binary arithmetic proposed by Claude Shannon
What is Computer Science? Many people imagine that computer science is the study of computers as artifacts and wonder how that can be a science. Computer science has more to do with the study of problem solving in which the solutions happen to use computers. Computer science draws on a range of intellectual traditions that includes aspects of mathematics,classical science,and engineering. Computer science plays an increasingly important role in other disciplines: Biology.Computers made it possible to map the human genome. Economics.Computers enable the creation of better economic models. Psychology.Artificial intelligence helps us to understand the brain. Environment.Climate models require modern computing technology. Literature.Computerized analysis helps resolve disputed authorship. and most everything else
What is Computer Science? What is Computer Science? • Many people imagine that computer science is the study of computers as artifacts and wonder how that can be a science. • Computer science has more to do with the study of problem solving in which the solutions happen to use computers. • Computer science draws on a range of intellectual traditions that includes aspects of mathematics, classical science, and engineering. • Computer science plays an increasingly important role in other disciplines: – Biology. Computers made it possible to map the human genome. – Economics. Computers enable the creation of better economic models. – Psychology. Artificial intelligence helps us to understand the brain. – Environment. Climate models require modern computing technology. – Literature. Computerized analysis helps resolve disputed authorship. – and most everything else . .
上海交通大学交大密西根 ·联合学院一 1811 UM-SJTU Joint Institute University of Michigan Shanghal Jiao Tong University Computer Hardware CPU bus secondary storage network I/O devices .memory 00000000 00000000 0000000 二☐
Computer Hardware Computer Hardware CPU memory secondary storage I/O devices network bus
上海交通大学交大密西根 联合学院 ◆] 18T UM-SJTU Joint Institute University of Michigan Shanghal Jiao Tong University Algorithms Much of computer science involves the study of algorithms. In an informal sense,you can think of an algorithm as simply a procedure for solving a problem. ● To meet its more formal definition,an algorithm must be: Clearly and unambiguously defined. Effective,in the sense that its steps are executable. Finite,in the sense that it terminates after a bounded number of steps
Algorithms Algorithms • Much of computer science involves the study of algorithms. • In an informal sense, you can think of an algorithm as simply a procedure for solving a problem. • To meet its more formal definition, an algorithm must be: – Clearly and unambiguously defined. – Effective, in the sense that its steps are executable. – Finite, in the sense that it terminates after a bounded number of steps
上海交通大学交大密西根 联合学院 ■ 11 UM-SJTU Joint Institute University of Michigan Shanghal Jiao Tong University Programming Process Each computer system understands a low-level language that is specific to that type of hardware,which is called its machine language. Programmers typically write their software in a higher- level language that is easier for humans to understand. To execute a programs written in a higher-level language, the computer must adopt one of two strategies: The classical approach is to translate the higher-level language into machine language.This strategy is called compilation. A second approach is to simulate the program operation without actually translating it to machine language.This strategy is called interpretation
Programming Process Programming Process • Each computer system understands a low-level language that is specific to that type of hardware, which is called its machine language. • Programmers typically write their software in a higherlevel language that is easier for humans to understand. • To execute a programs written in a higher-level language, the computer must adopt one of two strategies: – The classical approach is to translate the higher-level language into machine language. This strategy is called compilation. – A second approach is to simulate the program operation without actually translating it to machine language. This strategy is called interpretation