Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Welcome to CS 115! INTRODUCTION TO PROGRAMMING SPRING 2017 The class URL is cs.uky.edu/~keen/115/115.html Please write this down! (yes, there are two 115’s in it) Personnel Dr. Debby Keen, Course Coordinator/Lab Instructor ◦ Office hours in Davis Marksbury 215 and RGAN 103: ◦ posted http://cs.uky.edu/~keen/myofficehours.html ◦ Email: [email protected] Teaching Assistants ◦ Office hours will be set up soon ◦ Held in EE Annex 205 ◦ You can talk to ANY of them about programming problems Thank you very much!! Laptop Policies Lecture ◦ Studies show most students with laptops open in front of them are NOT paying attention to the lecture ◦ IF you insist on using a laptop in lecture, you MUST sit in the very BACK row of the classroom, so that you distract only yourself and not other students Lab ◦ There are sufficient computers in each lab for every student but you can use your own laptop if you wish, even for lab tests Textbook and Supplies Textbook is required, an online book by Zyante “zybook” www.zyante.com $48 Exercises in the book will be 5% of the grade. Students are responsible for material in chapters that are in schedule and material covered in lectures Software we will use Python ◦ Open source and Free from www.python.org ◦ Get version 3.x – right now is 3.6 ◦ Easy to install on your machine, already in labs ◦ Includes IDLE Integrated Development Environment WingIDE 101 (optional but better than IDLE) ◦ 101 version is free (latest version 6.0.0-1) ◦ Less prone to crashes than IDLE ◦ from http://wingware.com/downloads/wingide-101/ For Attendance – on one 3x5 card On the FRONT of the card ◦ Write your NAME ◦ Write the DATE (January 12, 2017) ◦ Write your SECTION ◦ AND ... GOALS – please write them down On the front of the card, write: 1. What are your goals for this class? That is, what do you want to learn? 2. How much time do you expect to spend on this class OUTSIDE of lecture and lab time? And on the BACK of the card, describe What is the most complicated thing you have done with a computer? or What have you done with a computer that you are most proud of? We are trying to tell what level of experience you have with computers. Goals Activity - continued You can share your answers with a neighbor and add to your card if you like Compare your answers with the syllabus At end of class Turn in your card at the end of class by putting it in the envelope with the right section number at the front of the room The goals of the class are •To acquire an understanding of computer architecture and data representations (variables, representation of numbers and character strings) •To learn basic algorithmic problem-solving techniques (decision structures, loops, functions) •To be able to use and understand classes and objects •To be able to design, document, implement and test solutions to programming problems Experience in Programming This class assumes NO experience in programming It does assume some experience with computers and Windows ◦ copying files, printing ◦ navigating paths, folders, filenames Plan on 10 hours a week outside of class If you HAVE a lot of programming experience, consider the BYPASS exam Why learn to program? It’s required in my major I learn things that apply beyond programming I use programs to analyze the data I run in my lab experiments in my research I automate tedious things I have to do I found out I like to do it! I need to communicate with other people about programming It is a good career Your Grade is Based on: Lecture Attendance 6% Lab Attendance and Assignments 10% Zybook Assignments 5% Programming Assignments 21% Two Written Exams during the semester 20% Three Lab Exams 18% Final Written Exam (Comprehensive) 20% If you must have a certain grade Tell Dr. Keen about it NOW! We are willing to work with you all semester long to achieve your goal We will set up a regular appointment time DO NOT wait until the end of the semester and say “But I have to have a … whatever” Attendance Required at All Lectures ◦ taken regularly by cooperative activities and quizzes Required at All Lab sessions ◦ don’t get credit for team submission if not there only "UK excuses" accepted if documented ◦ death in family, illness, school trips, religious holidays ◦ Give Dr. Keen your excuse documentation on paper Class Locations Lecture (TR) Sections 1-5 Funkhouser Bldg 200 Lecture (TR) Sections 401 RGAN 203 Lab sections – (M) RGAN 103 Office Hours ◦ Dr. Keen – Marksbury 215, RGAN 103 ◦ TAs – EE 205 Common Written Exams – Whitehall Classroom Building 102,122 Final Exam – Funkhouser Building 200 Plagiarism / Cheating Plagiarism ◦ Using other people's work as your own without citation and permission of the author NO assistance from anyone else on Lab or Lecture tests or quizzes or individual labs Any assistance given by a person or found on the Net for an assignment must be cited in the assignment, by person’s name or URL. Cheating, continued The way to learn programming is to DO programming. Make sure you understand the assistance you are getting, from ANY source. Penalties for plagiarism start with a ZERO on the assignment and a LETTER in your permanent file. UK Policy is followed. Accommodation Please tell Dr. Keen about it if you have a letter - as soon as possible! Letters are not retroactive! We can arrange both lecture and lab tests to be accommodated What is computer science? Computer science is the study of: ◦ What can be computed using step-by-step procedures. ◦ How best to specify these procedures. ◦ How to tell if a procedure is correct, efficient, optimal, etc. ◦ How to design procedures to solve real-world problems. Algorithms “Step-by-step procedure” is a mouthful. We have a name for that: an algorithm. A “well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time.” [Schneider and Gersting]. Programming languages Computer programming is the process of translating an algorithm into instructions that a computer can understand. A programming language is a formal constructed language designed to communicate instructions to a computer. ◦ There are thousands of programming languages in existence, dozens or hundreds of which are still in regular use. ◦ A professional programmer usually knows several. They can choose the right tool (language) for each job. In CS 115 we’ll learn to write programs in Python, a high-level interpreted programming language. Python was created by Guido van Rossum. Programming environment and tools What do you need to write programs in Python? An interpreter to translate and execute your program A text editor for writing and changing your source code ◦ Notepad is possibly useful but not really suited to programming ◦ More advanced editors can: ◦ Automatically indent the code ◦ Color code to clarify its meaning ◦ Jump from variable name to its definition ◦ Jump from function call to its definition ◦ Much more… Integrated development environments An IDE (integrated development environment) combines several programming tools together into one cohesive program. Some IDEs for Python: ◦ IDLE comes with Python – it’s installed when Python is. ◦ WingIDE is recommended for this class – it’s free, more professional looking and less likely to crash. ◦ PyScript, PyCharm are a couple other IDEs that you can find for free. Lab 1 will ask you to use WingIDE. Debugging and other topics in a few weeks. Example program design # Purpose: Ask for the user’s name and greet them. # Author: J. Random Hacker, section 1, # [email protected] # Assignment: Lab 42 # Main Program: # 1. Input the user’s name from the keyboard # 2. Output the word hello followed by the user’s # name. Design turned into code # Purpose: Ask for the user’s name and greet them. # Author: J. Random Hacker, section 1, # [email protected] # Assignment: Lab 42 # Main Program: def main(): # 1. Input the user’s name from the keyboard name = input(“What’s your name? “) # 2. Output the word hello followed by the user’s # name. print(“hello”, name) main() What to do next Make your study plan Read Chapter 1 and 2 of textbook Work on Homework 1 Make sure your University account is activated Labs start Monday, January 23. You will be asked to interpret and run a Python program. Practice the tutorial online. What to do Next •Get signed up for your textbook, zybooks.zyante.com •Read chapter 1 in book and do exercises – due Wednesday, January 18, midnight • You can do a section at a time •Look over Lab 1 (posted) – will be done in lab on Monday, January 23 •Work on Homework 1 – due by Friday, Today's Exit Have your NAME, DATE, SECTION, and GOALS on the 3x5 card Put your card in an envelope down front Help us get to know you!