Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind...

28
CIS 110 Introduction to Computer Programming Arvind Bhusnurmath www.cis110.com

Transcript of Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind...

Page 1: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

CIS 110

Introduction to

Computer Programming

Arvind Bhusnurmath

www.cis110.com

Page 2: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

What is Computing?

Page 3: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Computing: internet, e- ail, et ork…

Page 4: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Co puti g: Produ ti ity…

Page 5: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Co puti g: E tertai e t…

Page 6: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Computing: E tertai e t…

Page 7: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

- Edsger Dijkstra

Page 8: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Cutting Edge Computer Science

Page 9: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]
Page 10: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Chinook

• Chinook is the World Man-Machine Checkers

Champion, developed by researchers at the University

of Alberta.

• It earned this title by competing in human

tournaments, winning the right to play for the

(human) world championship, and eventually

defeating the best players in the world.

• Visit http://www.cs.ualberta.ca/~chinook/ to play a

version of Chinook over the Internet.

• The developers have fully analyzed the game of

checkers and have the complete game tree for it.

– Perfect play on both sides results in a tie.

• O e Ju p Ahead: Challe gi g Hu a “upre a y i Che kers Jo atha “ haeffer, U i ersity of Al erta (496 pages, Springer. $34.95, 1998).

Page 11: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Autonomous Cars

Pe ’s Auto o ous Car

(Ben Franklin Racing Team)

• Nevada made it legal for

autonomous cars to drive on

roads in June 2011

• Three more US States

(California, Florida, Michigan)

have enacted similar laws

Page 12: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

2011 Jeopardy!

• In February 2011, IBM Watson bested Brad Rutter (biggest all-

time money winner) and Ken Jennings (longest winning streak)

• IBM is urre tly applyi g Watso ’s te h ology to edi al diagnosis and legal research

Page 13: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Robot Soccer

UPennalizers Robot Soccer Team

Humanoid League

Aibo League

RoboCup International Robotics Competition

http://www.robocup.org/

Page 14: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Finding Life-Supporting Planets

Page 15: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Areas in Computer Science

Computer

Graphics

Computer

Vision

Computer

Security

Artificial

Intelligence

Robotics Human-Computer

Interaction

Ubiquitous

Computing

Operating

Systems

Computer

Networking

Databases

Page 16: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

What is Computer Science?

Computer science is the

study of solving problems

using computation – Computers are part of it,

but the emphasis is on the

problem solving aspect

Mathematics

Biology (bioinformatics)

Chemistry

Physics

Geology

Geoscience

Archeology

Psychology

Sociology

Cognitive Science

Medicine/Surgery

Engineering

Linguistics

Art

Computer scientists work across disciplines:

Page 17: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Computing is important

Page 18: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]
Page 19: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Computing is Consistently Ranked Among the Best Occupations

#1 Registered Nurse #6 Web Developer

#2 Software Developer #7 Computer Systems Analyst

#3 Pharmacist #8 Physical Therapist

#4 Medical Assistant #9 Computer Programmer

#5 Database Administrator #10 Occupational Therapist

The 25 Best Jobs of 2012

CS Careers Rank Highly In: • Job satisfaction

• Salary

• Work/life balance

• Growth potential

• Employment rate

• Work environment

CNN’s Top 100 Jobs 2010 (Graphic by Focus.com)

CS-Related Jobs Highlighted in Red

Page 21: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

… a y differe t o pa ies … eed to hire o puter s ie tists. They aren't tied to one particular industry.

Page 22: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Administrivia

Page 23: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Overview

CIS 110: Introduction to Programming and Computer Science Goals:

How can we use computers to solve problems? How can we formulate problems so that we can solve

them via computation?

Topics: Programming in Java Applications to science, engineering, and art

23

“ Computers are incredibly fast, accurate, and stupid; humans

are incredibly slow, inaccurate, and brilliant; together they

are powerful beyond imagination. ” − Albert Einstein

Page 24: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

24

The Basics

Instructor: Arvind Bhusnurmath

Office hours - TBD

E-mail: [email protected]

Lectures: M/T/W/R – 10am

Recitations: Right after lectures. 11am – noon.

TA Office Hours: Help with debugging

Bring your laptop or use lab computers

Full details: www.cis110.com

Page 25: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

25

Grading

Grade Breakdown: Homeworks: 50%

Midterm Exam: 15%

Final Exam: 25%

Recitation participation: 10%

Midterm Exam: Tue July 21. 1 hr exam

Final Exam: Last day of class. 1.5 hrs exam.

Page 26: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Course Website: www.cis110.com

Programming assignments and checklists

Assignment submission

Lecture slides

Discussion board (Piazza)

Required Text : Sedgewick and Wayne.

26

Course Materials

skim before lecture; read thoroughly afterwards

Page 27: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

27

Homework Programming Assignments

Due: 11:59pm on due date via Web submission

NO LATE DAYS or EXTENSIONS

If you fall ill please email me and we might be able to work out a plan.

Computing equipment: Your desktop/laptop

We will help you get set up with the software today.

Moore computer labs

Page 28: Introduction to Computer Programmingcis110/15su/lectures/00...Computer Programming Arvind Bhusnurmath What is Computing? Computing: internet, e- u]oUv Á} lY }u µ ]vPWW } µ ]À]

Advice

• Start on HWs early! Debugging can take time.

• Do not hesitate to ask for help. If you have been trying to debug

something for hours and are getting frustrated, remember that we

are there to help you.

• Your best sources for help are me, the TAs and piazza.

• Help does ot i lude looki g at so eo e else’s ode. You ill e sent to the Office of Student Conduct if you do that.

28