introduction to computer programmingcis110/14su/lectures/00...moore computer labs dr. java software...

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

Upload: others

Post on 06-Jul-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

CIS 110

Introduction to

Computer Programming

Arvind Bhusnurmath

www.cis110.com

Page 2: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

What is Computing?

Page 3: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Computing: internet, e- ail, et ork…

Page 4: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Co puti g: Produ ti ity…

Page 5: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

http://www.alanzeyes.com/2009/02/hdr-photography.html

Page 6: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Co puti g: E tertai e t…

Page 7: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Computing: E tertai e t…

Page 8: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

- Edsger Dijkstra

Page 9: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Cutting Edge Computer Science

Page 10: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead
Page 11: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

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 12: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

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

• Audi autonomous car

• As of the end of 2012, two more US States (California, Florida) have enacted similar laws

Page 13: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

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 14: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Robot Soccer

UPennalizers Robot Soccer Team

Humanoid League

Aibo League

RoboCup International Robotics Competition

http://www.robocup.org/

Page 15: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Finding Life-Supporting Planets

Page 16: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Protobytes

By Ira Greenberg

http://www.iragreenberg.com/ira_greenberg_data/code/protobytes/i

ndex.html

Page 17: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Areas in Computer Science

Computer

Graphics

Computer

Vision

Computer

Security

Artificial

Intelligence

Robotics Human-Computer

Interaction

Ubiquitous

Computing

Operating

Systems

Computer

Networking

Databases

Page 18: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

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 19: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Computing is important

Page 20: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Huge Growth in Computing-Related Jobs

Page 21: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

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 22: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

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

Page 23: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Administrivia

Page 24: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

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

24

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

are incredibly slow, inaccurate, and brilliant; together they

are powerful beyond imagination. ” − Albert Einstein

Page 25: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

25

The Basics

Instructor: Arvind (no need to remember my unpronounceable last name) Office hours in Levine 268

– Arvind: MTWR – 1-2 pm. I tend to leave at about 4pm. – E-mail: bhusnur@seas

TAs

Max, Alex, Scott and Hanssen

Lectures: MWTR – 10 – 11am, Towne 311

Recitations: 11am – noon, right after lecture (led by TAs) Clarify lecture material, tips on assignments, group activities Last name Alston to Liu (both inclusive) in this room – Recitation 1 Last name Luster to Su in Towne 307 – Recitation 2

TA Office Hours: See course website for hours Questions about material and help with debugging Bring your laptop or use lab computers

Full details: www.cis110.com

Page 26: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

26

Grading

Grade Breakdown: Homeworks: 50%

Midterm Exam: 15%

Final Exam: 25%

Recitation attendance / exercises: 5%

Participation: 5%

Midterm Exam: Tuesday, Jul 22 in class

Final Exam: Thursday August 7, in class

Notes: You can check your grades on the course website

you are here

general population

Page 27: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

27

Course Materials

Course Website: www.cis110.com

Programming assignments and checklists

Assignment submission

Lecture slides

Discussion board (Piazza)

Required Text: Sedgewick and Wayne. Intro to Programming in Java:

An Interdisciplinary Approach.

skim before lecture; read thoroughly afterwards

Page 28: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

28

Homework Programming Assignments

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

TA/Instructor help ends at 9pm, so plan ahead

Deadlines are strictly enforced. Summer = more intense!

Submit via the course website

Computing equipment: Your desktop/laptop [OS X, Windows, Linux, … ] Moore computer labs

Dr. Java software (free)

Advice: Start early; plan multiple sessions

Seek help when needed

“Instead of imagining that our main task is to instruct a computer

what to do, let us concentrate rather on explaining to human

beings what we want a computer to do.” – Donald Knuth

Page 29: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

Cheating on Homework

Do not cheat!

Remember that looking for solutions online and copying them constitutes

cheating

The penalty for cheating will be severe

The TAs and I are always willing to help. If you cannot come to office

hours, send email and we can work out a convenient time

Programming requires practice. Do not assume it will come naturally.

The tougher the problem, the greater the joy when it does get solved!

29

Page 30: Introduction to Computer Programmingcis110/14su/lectures/00...Moore computer labs Dr. Java software (free) Advice: Start early; plan multiple sessions Seek help when needed ³ Instead

30

What's Ahead?

Lecture 2 Intro to Java and Drawing Primitives

First recitation = Today.

Today the TAs will help you set up your programming environment.

Make sure this is done today. If you have a problem come to my office today

and we should be able to sort it out.

Homework 0 Due Tuesday, July 8th at 11:59pm

Read Sections 1.1 and 1.2 in textbook

Install Dr. Java programming environment + do a few exercises

Register for Piazza

We ill get you started i today’s re itatio

Lots of help available, don't be bashful

END OF ADMINISTRATIVE STUFF