1 Computing for Engineers in Python Autumn 2011-12.

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

C Programming for engineers Teaching assistant: Ben Sandbank Home page:
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
1 i206: Distributed Computing Applications & Infrastructure 2012
CS 197 Computers in Society Fall, Welcome, Freshmen!
Intro to CIT 594
Intro to CIT 594
CS 232 Geometric Algorithms: Lecture 1 Shang-Hua Teng Department of Computer Science, Boston University.
CMSC 132: Object-Oriented Programming II
Statistical Methods in Computer Science Course Introduction Ido Dagan.
COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
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
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
COMP 110 Introduction to Programming Jingdan Zhang June 20, 2007 MTWRF 9:45-11:15 am Sitterson Hall 014.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
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.
EECS 110: Introduction to Programming for Non-Majors
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 1 1.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
Feb. 2006RUFO- 2nd Workshop Al-Quds University Rashid Jayousi, PhD Computer Science Dept. Experiences in E-learning.
1 Programming for Engineers in Python Autumn Lecture 2: More Basics.
1 HCC Brandon Independent Study Orientation Power Point Instructor: Tiffany Cantrell.
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.
PHP Basics Course Introduction SoftUni Team Technical Trainers Software University
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
CS 106 Introduction to Computer Science I 01 / 25 / 2010 Instructor: Michael Eckmann.
Programming for Engineers in Python Sawa 2015 Lecture 1: Introduction to Python 1.
Welcome to IIT and cs115!.
1 Agenda Administration Background Our first C program Working environment Exercise Memory and Variables.
Let’s do some introductions
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
ECET – Dynamic Programming with Python Spring 2013 Lecture L1 – Introduction to Python Page 1 Welcome! This is Professor Jai P. Agrawal. I will walk.
Intro to CIT 594
Lecture 1: Overview CMSC 201 Computer Science 1. Course Info This is the first course in the CMSC intro sequence, followed by 202 CS majors must pass.
CS 162 Introduction to Computer Science II Winter, 2014: 60 Spring, 2014: 60 Summer, 2014: 71.
EECS 110: Introduction to Programming for Non-Majors Aleksandar Kuzmanovic Northwestern University
Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
Data Structures and Algorithms in Java AlaaEddin 2012.
CIS101 Introduction to Computing Week 01. Agenda What is CIS101? Class Introductions Using your Pace Introduction to Blackboard and online learning.
About Me Jesse Hartloff Office: 203 Davis Office hours: TBD.
The First Day of Class. Introduction Day one is unlike any other day of the semester. Treat it as such. On the first day, you and your students will meet.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
CS6501 Advanced Topics in Information Retrieval Course Policy
How to use By Zainab Muman
Computer Science 102 Data Structures CSCI-UA
CS190/295 Programming in Python for Life Sciences: Lecture 1
Introduction to Programming Using C++
Accelerated Introduction to Computer Science
Intro to CIT 594
Intro to CIT 594
CS102 Algorithms & Programming II
Presentation transcript:

1 Computing for Engineers in Python Autumn

2 Welcome! You are about to take a new programming course in Python This is the first run ever of this course The idea is to enable you to use programming as a tool to solve “real world” problems Hard work is required!

3 Course Objectives Develop basic computing skills (programming, algorithms, applications)

4 Administration Instructor: Assaf Zaritksy assafzar AT tau.post.ac.il Office hours: by e-appointement (also TAs) Shenkar building 405a Teaching Assistants: Noga Levy, Yoav Ram Web via Moodle: Everything is there! Course material (lectures, practical sessions, hw, code examples from the site: ), forum, homework submission and grading Your responsibility to be updated!

5 Practical Sessions In a standard classroom Purposes: Practice topics that were presented in class “Preparations” for next week’s class Background for homework assignments Learn practical tools Lectures will be harder to understand, and it is ok…

6 Homework 1 N = assignments Some assignments will contain a set of short technical tasks, the rest will be “interesting” Each assignment is worth 1-3 points of the final grade for a total of points Each assignment is graded to one of four grades (0,60,80,100), no bargaining! In order to pass the course you must pass the final exam and at least N-2 assignments

7 Homework 2 Submission in singles via Moodle It is allowed (and encouraged) to talk, share ideas, and help friends. No code-sharing! TAs will answer hw-related questions in the forum (make sure no one have asked the same question before) Staff s are to be used only for personal matters No code in the forum! Do not send code to the staff! We try to answers s within 48 hours

8 Homework 3 Each student has 5 grace days for late submission throughout this course If you submit late for a valid reason, attach a “late submission” note with your submission – no need to mail anyone! Approach the grader directly with homework submission/grading problems Miluim, long illness periods – you decide whether to get a PTOR or submit late

9 A Personal Note on HW It will take you a lot of time and frustration It is an engineering difficulty: figuring out what's wrong with a system and how to fix it You're engineers: make it work! There is no other way to learn how to program Believe me…

10 Exam Exam on 27.2 (Moed B on 4.4) Final grade is composed out of homework and final exam You must pass the exam to pass the course Written exam No references Includes all course material: class, practical sessions and hw

11 Working Environment Lab 008 Home versus labs VS.

12 Syllabus Tentative, not in order, probably too ambitious Python programming basics Using packages Recursion Sort & search algorithms, runtime analysis Dynamic programming Error handling Input/output Graphical user interface (GUI) Simulation Optimization Data analysis Control Signal processing

13 Resources Course slides and pointers to relevant bibliography Many Python references, but many of them are in fact manuals for the language Recommended book and manual: Think Python, by Allen B. Downey, which is available online (basic) Python 2.7 documentation, is the official language manual, and a very useful resourcehttp://docs.python.org/ Dive Into Python by Mark Pilgrim, available online (more advanced)

14 Questions?

15 Preface We assume no prior knowledge in programming However, we advance fast The only way to keep on track is to practice, a lot!

16 Plan for Upcoming Weeks Week 1: quick overview of Python, in a more “organized” manner in tirgul Week 2: more basics (class + tirgul) Week 3: simulation (class), more basics (tirgul)

17 Today Basic terms Python basics: learn by examples Variables Lists Strings Functions Branching (if) Loops

18 Computer מכונה המעבדת נתונים על פי רצף פקודות נתון מראש מחשב = חומרה + תכנה מעבדאמצעי פלט אמצעי קלט זכרון (עכבר, מקלדת, דיסק קשיח) (מדפסת, מסך, דיסק קשיח)

19 Algorithm סדרת פעולות סופית לביצוע משימה מסויימת Algorithm InputOutput

20 Machine Code (Language) Computers understand only machine language Basically looks like a sequence of 1’s and 0’s Very inconvenient to work with and non intuitive All other computer languages were created for human convenience The computer does not understand C/C#/Java/Scala Must be “translated” into machine language

21 Programming Languages Basics A computer program is a sequence of instructions (texts) that can be “understood" by a computer and executed by it A programming language is a machine-readable artificial language designed to express computations that can be performed by a computer

22 There are Many Programming Languages Over 500 different computer languages are listed by Wikipedia

23 Language Selection Goal Runtime vs. Development time Operating systems Platforms

24 Python Python is a general-purpose, high-level programming language Conceived in the late 1980’s by Guido van Rossum at CWI in the Netherlands Numerous users in many domains Used as a first programming language in many universities (MIT, TAU CS) the origin of the name is based on the television series Monty Python's Flying Circus

25 Last Note Before Starting We Start “Stolen” from Benny Chor’s slides

26 Hello World!

27 Hands On

28 Functions Spaces / indentation!! What are functions good for?

29 Passing Arguments to Functions

30 If/Else

31 Formal Definition

32 Logical Operators

33 Python is Lazy…

34 Handling Mistakes Understanding interpreter’s messages (see previous examples) It will take you some time to gain experience…

35 String Type

36 Strings Structure

37 Strings Built In Methods

38 How Would I Know? Built-in help (not very clear at all times) Python documentation Your favorite search engine The course’s forum

39 Lecture 1: Highlights Basic terms Functions Control structures (if/else) Strings