WELCOME TO CS 115 Introduction to Programming Fall

  • Slides: 30
Download presentation
WELCOME TO CS 115! Introduction to Programming Fall 2020

WELCOME TO CS 115! Introduction to Programming Fall 2020

The class URL is cs. uky. edu/~keen/115. html You can see this in Canvas

The class URL is cs. uky. edu/~keen/115. html You can see this in Canvas “CS 115 Main Page”. You can use this if Canvas is down for any reason.

Personnel ■ Dr. Debby Keen, Course Coordinator/Lab Instructor – Office hours in Zoom meetings:

Personnel ■ Dr. Debby Keen, Course Coordinator/Lab Instructor – Office hours in Zoom meetings: ■ posted http: //cs. uky. edu/~keen/myofficehours. html – Email: keen@cs. uky. edu ■ Teaching Assistants – Office hours will be set up soon – Held by Zoom meetings – You can talk to ANY of them about programming problems – Get to know them!

Textbook and Supplies ■ Textbook is required, an online book by Zyante “zybook” http:

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! They can arrange some access before you pay!

Software we will use ■ Python – – Open source and Free from www.

Software we will use ■ Python – – Open source and Free from www. python. org Get version 3. x – right now is 3. 8. 2 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. 2. 3) – Less prone to crashes than IDLE – from http: //wingware. com/downloads/wing-101/

For Attendance Quiz ■ On Canvas is a small Quiz that is due by

For Attendance Quiz ■ On Canvas is a small Quiz that is due by midnight tonight. ■ Questions are not right or wrong – What are your expectations from the class? – What’s your computer experience? – How much time are you going to spend outside of class on the class?

The goals of the class are • To acquire an understanding of computer architecture

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 (OOP) • 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

Experience in Programming ■ This class assumes NO experience in programming ■ It does assume some experience with computers and Windows – copying files – 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 January 17 (see Dr. Keen)

Why learn to program? ■ It’s required in my major ■ I learn things

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 Quizzes 6% ■ Lab Assignments 12%

Your Grade is Based on: ■ Lecture Attendance Quizzes 6% ■ Lab Assignments 12% ■ Homework Assignments 10% ■ Zybook Assignments 5% ■ Two Programming Assignments 12% ■ Midterm Exam 15% ■ Two Lab Exams 20% (10%, 10%) ■ Final Written Exam (Comprehensive) 20%

If you must have a certain grade ■ Tell Dr. Keen about it NOW!

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 Canvas Quizzes ■ Required

Attendance ■ Required at All Lectures – taken regularly by Canvas Quizzes ■ Required at All Lab sessions – You don’t get credit for team submission if you are not there ■ Only "UK excuses" accepted if documented – Death in family, illness, school trips, religious holidays – Give Dr. Keen your excuse documentation

Class Locations ■ All class activities which would normally be in a classroom or

Class Locations ■ All class activities which would normally be in a classroom or lab or office will be held in Zoom meetings. ■ These Zoom meeting links will be posted on the front page of the Canvas class page (for privacy) ■ Email will also be used for communications. All addresses will be posted on the front Canvas page and the front web page, for Dr. Keen and all TAs.

Plagiarism / Cheating ■ Plagiarism – Using other people's work as your own without

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 on homeworks or practice lab tests, anything marked as “Individual”. You are encouraged to talk to TAs or Dr. Keen about these assignments.

Cheating, continued ■ You are allowed to have only ONE partner on a program

Cheating, continued ■ You are allowed to have only ONE partner on a program assignment. This is not the same as a lab or homework assignment. You may not form a group or 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, in the prolog. ■ The way to learn programming is to DO programming. Make sure you understand the assistance you are getting, from ANY source. There will be a test later! ■ 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 -

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.

If you missed Lab 0 yesterday ■ If you missed because you had not

If you missed Lab 0 yesterday ■ If you missed because you had not registered, or you had an excused absence (documentation required) or you just forgot you had a lab, contact Dr. Keen as soon as possible! ■ In some of these cases, some points can be regained if you act quickly.

How does CS fit into your major? ■ Mathematics – can help you solve

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 programming to students of all ages! ■ Physics, Biology, Chemistry – empowers you to analyze your own data ■ Undecided? maybe you’ll choose CS!

What is computer science? ■ Computer science is the study of: – What can

What is computer science? ■ Computer science is the study of: – What can be computed using “stepby-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.

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

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? ■

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

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. – Py. Script, Py. Charm, Eclipse are other IDEs that you can find for free. ■ Labs ask you to use an IDE to run a Python program. ■ Debugging and other topics in a few weeks.

Example program design # Purpose: Ask for the user’s name and greet them. #

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.

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()

Mythbusting about CS 115 ■ It's a 100 -level course, it's EASY! or not

Mythbusting about CS 115 ■ It's a 100 -level course, it's EASY! or not much work! or trivial! (It’s not, last semester 48% got an A, 25% got a B) ■ You can cram the night before the tests and get through the course ok (you can’t) ■ You can wait until the day the programs are due to start work on them (you can’t) ■ You can just memorize code (you can’t) ■ It’s mostly CS majors! (it isn’t)

Treat this class as an adventure! ■ The people who do the best in

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.

Make Yourself a Study Plan for CS 115 ■ When and where you will

Make Yourself a Study Plan for CS 115 ■ When and where you will study ■ What materials you will need to study ■ What rewards you will give yourself if you follow your study plan ■ How you plan to prepare for tests ■ What you will do about test anxiety ■ What you will do when you miss a class or a deadline

What to do Next • Look over Lab 1 – will be done in

What to do Next • Look over Lab 1 – will be done in lab on Monday, August 24 • Get signed up for your textbook (Zybook) • Read Chapter 1 in Zybook and do exercises – due Wednesday, August 26, midnight • Work on Homework 1 – due by Wednesday, August 26, midnight

Today's Exit ■ Don’t forget to answer the questions in the Canvas quiz by

Today's Exit ■ Don’t forget to answer the questions in the Canvas quiz by midnight tonight!