Intro to Programming Lecture 1

Slides:



Advertisements
Similar presentations
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.
Advertisements

Intro to CIT 594
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.
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
Intro to CIT 594
Intro to CIT 594
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
26-Jun-15 Getting Ready for CIT Labs Lab is scheduled for 3;00-4:30 Fridays in Moore 207 Lab is not in Towne 309 (Registrar has it wrong) Everyone.
Class 1: What this course is about. Assignments Reading: Chapter 1, pp 1-33 Do in Class 1: –Exercises on pages 13, 14, 22, 28 To hand in in Class 2: –Exercises.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
30-Jun-15 Getting Ready for CIT Labs Lab is scheduled for 1:30-3:00 Fridays in Moore 207 Lab is not in Towne 313 (Registrar has it wrong) Everyone.
Intro to CIT 594
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
Recitation 1 Programming for Engineers in Python.
Welcome to CompSci 100! As You Arrive… Make sure you grab a syllabus packet. Read through it. I will be covering the most essential points in my talk,
Welcome to CS 115! Introduction to Programming Fall 2015.
Welcome to CS 115! Introduction to Programming. Class URL Please write this down!
CS110/CS119 Introduction to Computing (Java)
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
COMP Introduction to Programming Yi Hong May 13, 2015.
Introduction to Python
1 Agenda Administration Background Our first C program Working environment Exercise Memory and Variables.
CS 114 – Class 02 Topics  Computer programs  Using the compiler Assignments  Read pages for Thursday.  We will go to the lab on Thursday.
Catie Welsh January 10, 2011 MWF 1-1:50 pm Sitterson 014.
17-Dec-03 Intro to CIT 594 ~matuszek/cit594.html.
CIT 590 Intro to Programming Lecture 4. Agenda Doubts from HW1 and HW2 Main function Break, quit, exit Function argument names, scope What is modularity!
Introduction to Databases Computer Science 557 September 2007 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
CIT 590 Intro to Programming First lecture on Java.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Class 1: What this course is about. Assignment Read: Chapter 1 Read: Chapter 1 Do: Chapter 1 ‘workbook’ pages not finished in class Do: Chapter 1 ‘workbook’
Lecture Section 001 Spring 2008 Mike O’Dell CSE 1301 Computer Literacy.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
INTRODUCTION TO PROGRAMMING ISMAIL ABUMUHFOUZ | CS 146.
IST 210: Organization of Data
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
A First Program CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Credits: a significant part of.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Data Structures and Algorithms in Java AlaaEddin 2012.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Course Information and Introductions Intro to Computer Science CS1510 Dr. Sarah Diesburg University of Northern Iowa 1.
Introduction to CIT Mar-16.
CIT 592 Discrete Math Lecture 1. By way of introduction … Arvind Bhusnurmath There are no bonus points for pronouncing my last name correctly Please call.
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
Welcome to CS 115! Introduction to Programming Spring 2016.
Lecture 1b- Introduction
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
Course Information and Introductions
CSCI 203: Introduction to Computer Science I
Introduction to Programming
PROBLEM SOLVING AND PROGRAMMING
Introduction to Programming Spring 2016
Week 1 Gates Introduction to Information Technology cosc 010 Week 1 Gates
CS190/295 Programming in Python for Life Sciences: Lecture 1
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1301! Principles of Programming I.
Accelerated Introduction to Computer Science
C Programming Lecture 1 : Introduction
C Programming Lecture 1 : Introduction
Intro to CIT 594
CSCI 203: Introduction to Computer Science I
CS201 – Course Expectations
Presentation transcript:

Intro to Programming Lecture 1 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 call me Arvind. I am pretty informal. Graduated 2008 from Penn Worked on my PhD as part of GRASP Worked in Software for 5 years – APT www.predictivetechnologies.com

Who is this course for? non CS majors. Really not meant for EMBS/CGGT/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 long time.

Who should not take the course If you have written a project in any programming language. Programming languages come and go, you do not need to take a course just to learn a new language. People who have a lot of other coursework This course will require a time commitment Programming assignments every week – most of them are time consuming. If you drop/waive the course, people on the waiting list will be very happy. Current wait list = 60 people. If you have not put your name on the waitlist yet, sorry. Consider taking CIT 597 if you have basic programming experience and want to take a ‘next level’ course.

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. An actual commercially used language in places like Google, Youtube most of the lines of code for YouTube are still in Python.

Contents of the course Why transition to Java? Object oriented programming (the cool prevalent paradigm) Used in many many applications Android applications are in Java Higher chances of getting a job if you know it. 10,000 hits for Python developer v/s 30,000 hits for Java dev Used in most other courses in the CS department as Penn.

Keeping track of CIT590 http://www.seas.upenn.edu/~bhusnur4/cit590_spring2015/schedule.html Canvas for HWs canvas.upenn.edu Piazza for discussions piazza.com/upenn/spring2015/cit590

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. Highly highly recommend buying this book. Byte of Python – free e-book that you can download and carry around as a handy reference https://github.com/abhusnurmath/rando/tree/master/cit590Examples Contains a bunch of examples from the previous editions of the course. Caution: some might not be relevant. PLEASE DO PAY ATTENTION IN CLASS.

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 Homework will be worth 50% of the grade Mid term 25% Final exam 25%

Lectures and labs 2 lectures and 1 lab every week Please go to the lab section that you signed up during registration We will cover a mix of syntactic aspects as well as elements of programming style. Documentation, variable names, conventions Unit testing Debugging Encouraged to bring laptops to class to follow along If you spend time playing candy crush/facebook… Tough to wait until every one has managed to run their program so slides being used.

TA office hours (also posted on piazza) All office hours are in Moore 207 (write code on board) Juntao Wang - Wed 4pm - 6pm Theresa Briener - Mon 3 - 5 pm Lade (Fumilade Lesi) - Tue 12-1 pm Paul Lee - Thur 6pm - 8pm Wei Song- Wed 2pm - 4pm Alex (Cheng Cheng) - Tue 6:30pm - 8:30pm Yao Chu - Thur 6pm - 8pm Spriha Baruah - TBD

How to turn in assignments Canvas. Assignments will be due on Friday mornings (4 am). Really you should think of Thursday midnight as your deadline. Late assignments have a 10% penalty per day. My computer crashed is NOT an excuse for late HW Highly recommend using dropbox/git to make sure you have previous versions of your work.

Requisite slide about plagiarism and cheating DON’T CHEAT!! http://www.seas.upenn.edu/~bhusnur4/cit590_spring2015/overview.html

Python Created by Guido Van Rossum. Actually named after Monty Python and not after animals that squeeze their prey to death

Python Interpreted language No compilation If you’ve seen matlab or R this paradigm will look familiar There is no intermediate stage when you run the program This does mean that sometimes it is hard to figure out mistakes in a program. Do not make the mistake of typing out large chunks of code and not testing it at all.

Python config Use python 2 and not python 3 http://www.python.org/download/releases/2.7/ We will try to stick to the IDLE for editing Remember to save your file as xyz.py before beginning to edit Other options for editing a python file (I will stick to using IDLE) Vim/vi Emacs Notepad++ Sublime text PyCharm Eclipse with PyDev

Python demo IDLE Throwing commands into the shell Configuring IDLE More on this in the lab session Data types Integers Float Boolean There are tons of operators. Please spend some time experimenting with them Do not worry about the bit shift operators for now http://www.tutorialspoint.com/python/python_basic_operators.htm Do not worry about making mistakes. ‘With every mistake we must surely be learning’ – George Harrison

Input and Output print – prints to the console print ‘CIT 590 has a huge waitlist!’ print “CIT 597 is open” Input – method for inputting a number X = input(‘give me a number’) The number input by the user gets stored in the variable x raw_input name = raw_input(‘what’s your name?’) The character string input by the user gets stored in the variable called name

Writing a program A sequence of statements that will be executed one by one Remember to save your file with the extension “.py” tempConv.py

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.

Operators Experiment with operators in class to see ** used for power operation // used for divide and floor simpleMath.py