Monday, October 31, 2016

Reflection of class on Oct 27th
  In latest class before I went to galley for lunch, I installed the Chinese input method in my Raspberry Pi 3 but it could only work after restarting. So the first thing I paid attention to today after I plugged in the charging and started the computer was the upper right corner of the surface where the input method icon located. Luckily, it works very well today, I can switch the Chinese input method by pressing ‘command + blank’ instantly so that I can type Chinese characters conveniently in Chinese search engine if I wanted to search some relative information of Raspberry Pi.
  Well, today I read chapter 3 and did some practice about creating interactive programs which emphasized the interaction between users and programs. As we all know, communication and interaction between users and programs are pretty important because most programs need users’ feedback when they provide dedicated service for users like online shopping and hotel booking.
  We usually need sigh up in an interactive program or input some necessary information to use it better, so input statement is integral to achieve this function. When I used Python 3 to type some input statement and tried to function it by pressing F5, there was an error feedback displayed on the screen that mentioned me what I had inputted was not valuable. I had to type in double quotation mark before I inputted the answer to the right place to avoid the appearance of the same error.
  I was very confused about it because I followed the steps of example showed in book and could not find any particular notes about it. So why there was an error with right operation? Suddenly I realized that the text editor what I used was not the newest version provided by Raspberry Pi. So I opened the newest version and type in same statements on screen and press F5 to examine it. Fortunately, it worked well, a successful troubleshooting.

  Except input statement, I learned a lot about how to add notes in my codes regularly and join strings together to assemble an entire sentence. Of course, they were not difficult for me. I tried to create my own interactive program by using Python 3 after I did enough practice in class, but the class was almost over. Well, I would do it in next class after I finished regular learning because it was necessary for me to understand interactive program deeply.

Wednesday, October 26, 2016

Reflection of class on Oct 25th
 When I first heard about the Raspberry Pi 3 from you, I was greatly shocked by it because I didn’t think a computer could be integrated and hold in a little box which had the same size as a credit card, that is, computer is one of the most complex machine that includes so many embedded precision devices till now.
  But the Raspberry Pi 3 was a real micro-computer indeed after I successfully assembled it with provided components and installed the corresponding Raspian OS on it and got the feedback from the external monitor. Although it couldn’t be used as my Mac which had more functions, I really liked it because it helped me a lot on understanding what the computer architecture was.
  As I can see, there are a motherboard which includes kinds of integrated circuit, a chip as a CPU for operating and controlling the whole computer, a GPIO for data exchange, a microSD card slot for holding a microSD card as a hard drive which includes the original OS, 4 USB ports for connecting external devices like keyboard and mouse, an Ethernet port and WiFi module for connecting with the Internet, a Bluetooth module for connecting with dedicated external Bluetooth devices like wireless headphone, a headphone port for exporting audio, a HDMI port for connecting with monitor and exporting high quality media signal, a micro USB port for charging. As a summary, these different fundamental modules formed a complete computer which is designed as Von Neumann’s theory about the architecture of computer and used to input or receive information, process information, store information, output or distributing the processed information.
  All these modules are called hardware like the physical body of computer, and the real mind of computer is called software which based on an essential Raspian operating system that I had an overview on class. Of course, the Raspian OS which is based on the open sourced OS called Linux is much more simple than Windows or Mac OS because it’s just for learner in the first stage on logical programming like me.
  I opened the IDLE for Python 3 and did relative operations on it by following the content of book such as fundamental arithmetical operations, storing information by using variables and displaying text contents on screen. Actually these operations were not difficult for me to exercise because I had learnt some similar language on programing like C and Visual Basic so I tried to do some other things with my Raspberry Pi. And the problem came soon immediately that I found the system could not display Chinese characters and support Chinese input. Fortunately, I solved this problem by searching corresponding solutions on the Internet and shared it to my classmates.

  Well, you can see, it’s a really meaningful class for me!

Monday, October 24, 2016

Reflection of class on Oct. 18
The development of computer
  The world's first electronic digital computer named ENIAC (Electronic Numerical Integrator and Computer acronym) was formally put into operation at University of Pennsylvania in 1946 to assist ballistics studies. It used 17468 vacuum tubes, occupied an area of 170 square meters, 30 tons weighing and could do the addition operation 5000 times per second.
  Although it could not function as fast as today's most common microcomputer, but at that time it was the absolute champion in speed of operation, and the accuracy of its operations was also unprecedented. ENIAC laid the foundation for the development of electronic computer and opened up a new area of computer science and technology.
  After the invention of ENIAC, Neumann proposed a great theory about optimizing the architecture of computer that the computer should be in binary arithmetic and use the stored program mode. And he further pointed out the structure of the whole calculation machine shall be composed of arithmetic device, controller, memory, input device and output device. These theories put forward by Neumann solved the problem of computer operation automation and speed matching problem, played a decisive role in the development of the computer later. Most of the modern computer are worked based on his theory till now.
  In a short period of several decades after the birth of ENIAC, major electronic devices have been changed from vacuum tubes to transistors, medium and small scale integrated circuits and large-scale, ultra large scale integrated circuit, causing the revolution of computer several times. And computer's volume and power consumption were greatly reduced by the development of electronic devices, more functions were enhanced and the field of application of computer was further broaden. Especially the appearance of microcomputer which has the advantages of small volume, low price and strong function has been rapid popularized into office and family, it also played a great role in automatic office working and implementation of multimedia.
  At present, the application of computer has been extended to all fields of the society, more and more people are getting more familiar with computer and cannot live with computer anymore.

The development of Internet
  As a direct response to the first man-made earth satellite named Sputnik launched by the former Soviet Union in 1957, the American Department of defense set up the Advanced Research Projects Agency (ARPA) to design a decentralized command system that consists of decentralized command points, as part of the command points were destroyed, the other points could still work normally, and these points could bypass the command which had been destroyed and continue to maintain contact point. And the original Internet was created by following this idea later in 1969, at that time the network transmission capacity was just 50Kbps.
  Now, the Internet has a high-speed transmission by using TCP/IP and becomes a global network which is composed of different computers in different areas which use the common protocol to communicate with each other, that is, the Internet include small scale local area networks (LAN), urban scale area networks (MAN), and large scale wide area networks (WAN) and so on. Different countries around the world and various universities, companies, research departments, the military and government organizations are linked up by these networks which are connected by common telephone lines, high speed dedicated lines, satellite, microwave and optical cables.
  Internet is a broad network that can provide you with valuable information and satisfactory service. Tens of thousands of people around the world can use the Internet for information exchange and resource sharing, that is, the Internet is the first worldwide library and global forum in the history of human society that provides an efficient environment for users to access information by using a device which is connected to it.
  With the development of communication technology, Internet terminals are not limited to desktop computers and mobile computers, smart phones, tablet PCs, handheld gaming machines and even Google developed glasses, watches can also access to the internet.
  At present, modern people from all walks of life need to use the Internet to work, entertainment and consume. To some degree, the Internet is not only a public media, but also a lifestyle.

Let there be logic
  Just as the Marx said, “Human society is constantly moving forward in contradiction and conflict.” It also works on the development of computer programming and the biggest contradiction and conflict is the crisis of capacity and complexity. The solution for dealing with this conflict result in eighth evolution of computer programming.
  At first, programming was generated and developed by promoting the effectivity of brewing beer and making ancient music box. In 1836, Charles Babbage proposed a calculating machine inspired by ancient programming technology which was controlled by two sets of Jacquard cards. One set would contain the numbers to be operated upon while the other set would contain the controlling information. It was the original concept of computer.
  Then in 1890, the huge scope of the census provided the impetus for the development of automated information processing and the demand for complex textile products led to the automation of process control. Many people anticipated the convenience of automatic programming and became the sincere followers.
  During World War 2, the third crisis occurred when code breaking forced the construction of one-purpose computers and their control programs. Ballistics studies brought on the fourth crisis. This crisis was resolved by the introduction of general-purpose computers containing memory-based programs which named ENIAC, the world’s first computer. But the problem was that banks of jacks were set in the plugboard for each step in the calculation and it would take a long time to install them before calculation.
  Recognizing this problem in 1946, John von Neumann proposed storing the program instructions in computer memory. Its immediate effect was to drastically cut the time for inputting a controlling program into a computer and caused the fifth crisis. A new logical science had to be invented to handle program logic flow. The incomprehensibility of computers generated the sixth crisis, causing the development of assemblers and high-level languages which expressed computer instructions in human terms. Finally, the scope of program applications brought on the seventh crisis. Development of top-down structured programming provided the solution. Poorly implemented user definable languages also attempted to resolve the crisis, but failed.
  Then, an intuitive leap was required to realize that by using the power of the computer itself, programming could be significantly simplified. Defining the problem
, outlining the solution, selecting and representing algorithms, coding, debugging, testing and validating, documenting, program maintenance, these eight steps became the golden rules of computer programing and development of modern object-oriented languages made it more convenient. And now, the appearance of a big amount of various apps used for computers or smartphones prove the great success of object-oriented languages.
  I don’t know how advanced the computer programing would develop in the future, but I know it would be driven by the new crisis of capacity and complexity, accompanied by the development of VR and AI.