330 likes | 347 Views
Welcome to CS 115!. Introduction to Programming Fall 2019. Thank you very much!!. The class URL is cs.uky.edu/~keen/115/115.html You can see this in Canvas. Personnel. Dr. Debby Keen, Course Coordinator/Lab Instructor Office hours in Davis Marksbury 207 and RGAN 103:
E N D
Welcome to CS 115! Introduction to Programming Fall 2019
The class URL iscs.uky.edu/~keen/115/115.htmlYou can see this in Canvas.
Personnel • Dr. Debby Keen, Course Coordinator/Lab Instructor • Office hours in Davis Marksbury 207 and RGAN 103: • posted http://cs.uky.edu/~keen/myofficehours.html • Email: keen@cs.uky.edu • Teaching Assistants – Jacob Schlueter, KshitijaTaywade, AmberlynSchjoll, Zach Moore, Sungmin Kang • Office hours will be set up soon • Held in EE Annex 205 • You can talk to ANY of them about programming problems • Get to know them!
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” http://learn.zybooks.com $58 • 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 • If you are not able to pay for the book right away, mail to support@zyante.com and explain your situation. They can usually help you out!
Software we will use • Python • Open source and Free from www.python.org • Get version 3.x – right now is 3.7.4 • Easy to install on your machine, already in labs • Includes IDLE Integrated Development Environment • Wing 101 (optional but better than IDLE) • 101 version is free forever (latest version 7.1.0.2) • Less prone to crashes than IDLE • from http://wingware.com/downloads/wing-101/
For Attendance – on the 3x5 card • On the FRONT of the card (where the lines are) • Write your NAME • Write the DATE (August 27, 2019) • Write your SECTION • AND ...
On the Front of the card, write: • What are your goals for this class? That is, what do you want to learn? • How much time do you expect to spend on this class OUTSIDE of lecture and lab time? And on the BACK of the card…
On the BACK of the card, describe your experience • What experience have you have with computers? • not just classes you may have had! • Things like: 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? OR How do you usually use 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, given on August 30
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 can 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 Assignments 10% • Homework Assignments 10% • Zybook Assignments 5% • Programming Assignments 18% • Midterm Exam 10% • Three Lab Exams 21% • 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 • You can set up a regular appointment time • DO NOT wait until the end of the semester and say “But I have to have a … whatever” • This is a Hint that it takes work all semester long to achieve what you want from this class!
Attendance • Required at All Lectures • taken regularly by cooperative activities and quizzes • Required at All Lab sessions • You 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-6: Whitehall Classroom Rm 102 • Night Lecture (TR) Section 401: FPAT 267 • All Lab sections – (M) RGAN 103 • Office Hours • Dr. Keen – Marksbury 207, RGAN 103 • TAs – EE 205 • Final Exam – WH 102 (day), FPAT 267 (night)
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 tests or Lecture tests. • NO assistance from any other student onhomeworks or practice lab tests, anything marked as “Individual”. You are encouraged to talk to TAs or Dr. Keen about these assignments.
Cheating, continued • You may have only ONE partner on a program assignment. Not a group, not a chain. You can ALWAYS talk to any of the TAs or Dr. Keen. • Any assistance given by a person or found on the Net for a programming assignment must be cited in the assignment, by person’s name or URL. • 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.
How does CS fit into your major? • Mathematics – can help you solve problems, help you get a deeper understanding of processes you use • Education – you could be asked to teach it to students of all ages! • Physics, Biology, Chemistry – empowers you to analyze your own data
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. There are plenty of algorithms in the non-computer world. Recipes, instructions on how to assemble a kit, directions from your GPS, long division, all are solved by following an algorithm.
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. • Wing 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 Wing. • 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, # random.hacker@uky.edu # 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, # random.hacker@uky.edu # 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()
Treat this class as an adventure! • The people who do the best in this class are ones who are not afraid to experiment. You can’t break the computer! At worst, you push the power button. • Once you get a program to work, don’t be afraid to tinker with it. Play with it – change it and see what happens. • Treat the computer as a tool to explore a problem. You will learn a lot more by doing more than JUST the exercises given. • If you’re interested in finding more problems to solve, see Dr. Keen.
What to do Next • Get signed up for your textbook(Zybook) • Read chapter 1 in Zybook and do exercises – due Wednesday, September 4, midnight • Work on Homework 1 – due by Tuesday, Sept. 3, midnight • Look over Lab 1 – will be done in lab on Monday, Sept. 9
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!