IT-109 – Introduction to Computer Programming (Python) Sections 003 and 005 Instructor: Gene Shuman Spring 2019 Introduction to IT-109 and Python 1 Software – the Good and the Bad • In the past 50 years software – a concept unknown before ~1970 – has become a vital part of modern infrastructure • It’s invisible and provides the “brain” that automates processes, controls devices, makes us productive, provides amusement, and helps us keep up with the world • Creating good software systems is very difficult and frequently very expensive and time consuming despite 30+ years of trying to figure out how to do it better • Creating high quality software is just hard to do • The primary goal of this course is to teach you how to create software to help solve problems or for some specific purpose • Congratulations on rising to the challenge! 2 Things Controlled by Software 3 More Things Controlled by Software 4 And More Things Controlled by Software 5 Still More Things Controlled by Software 6 And Still More Things Controlled by Software 7 Things Controlled by Software (Last example slide) 8 Software and the Practice of IT • “I hate writing code” • OK - Most IST graduates, including some specializing in DTP, will probably not have jobs that involve writing software code • But almost every IT-related job requires interacting with some facet of software development or support • As an IT expert with an IST degree should have a well-rounded IT education that includes how software is created and works • Doctors-in-training study anatomy and dissect cadavers to learn the details of what’s inside a human body • Likewise, IT experts need to learn how the inside of software-intensive systems work 9 Software and the Practice of IT • “I love writing code” • OK – this course, and the follow-on IT-209, are a great start to a career as a software developer • You should consider concentrating your IT degree in Database and Programming • If you like to do it and, especially if you’re good at it, you should have no problem finding a job and staying employed • But be aware that many “programming” jobs have large portions that don’t involve writing code 10 Who are we, and why are we here? • • • • • • • Name Major Year/standing Transfer student? Day job? Your goal in taking this course? Have you written a program before? 11 IT-109 Syllabus Review • Course syllabus review (see separate document) 12 How to Succeed in This Course • Read the assigned material prior to or immediately after the associated class – whether textbook or other source • You must write code to learn how to do it. You will make many mistakes – learn from them while their price is low. • Don’t start assignments or study for exams at the last minute – devote several sessions on those activities well before the due dates – learning is best done in many small increments or layers • Attend classes and labs – attend class regularly (informally, ≤ 3 absences) and miss no more than 1 Lab – the classes and Labs require only 2.2% of your weekly time • Participate in the classes and Labs – focus your attention on them while there (“Be here now”) • Learn to help yourself (e.g. www.python.org) • If you need help consult the GTA during Labs and office hours or me during office hours 13 Python • Python is a general purpose computer language that can be used to build almost any kind of software • Used for • • • • • • web development Data exploration and analysis AI/Machine learning Scientific computing Games Apps • Invented in 1990, open source (“free”) • Lots of third party support libraries • Large and active community of software developers 14 Python vs. Java • Which is better? 15 Python’s Use is Increasing 16 Growth of Python Use in High Income Countries 17 Well Known Python Software Systems • Well known software systems written all or partly in Python: • YouTube • DropBox • Google • Quora • Instagram • BitTorrent • Spotify • Reddit • Yahoo Maps • Hipmunk • Source: Hartmann Software Group 18 Python Web Site 19 Python Download 20 Python Demo • • • • • Python shell and IDLE editor Python is interpreted Interactive vs. script mode Demo interactive mode Follow-the-Leader (FTL) 21 Assignment • Find the course site on Blackboard and read the syllabus with the aim of asking questions at the next class • Read Chapter 1 of Dawson • Visit python.org • Download Python (v 3.6 or later) to the device you will use to do your programming assignments • Next time: we will continue (or start) our exploration of Python interactive mode 22 Questions … ? Gene Shuman gshuman@gmu.edu ENGR, Room 2219 Tel#: TBD Department of Information Sciences and Technology Volgenau School of Engineering 23