Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

16
Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher

Transcript of Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Page 1: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Welcome to CSCA20

An Introduction to Computer Programming

Anna Bretscher

Page 2: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Why Study Computer Science?

• Computers provide tools to simplify processes

• Computers allow for analysis that is otherwise impossible

• Computer science can be applied to many problems in the sciences, business, arts, humanities…

• Computers don’t always do what we think they are doing, better to understand when this happens!

Page 3: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Course Goals

• To learn most Python instructions.

• To be able to write programs that solve

scientific (or other) problems.

• To understand what computer scientists do.

• To acquire an appreciation of how computer

science applies to other areas of research.

Page 4: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

CSCA20 - Content• Intended for students with no

programming experience.

• Introduction to

• algorithms

• programming using Python

• Data analysis and plotting

• Database design

Page 5: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

CSCA20 - Course WorkTextbook – ebook or hardcopy

“Practical Programming 2nd Edition” by Campbell, Gries, Lockwood, Montojoand Wilson

http://pragprog.com/book/gwpy2/practical-programming

Labs (10%)2 hour labs every week, starting in week 2.

Assignments (40%)4 assignments - 10% each

Page 6: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

CSCA20 - TestsQuizzes (15%)

Quizzes in weeks 4, 7 and 11 during lab time.

Think of quizzes as practice for the final.

Final (35%)

You need to score at least 40% to pass the

Course.

Page 7: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Labs

• 2 hour labs every week starting in week

2.

• You earn 1% per lab attended up to 10%.

• This means you may miss one lab.

• These are the “tutorials” on ROSI

• Labs are your new best friend. This is

where you will learn the most!

Page 8: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Assignments

• Posted on the website.

• Submitted electronically.

• First assignment very short and easy

– an easy way to earn 10%.

• 2nd, 3rd and 4th assignments

progressively more challenging.

Page 9: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Where do I get HELP!!Labs

Ask your TA questions. Your labs are also like office hours!!

Office Hours M 11:00 - 11:45, W 11:30 – 1:00, F 12:10 - 1:00Come visit me, I want to get to know you.

Online Tutorialhttp://interactivepython.org/courselib/static/thinkcspy/index.html

Email Me •[email protected]•Include a relevant subject (e.g., CSCA20 - A1 question 2).•Sign your name.

Page 10: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Week 1 - To Do List

Read the course information sheet and check out the website.

Order/download the text and read chapters 1 and 2

Install Python and Wing 101 (if working at home)

See the “Resource” page on the website

Page 11: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Computer Science

Is about problem solving and writing algorithms.

ALGORITHM (WEBSTER’S). A step-by-step procedure for solving

a problem or accomplishing some end especially by a computer

Page 12: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Lets Practice AlgorithmsGive the smiley face instructions to get to the star. Use Give the smiley face instructions to get to the star. Use Forward, Right, Left.Forward, Right, Left.

F x 2, RF x 2, RF x 2, LF x 2, LF x 7, RF x 7, RF x 2, R F x 2, R F, LF, LF, RF, RF, LF, LF x 2, RF x 2, RF x 3, RF x 3, RFF

Page 13: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Let Practice Algorithms – Take 2

F x 9, RF x 9, RF x 9, RF x 9, RF x 9, RF x 9, RF x 7, RF x 7, RF x 7, RF x 7, RF x 5, RF x 5, RF x 5, RF x 5, RF x 3, RF x 3, RF x 3, RF x 3, RFF

Page 14: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Let Practice Algorithms – Take 2

F x 9, RF x 9, RF x 9, RF x 9, RF x 9, RF x 9, RF x 7, RF x 7, RF x 7, RF x 7, RF x 5, RF x 5, RF x 5, RF x 5, RF x 3, RF x 3, RF x 3, RF x 3, RFF

F x 9, RF x 9, R

stepssteps 9 9(F x (F x stepssteps, R) x 2, R) x 2stepssteps 7 7(F x (F x stepssteps, R) x 2, R) x 2stepssteps 5 5(F x (F x stepssteps, R) x 2, R) x 2stepssteps 3 3(F x (F x stepssteps, R) x 2, R) x 2

FF

Page 15: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Algorithms – Take 2

F x 9, RF x 9, Rstepssteps 9 9

(F x (F x stepssteps, R) x 2, R) x 2stepssteps 7 7(F x (F x stepssteps, R) x 2, R) x 2stepssteps 5 5(F x (F x stepssteps, R) x 2, R) x 2stepssteps 3 3(F x (F x stepssteps, R) x 2, R) x 2

FF

F x 9, R F x 9, R stepssteps 9 9

while while stepssteps > 2 repeat: > 2 repeat:(F x (F x stepssteps, R) x 2, R) x 2stepssteps stepssteps - 2 - 2

FF

F x 9, RF x 9, Rstepssteps 9 9

(F x (F x stepssteps, R) x 2, R) x 2stepssteps stepssteps - 2 - 2(F x (F x stepssteps, R) x 2, R) x 2stepssteps stepssteps - 2 - 2(F x (F x stepssteps, R) x 2, R) x 2stepssteps stepssteps - 2 - 2(F x (F x stepssteps, R) x 2, R) x 2

FF

Page 16: Welcome to CSCA20 An Introduction to Computer Programming Anna Bretscher.

Python

• Python is the language we will use to write our algorithms.

• We use Wing 101: a free environment and editor for coding in Python.