Download First day - Computer Science Department

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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!