1 / 35

Introduction to Computers and Programming

Introduction to Computers and Programming. 01204111 – Computer Programming. What is a computer?. A computer is a machine that Follows instructions (software) in memory Reads input data Stores and processes data Produce outputs. Development. Abacus Analytical Engine

Download Presentation

Introduction to Computers and Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Computersand Programming 01204111 – Computer Programming

  2. What is a computer? • A computer is a machine that • Follows instructions (software) in memory • Reads input data • Stores and processes data • Produce outputs

  3. Development • Abacus • Analytical Engine • 1 Generation (1940-1956): Vacuum Tubes • 2 Generation (1956-1963): Transisters • 3 Generation (1964-1971):Integrated Circuits • 4 Generation (1971-Present): Microprocessors,VLSI/ULSI

  4. Types of computers • Desktop computers • Notebook computers • Mobile computers(Personal Digital Assistants, PDA) • Mainframes • Super computers Microcomputers

  5. Hardware • Input devices • Output devices • Central Processing Unit (CPU) • Main memory • Storage

  6. Computer Programming • To program a computer is to write instructions so that the computer can complete the required task. • These instructions must be specific and unambiguous. • To do so, you have to think carefully and describe your idea into instructions in the language that the machine can understand.

  7. Basic Steps Problem analysis Program design Implementation Testing

  8. Programming languages • Programming languages • Low-level languages. e.g., machine languages, assembly language • High-level language. e.g., C, Pascal, Java, C#, Python

  9. Low-level languages • Instructions depend on the specific architecture of the machines • E.g.,x86, ARM, AVR architectures • Each instruction correspond to specific cycle of execution • A program written for a specific architecture cannot be executed in another architecture.

  10. Low-level languages 00011000 01101011 00011001 11111100 10011000 11100000 • Machine languages • Ready to be executed • Usually written as binary or hexadecimal numbers • Assembly language • Encoded machine languages • Each instruction corresponds to one machine instruction. รหัสฐานสอง 18 6B 19 FC 98 E0 รหัสฐานสิบหก SUB R3, #2, R6 01 011 110 00000010

  11. High-level languages • Read more naturally • Are usually independent of the underlying architecture. -> More portable • Each statement may correspond to many machine instructions SUM := A * 2 + ALPHA/3; PRINTLN(SUM);

  12. Procedural Fortran Cobol Basic C Pascal Functional Lisp Object-oriented C++ Java C# VB Logic Prolog Example of high-level languages

  13. Program Execution • A computer does not "understand" high-level languages. • To execute program in these languages, you need either: • An interpreter • A compiler

  14. อินพุท prog.bas ซอร์สโค้ด เอาท์พุท Interpreters • An interpreter reads each high-level language instruction and executes that instruction, one by one. อินเทอร์พรีเตอร์

  15. อินพุท prog.c prog.exe ซอร์สโค้ด รหัสภาษาเครื่อง เอาท์พุท Compilers • A compiler reads the whole program and translate it into machine readable instructions. คอมไพเลอร์

  16. Languages used in this course • Python • An interpretative language • Can be used on many computing systems (e.g., on MS Windows, Unix, and even some mobile phones). • C# • A compilation language • More restrictive syntax • Very good for developing GUI applications

  17. Python • Is a multi-paradigm programming language • Procedural • Functional • Object-oriented • Is an interpretative language • Easy to get started • Very rich standard library

  18. Installation • Download Python 3.1 at • http://www.python.org/ftp/python/3.1.2/python-3.1.2.msi • After the installation, you can try calling the Python Shell from the Start Menu.

  19. Thinking Corners • Try to guess what the following program is doing. 1: 2: 3: 4: 5: 6: 7: 8: print("Welcome") g = input("Guess the number: ") guess = int(g) if guess == 5: print("You win!") else: print("You lose!") print("Game over!")

  20. Natural languages • A program is not that different from human natural language 1: 2: 3: 4: 5: 6: 7: 8: Display "Welcome" Let g be input("Guess the number: ") Let guess beint(g) if guess equals5: Display "You win!" else: Display "You lose!" Display "Game over!"

  21. Interaction with Python A "prompt" that shows that the system is ready to take commands

  22. Try this • Try these commands (Don't type>>>) and observe the output >>> print(1) >>> print(3*8) >>> print("Hello") >>> input() >>> exit()

  23. Combining instructions into programs • We can combine many instructions into a single program for ease of usage later on. • Each instruction are executed in order from top to bottom. • We call this sequence of instructions "a program". • You can use any editing software to create this program file, e.g., Notepad. • Python programs's names end with .py ,e.g.,first.py

  24. input prog.py program output Traditional program development cycle Editor Python The development process gets much simplified with the use of IDE's.We shall talk about a particular IDE on the next few slides.

  25. How to run your program • You can double-click at the.py file. The Python interpreter will start to execute your program. • Notes: After the program finishes, the window will be closed immediately. • By adding a command"input()", you can keep the window opened.

  26. Wing IDE 101 • In this course, we will develop programs in an Integrated Development Environment (IDE) • It has a build-in editor • Can execute programs insidethe system • It comes with a debuggingtool.

  27. Turtle-style graphics • We shall learn basic ideas of programming by telling and teaching turtles to draw. • From the Python Shell we can start using the Turtle graphics system by typingfrom turtle import *

  28. What can a turtle do? • Moves forward/backward • Turns left or right • Takes a pen with it

  29. Basic turtle control • t = Turtle() – Create a turtle, call itt • t.forward(d) - tellt to walkd steps • t.backward(d) - tellt to walk backwardsd for steps • t.right(a) - tellt to turn right foradegree • t.left(a) - tellt to turn left foradegree • t.penup() – tellt to lift the pen up from the canvas • t.pendown() - tellt to put the pen back to the canvas

  30. Tell the turtle to draw a square • In English: Walk for100steps Turn right90degree Walk for100steps Turn right90degree Walk for100steps Turn right90degree Walk for100steps Turn right90degree

  31. Tell the turtle to draw a square • In Python: from turtle import * t = Turtle() t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100)

  32. Teach the turtle • You can define new commands using def from turtle import * t = Turtle() def square(): t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) square() Make sure the indentation is aligned.

  33. Repetitive instructions • The instructions are very repetitive. • High-level languages have ways to reduce this instruction repetition and duplication • To reduce program complexity and increase readability. from turtle import * t = Turtle() def square(): for x in range(4): t.forward(100) t.right(90) square()

  34. Thinking Corner • Write a program that tells the turtle to draw a equilateral triangle whose sides are 200-step long, on the canvas.

  35. Software required for the first half • Python3.1.2 • http://python.org/ftp/python/3.1.2/python-3.1.2.msi • Wing IDE 101 • An integrated development environment for Python • http://wingware.com/pub/wingide-101/3.2.5/wingide-101-3.2.5-1.exe

More Related