tm 331 computer programming introduction to class introduction to programming n.
Skip this Video
Loading SlideShow in 5 Seconds..
TM 331: Computer Programming Introduction to Class, Introduction to Programming PowerPoint Presentation
Download Presentation
TM 331: Computer Programming Introduction to Class, Introduction to Programming

TM 331: Computer Programming Introduction to Class, Introduction to Programming

519 Views Download Presentation
Download Presentation

TM 331: Computer Programming Introduction to Class, Introduction to Programming

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. TM 331: Computer ProgrammingIntroduction to Class,Introduction to Programming

  2. Outline for Today • Course Description • What material will we cover? • What am I getting myself into? • Administrative Issues • Course Web Page, Text Book, Exams, Office Hours, Homework, Grading, etc. • Syllabus • Intro. to Programming Languages and Python • Reading • Section 1 of the text. • First assignment – Exercises at the end of Section 1 (page 16). • 2

  3. Catalog Description • Study of computing systems manipulation using a current programming language. Includes input/output techniques, program processing control, file processing and database interfacing. • 3

  4. What the class is really about There are three main goals of this course: 1. Basics of Python • Core Concepts of Programming Languages • Using programming to solve mathematics and science problems • 4

  5. Basics of Python • Python is a popular programming language, with an emphasis on readability. • We will learn all the specifics of how to program in Python. • This includes all the peculiar rules that are specific to Python. • We will cover the fundamentals: Variables, Arithmetic, If / Else, For Loops, While Loops, Arrays, Methods, etc. • 5

  6. An Example /* Sample Python Program */ i = 1 while i <=10: print i i += 1 This program counts from 1 to 10. In a few weeks all of the details, including the colon and the indention, will make sense. • 6

  7. Concepts of all Programming Languages • There are many programming languages available: Python, Java, C, C++, etc. • All of these languages share core concepts. • By focusing on these concepts, you are better able to learn any programming language. • Hence, by learning Python, you are poised to learn other languages, such as C++ or Java. • Note: Python is an object oriented programming (OOP) language. However, we won’t be discussing this aspect very much. • 7

  8. An Example: For Loops • Python has a construct called a for loop that enables a program to repeat actions over and over. • Most other languages also have a for loop. • Hence, by learning about for loops in Python, you can easily learn for loops in Java or C. • 8

  9. Comparing For Loops # Sample Python # for Loop for i in range(10): print i+1 /* Sample JavaScript for Loop */ var i; for (i = 1;i < 11;i++) { console.log(i); } Both of these also count from 1 to 10. Compare the readability of Python vs. JavaScript. • 9

  10. Course Web Site • Course web site is available at: Web site contains the following information: • Course Syllabus • Class text • Homework assignments • Class notes • Class programs • 10

  11. Chapter 1 : Why Program? • Our primary motivation is to be more productive in handling data and info • Most of us are “end-users” of programs on computers, phones, etc. • By the end of this course, you will be on your way to being the programmer and the end-user.

  12. 1.2 - Computer Hardware • CPU – Always asking “What’s next?” 1.0 Gigahertz = “what’s next” 1 billion times per second • Main memory – store info computer needs quickly. Gone when computer is turned off. • Secondary Memory – Slower to access than main memory, but stays even without power. • I/O devices – Screen, keyboard, etc. Ways to interact with the computer • Network – Can be thought of as a slower, unreliable form of secondary memory.

  13. Programmers answer the CPU’s “What next?” question. • You may talk to the CPU and tell it to use the main memory to do something. • The instructions to the CPU is a program.

  14. Hardware Trends • Every year or two the following approximately double (Moore’s Law): • Amount of memory in which to execute programs • Amount of secondary storage (such as disk storage) • Used to hold programs and data over the longer term • Processor speeds • The speeds at which computers execute their programs • 14

  15. 1.4 - Programming – Vocabulary • Vocabulary to talk to CPU • Python’s vocabulary is small – reserved words like and, for, elif, try. • Writing programs involves teaching Python new words, variables. • Cannot use reserved words as variables.

  16. 1.5 - Programming - Language • Simply sing the correct vocabulary is not enough. • We must speak in a language Python understands. >>>I come in peace, take me to your leader Syntax error! >>>print ‘I come in peace, take me to your leader’

  17. If you use a word that is not a reserved word and not declared to be a variable, Python will give you a Name Error. >>>good-bye

  18. 1.6 - Interpreters and Compilers • Computers cannot understand human-language. They understand machine-language. • Machine-language is all ones and zeros. • To get a computer to understand a high-level language like Python, we have to translate.

  19. Interpreters • The first type of translator is an interpreter. • Interpreters read the source-code a programmer writes, parses the code, and interprets it on-the-fly. • Interpreters can be interactive. • Python is an interpreter.

  20. Example >>> x = 6 >>> print x >>> y = x * 7 >>> print y

  21. Compilers • Compilers need to have the entire program written into a file. It runs a process to convert the program to machine-language, and saves this for later use. • File extensions such as “.exe” (executable) and “.dll” (dynamically loadable library) are examples. • C is a compiled language.

  22. Rest of Today • Work through the rest of Section 1 • Begin Homework problems

  23. Chapter 2 and 3 were presented in lecture format in the classroom.

  24. Chapter 4: Functions • A function is a named sequence of statements that performs computations. • You ‘call’ the function by name. >>>type(32) <type ‘int’> • The function name is type.

  25. Functions takearguments and returns a result. >>>type(32) <type ‘int’> • In this case, type takes the argument 32 has a return value of int.

  26. 4.2 - Built in Functions • max and min of a list >>> max('Hello world') >>> min('Hello world') • Length function >>> len('Hello world') >>> len([1,2,3]) >>> len(125)

  27. 4.3 - Type conversion - int() • Value to integer >>> int('32') >>> int('Hello') • Doesn’t round floats >>> int(3.99999) >>> int(-2.3)

  28. Type conversion – float()&str() • float() converts integers and strings to floating point numbers >>> int(-2.3) >>> float('3.14159') • str() converts its argument to a string >>> str(32) >>> str(3.14159)

  29. 4.4 - Random numbers • Programs that generate the same output every time are deterministic. • Truly nondeterministic programs are hard to make. • Most of the time we use pseudorandom numbers.

  30. random module • The module random generates (pseudo) random numbers. • random returns a floating point greater than or equal to 0.0 and strictly less than 1.0. import random for i in range(10): x = random.random() print x

  31. More randomness • Other options for random numbers are random integers between two other integers >>> random.randint(5, 10) • Choosing a random element of a list >>> t = [1, 2, 3] >>> random.choice(t)

  32. 4.5 - Math Functions • Go ahead and import the math module >>> import math >>> print math >>> help(math)

  33. Python math documentation .

  34. As with the random module, we have to use dot notation to call math functions. >>> radians = 0.7 >>> height = math.sin(radians) >>> math.pi

  35. Recall to convert from degrees to radians, divide by 360 and multiply by 2pi. >>> degrees = 45 >>> radians = degrees / 360.0 * 2 * math.pi >>> math.sin(radians)

  36. Digression on Scripts and Directories • Go to Start – All Programs – Python 2.7 – IDLE (Python GUI) • This opens the Python Shell, which looks a lot like the command line interface. • Instead of ‘arrow up’ and ‘arrow down’ giving the history, you can use alt-p for ‘previous’ and alt-n for ‘next.’ • (Or you can just remap the keys in Options)

  37. The advantage to using the shell is that you have a nice scripting program nearby. • In the shell, click File – New Window (or hit ctrl-n) • This opens a new window inside the Python GUI • We can use this to type long (or short) sequences of code to be used again and again.

  38. In the new windows enter the following commands (with no indentation) hi = “Hello world!” print hi • Run the program by clicking Run – Run Module or by hitting F5. • You’re asked to save the file first. For now save it in the default directory as ‘’ • Run in shell with >>>execfile(‘’)

  39. Storing Class Files in SkyDrive • Navigate to • Log in with your lions email and password. • Create a folder to store all your Python scripts for this class. • Make a new folder on the Desktop and name it Python.

  40. Go back to the edit window in Python and save the ‘’ file into the ‘Python’ folder on the Desktop.’ • In the Python shell, File – Open and navigate to the ‘’ file in the ‘Python’ folder. • The ‘Python’ folder is now your current working directory. Anything you save will save here and execfile() will run files from here. • Now any work you do can be uploaded/dowloaded to/from SkyDrive.

  41. 4.6 - Creating New Functions • In a new edit window in Python, type the following code: Def print_lyrics(): print “I’m a lumberjack and I’m okay.” print ‘I sleep all night and I work all day.’ • (Notice the use of quotation marks.) • (Scripting in IDLE isn’t the best thing to do. We’ll learn better ways later.)

  42. Run the function with F5 (and save it into your desktop Python folder). • On the shell, check the type of the function you just created. >>>type(print_lyrics)

  43. Once functions are defined, you can use them in other functions. From the shell def repeat_lyrics(): print_lyrics() print_lyrics() Call the function with repeat_lyrics()

  44. 4.9 - Parameters and Arguments • In the edit window or the shell, enter def print_twice(bruce): print bruce print bruce • Putting something inside the parenthesis tells Python that our function takes an argument.

  45. The function works with anything that can be printed. print_twice(‘Hello world!’) print_twice(17) print_twice(‘Hi’*4) import math print_twice(math.sin(math.pi/2)) • We can use variables in functions. montyPython = ‘A funny show.’ print_twice(montyPython)

  46. Quiz on Section 4.10 on Tuesday

  47. Chapter 5: Iteration • It’s common to update assignments of variables in terms of the variables themselves. >>> x = x+1 • We have to initialize the variable first. >>> x = 0 >>> x = x+1 >>> x Adding 1 is called an increment, subtracting 1 is called a decrement

  48. 5.2 – The while statement • Computers are good at automated repetitive tasks. People aren’t. • Using while is one type of iteration. n = 5 while n > 0: print n n = n-1 print 'Blastoff!' Pay attention to the indentation.

  49. while [condition]: [action if true] [action if false] (Note the possible looping behavior)

  50. 5.3 – Infinite Loops while True: print “I can’t stop!” print ‘Help!’ • You can kill the loop with ctl-c.