EMT1111 Logic and Problem Solving Fall 2012 Dr. José M. Reyes Álamo Lecture 1 Outline The professor Class objectives Text book and references In class conduct Homework, assignments, and evaluation Blackboard Basic computer skills you should know Create your portfolio 1 The Professor José M. Reyes Álamo, Ph.D. • B.S., Computer Science, University of Puerto Rico at Bayamón • Ph.D., Computer Science, Iowa State University • Software Engineer for a Financial Software Company • Research Assistant at Iowa State University (Smart Home Environment) • Software Engineer and Programmer during my senior year and before grad school 3 Research Interests • Software Engineering • Embedded Devices programming (sensors, actuators, smart phones) • Smart Environments • Formal Methods and Model Checking • Service-Oriented Architectures and Web Services 4 Prof. Reyes Álamo José M. Reyes Álamo, Ph.D. Assistant Professor Computer Engineering Technology New York City College of Technology Office: V621 Email: jreyesalamo@citytech.cuny.edu Current CityTech website: http://openlab.citytech.cuny.edu/jreyesalamo/ 5 About the Class Tools to be Used • Learn Python and AppInventor for Android • Create small programs and apps to learn computer engineering concepts • Learn to solve problems following software engineering principles. • Encourage your creativity to use technology to solve problems. 7 Python • In this course we will use the Python programming language. • Python is a relatively simple programming language: – Fewer alternatives (one way to do it) – Easier to accomplish common tasks • This allows us to focus less on the language and more on problem solving 8 Python • Python in an interpreted language which allows you to type program statements into the Python window and see results immediately. • Other programming languages require an intermediate step before you can run a program called compiling. 9 Python • Python is useful for general problems as you can do things with it quickly. • Python is used to solve problems in many areas. Many packages are available to help for a particular area 10 App Inventor • Programming with blocks • Tutorials & small projects • You can develop Android apps 11 What kind of apps? 12 What kind of apps? 13 Why is programming so important? • This class is about programming; that is, is about creating software. • What is a computer without software? • What kind of job will you be able to get with no programming skills? 14 The syllabus • EMT1111 Logic and Problem Solving • https://sites.google.com/site/emt1111f12/syllabus 15 Basic computer skills • How to take screenshots (Windows) • How to take screenshots (Mac) • Finding pictures on the internet • How to download pictures from a website • findsounds.com • Inkscape • Aviary tools 16 Create your portfolio • Examples – Alejandro Medina + https://sites.google.com/site/dragonknight130/home – Martin Martinez + https://sites.google.com/site/martin168th/ – Ayouba Doumbia + https://sites.google.com/site/ayoubadoumbia/ • Minimum requirements – Short bio with picture (for home page) – A web page for each app: + + + + A description about what the app does A picture of the main screen (emulator) A picture of the blocks diagram The .zip file with the source code (name it using your last name) 17