Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIT 590 Intro to Programming Lecture 1. By way of introduction … Arvind Bhusnurmath There are no bonus points for pronouncing my last name correctly Please.

Similar presentations


Presentation on theme: "CIT 590 Intro to Programming Lecture 1. By way of introduction … Arvind Bhusnurmath There are no bonus points for pronouncing my last name correctly Please."— Presentation transcript:

1 CIT 590 Intro to Programming Lecture 1

2 By way of introduction … Arvind Bhusnurmath There are no bonus points for pronouncing my last name correctly Please call me Arvind New to teaching at Penn However, not new to Penn. Graduated 2008 Ex GRASPee – thesis on convex optimization in computer vision

3 Who is this course for? non CS majors. 591 is the preferred course for MCIT. People who want to learn the basics of programming and have never programmed before People who have programmed before but have not used that skill in a while

4 Contents of the course 50% Python and 50% Java Why begin with Python? Easier language to pick up you can spend more time thinking about programming logic and algorithms, and less time thinking about correct syntax Interpreted language (more on that in a bit) An actual commercially used language in places like Google, Youtube most of the lines of code for YouTube are still in Python. Everytime you watch a YouTube video you are executing a bunch of Python code. Why transition to Java? Instills the fundamentals of object oriented programming Used in many legacy applications Android applications are in Java Higher chances of getting a job

5 Resources for Python Exploring Python by Timothy Budd Use this book as an active participant. Read it with a computer in front of you and typing things out as you go along. Byte of Python – free e-book that you can dowload and carry around as a handy reference Byte of Python

6 Exams, homeworks etc Homework every week. Deadlines will be strictly enforced. If you do have an emergency, send me email or have one of your classmates send me email Lab (officially called recitation) every Friday. The 10:30 slot will be led by the TAs I will show up for most 1:30 pm recitations Homework will be worth 55% of the grade Mid term 20% Final exam 25%

7 How to turn in assignments Canvas This is the first semester that the whole university is moving to this system. Should work, but please be patient

8 Python Created by Guido Van Rossum. First widely used around 2000. Actually named after Monty Python and not after animals that squeeze their prey to death

9 Python Interpreted language No compilation Dynamic typing If you’ve seen matlab or R this paradigm will look familiar

10 Python config Use python 2 and not python 3 We will try to stick to the IDLE for editing Remember to save your file as xyz.py before beginning to edit Lots of other options (Notepad++, Sublime Text, Pydev in Eclipse) for editing a python file but I will stick to IDLE

11 Python demo Using IDLE Throwing commands into the shell Configuring IDLE More on this in the lab session Data types Integers Float Boolean Strings – single, double and triple quotes Conversion between datatypes – str, int Do not worry about making mistakes. ‘With every mistake we must surely be learning’ – George Harrison

12 Variables in python Variables are used to keep track of information An assignment statement is of the form Variable name = value Proper naming of variables is important. Randomly named variables will result in loss of points in assignments You cannot use space, but can choose between second_best or secondBest(camel casing) “ Programs must be written for people to read, and only incidentally for machines to execute. ” - Abelson

13 Strings Strings are basically just collections of characters Can be indexed Always remember 0 indexing Strings are immutable Once a string is assigned to a variable, you cannot mess around with the characters within the string Slicing a string

14 Operators Experiment with operators in class to see 2 ** 3 7 % 5 65 // 11 ‘abc’ ** 3 Binary bitwise operations?

15 Functions in python Similar to the math concept of functions Functions on strings Functions that convert from one data type to another The fun ‘eval’ function Input and output functions Raw_input Print input

16 Writing a program tempConv.py

17 Writing a function def (arguments): function body … return output value tempConversionFunc.py

18 Example program Temperature converter example from the book Testing! No code is complete until tested In the industry, there are entire jobs associated with testing

19 Assignment statement Python has a very flexible assignment syntax area = length * breadth counter1 = counter2 = 0 area, perimeter = length * breadth, 2 * (length + breadth) x, y = y, x Extremely elegant way to swap the values of two variables

20 Conditionals If If, else and the importance of proper indentation The elif statement (because we got so tired of writing ‘else if’)

21 While loops Repeated execution multiplicationTable.py Infinite loops CTRL + C is your best friend

22 For loop When we have an arithmetic progression for x in range(1,10) When we are looping through characters in a string for ch in ‘Philadelphia’

23 Example program in Python For loop Conditionals numWords.py

24 Summary Logistics of the course Python setup Lots of examples using the Python shell Please do try out some more at home! Conditionals - if, else, elif Loops Writing an actual program The importance of commenting Indentation not only is it key, Python will simply not work for you if you disobey the indentation rules)


Download ppt "CIT 590 Intro to Programming Lecture 1. By way of introduction … Arvind Bhusnurmath There are no bonus points for pronouncing my last name correctly Please."

Similar presentations


Ads by Google