300 likes | 411 Views
Winter 2014. Computer Science 1MD3 Introduction to Programming. About the questions. I would like to answer your questions about python which you cannot understand well or some programs questions related to 1MD3.
E N D
Winter 2014 Computer Science 1MD3Introduction to Programming
About the questions • I would like to answer your questions about python which you cannot understand well or some programs questions related to 1MD3. • You can ask me your questions about the assignments, for example, you cannot understand the assignment questions themselves, or if you need some help when you are doing the python programs.
How to get my help • Email me and describe your questions in your email and I will reply to you as soon as possible when I read your email. But you need describe your questions clearly. Gmail Chat? Maybe Not a good way to explain program…… • Meet with me. If you hope to meet with me and ask the questions, you are welcome! But before that, please email me and we may know when is the available time for us, we can make sure the meeting time. • My email: • fumq@mcmaster.ca or mingquanfubonsoir@gmail.com • My office: ITB 206 • You can also contact other TA to get help. Other TA’s email, please see the website of 1MD3
Assignment 1 Due date: by Thu. Jan 30 23:00:00 2014
Assignment 2 Due date: by Wed Feb 26 23:00:00 2014
Introduction • Syntax and semantics of programming language • Syntax and semantics of python • Assignment statements • Conditional statements • Loop statements • Function • Exception (related to file I/O and object) • Assignment: • Main points of Assignment 1 • Main points of Assignment 2
Language and programming language • Language: [1] Language provides a means of communication by sound and written symbols. Human beings learn language as a consequence of their life experiences. • Natural language:[1] • We communicate our thoughts and feelings • Sometimes, it’s not very exactly in using science • Programming language:[1] • Can be viewed as artificial languages defined by men and women initially for the purpose of communicating with computers • but, as importantly, for communicating algorithms among people.
Syntax of programming language • Syntax refers to the ways symbols may be combined to create well-formed sentences (or programs) in the language. [1] • Syntax defines the formal relations between the constituents of a language, thereby providing a structural description of the various expressions that make up legal strings in the language. [1] • Syntax deals solely with the form and structure of symbols in a language without any consideration given to their meaning.[1]
Semantics of programming language • Semantics reveals the meaning of syntactically valid strings in a language.[1] • For natural languages, this means correlating sentences and phrases with the objects, thoughts, and feelings of our experiences. [1] • For programming languages, semantics describes the behavior that a computer follows when executing a program in the language. [1] • We might disclose this behavior by describing the relationship between the input and output of a program or by a step-by-step explanation of how a program will execute on a real or an abstract machine. [1]
Program • Program: • A computer program, or just a program, is a sequence of instructions, written to perform a specified task with a computer. [2] • Software: • A collection of computer programs and related data is referred to as the software. [2] • Math + logic + English (we need algorithms in programs)
Programming Languages How many programming Languages exists? Parts of them are here: http://en.wikipedia.org/wiki/List_of_programming_languages You may know or will study in future: • C, Java, C++, Haskell, Ruby, Pascal, Visual Basic, Object Pascal(Delphi), … www.michaelliut.ca/cs1md3
If Statements • Boolean • Boolean value: true or false • Boolean expression • if condition: print (……) elif condition: print (……) else • left associative : 5**2 **3 = (5**2)**3 • Right associative • Elifa+b+c ==a+b
This Flow Diagram is taken from [3] If Statements
Main points of assignment1 • If..elif • If a o b o c == (a o b) o c left associative • If a o b o c == a o (b o c) right associative • We need “import calendar” • from Eval (input(“”) to get the input year • By calendar.month(year, month) to get the month calendar
While Loop This Flow Diagram is taken from [3]
For Loop This Flow Diagram is taken from [3]
Main points of assignment1 • Using while loop or for loop • % modulo operator: find the division remainder of a number • s =s + v
. Function • Why do we need functions in python? • Syntax of function
Function The example adapted from [3]
Exception • What is Exception? • An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions.[3] • When a Python script encounters a situation that it can't cope with, it raises an exception. An exception is a Python object that represents an error.[3] • When a Python script raises an exception, it must either handle the exception immediately otherwise it would terminate and come out. [3] • Handling an exception: • If you have some suspicious code that may raise an exception, you can defend your program by placing the suspicious code in a try: block. [3] • After the try: block, include an except: statement, followed by a block of code which handles the problem as elegantly as possible.[3]
Exception The example adapted from [3]
Exception • It related to class and object. • Detail about Class and object will be explained next time!
Main points of Assignment 2 • Input stored in a list • Judge the input format • get the date, month and year from the list • Judge the year, month and date is OK or not • print the right result
Reference • [1] http://homepage.cs.uiowa.edu/~slonnegr/plf/Book/Chapter1.pdf • [2] http://en.wikipedia.org/wiki/Computer_program • [3] http://www.tutorialspoint.com/python/