css 161 a fundamentals of computing introduction september 24, 2012

Post on 01-Jan-2016

35 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

CSS 161 A Fundamentals of Computing Introduction September 24, 2012. Instructor: Uma Murthy CSS SKL 161 A Instructor : Joe McCarthy. Outline. What is this course? Who am I, and why am I here? Who are you, and why are you here? Logistics Introduction to Fundamentals of Computing - PowerPoint PPT Presentation

TRANSCRIPT

CSS 161: Fundamentals of Computing

CSS 161 AFundamentals of Computing

IntroductionSeptember 24, 2012

Instructor: Uma Murthy

CSS SKL 161 A Instructor: Joe McCarthy

CSS 161: Fundamentals of Computing

Outline

• What is this course?• Who am I, and why am I here?• Who are you, and why are you here?• Logistics• Introduction to Fundamentals of Computing• Next steps

CSS 161: Fundamentals of Computing

What is this course?

CSS 161: Fundamentals of Computing

Course lab

CSSSKL 161 A Friday 11:00AM-1:30PMUW1 120

CSS 161: Fundamentals of Computing

Who am I?

• Joe McCarthy, Ph.D.– Senior Lecturer, Computing & Software Systems– Naming conventions• “Joe”• “Professor McCarthy”• “Dr. McCarthy”• “Professor Joe”• “Dr. Joe”

CSS 161: Fundamentals of Computing

Your instructor for this course

• Uma Murthy, Ph.D.– Lecturer, Computing

& Software Systems– Currently traveling

in India and will return for the Oct 1 class

CSS 161: Fundamentals of Computing

Why am I here [today]?

• Covering for Uma, who is in India• But why am I involved in this class (CSS [SKL]

161 A)?

CSS 161: Fundamentals of Computing

Empowerment

“most of society remains one full dimensional leap of awareness and capability behind the few who manage to monopolize access to the real power of any media age …”

“if we take up this challenge [programming], we are looking at nothing less than the conscious, collective intervention of human beings in their own evolution. It’s the opportunity of a civilization’s lifetime.”

Hearers (vs. speakers)

Readers(vs. writers)

Viewers(vs. producers)

CSS 161: Fundamentals of Computing

Empowerment … with benefits

http://www.geekwire.com/2012/chart-pays-seattle-software-engineers/

CSS 161: Fundamentals of Computing

Who are you & why are you here?

• Name• Why are you taking this course?• What was your favorite class (& why)• What is your favorite computer program?• If you could write a program to do anything,

what would it do?

CSS 161: Fundamentals of Computing

[How] are you experienced?

• Do you have any programming experience?– Note: no experience necessary (or expected)

• For those with experience, which language(s)?• Which operating systems have you used?• Do you own a laptop / desktop?• Do you own a smartphone? What kind?• What other computing devices do you own?• What is your primary browser? Search engine?• Do you use Facebook? Twitter? Google+? Pinterest?

CSS 161: Fundamentals of Computing

Online survey

• Complete survey on your background– Check email tomorrow

CSS 161: Fundamentals of Computing

Course Objectives• Learn

– programming fundamentals

– computer organization

– algorithmic thinking

– software engineering concepts

– social and professional issues

CSS 161: Fundamentals of Computing

Course Objectives• Learn

– programming fundamentals

– computer organization

– algorithmic thinking

– software engineering concepts

– social and professional issues

CSS 161: Fundamentals of Computing

Course Objectives• Learn

– programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java)

– computer organization

– algorithmic thinking

– software engineering concepts

– social and professional issues

CSS 161: Fundamentals of Computing

Course Objectives• Learn

– programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java)

– computer organization(hardware, software, CPU, memory, storage, I/O devices, …)

– algorithmic thinking

– software engineering concepts

– social and professional issues

CSS 161: Fundamentals of Computing

Course Objectives• Learn

– programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java)

– computer organization(hardware, software, CPU, memory, storage, I/O devices, …)

– algorithmic thinking(clearly specified sequence of steps)

– software engineering concepts

– social and professional issues

CSS 161: Fundamentals of Computing

Course Objectives• Learn

– programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java)

– computer organization(hardware, software, CPU, memory, storage, I/O devices, …)

– algorithmic thinking(clearly specified sequence of steps)

– software engineering concepts (specifications, design, testing)

– social and professional issues

CSS 161: Fundamentals of Computing

Course Objectives• Learn

– programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java)

– computer organization(hardware, software, CPU, memory, storage, I/O devices, …)

– algorithmic thinking(clearly specified sequence of steps)

– software engineering concepts (specifications, design, testing)

– social and professional issues (history, ethics, applications)

• Have fun• Consciously & collectively intervene in our own evolution

CSS 161: Fundamentals of Computing

Course Logistics• Uma Murthy

– Office: UW1-360E; Phone: 425-352-????– Office hours (after this week):

• MW 1:15 - 2:15pm & by appointment

– Email: umurthy1@uw.edu (Use CSS161 in subject)

• Class meetings– Lectures: MW 11:00am-1:00pm, UW2-221

• Class web site:– http://courses.washington.edu/css161/umurthy/– Links to lecture notes, homeworks, supplemental material,

discussion forums, homework Dropbox– Please be patient as the website is updated with resources in the coming

week

CSS 161: Fundamentals of Computing

Grading

• Homeworks– Mostly programming problems– 6-8 homeworks, 30% of grade

• Midterm Exams– Based on readings, lectures, discussions, assignments, labs– 2 exams, 40% of grade

• Final Exam– In the week of December 10 (TBD and notified)– 25% of the grade

• Quizzes: – 5% of grade

• UWB Academic Standards will be strictly enforced

CSS 161: Fundamentals of Computing

Homeworks• Unless otherwise noted: – All homeworks must be submitted digitally via the class

Catalyst Dropbox• https://catalyst.uw.edu/collectit/dropbox/umurthy1/23719

– Homework documents, files and directories must follow a naming convention laid out in the submission instructions

– Homeworks are due by the beginning of class on the date they are due

– No late homeworks will be accepted, nor makeup exams given, except under extenuating circumstances

CSS 161: Fundamentals of Computing

Quizzes

• Typically include short answer questions• Typically held in the first 20 minutes of class

either on a Monday or Wednesday• Quiz notifications will be given in the prior

week

CSS 161: Fundamentals of Computing

Questions / Discussion Forums

• Who questions much, shall learn much, and retain much. – Francis Bacon

• Please ask – and answer – questions – in class– Discussion Forum (Catalyst GoPost)– via email – in person during my office hours

• Discuss issues, problems & approaches, but do not post solutions to homeworks

CSS 161: Fundamentals of Computing

https://catalyst.uw.edu/gopost/board/umurthy1/29824/

CSS 161: Fundamentals of Computing

If you want to learn, teach

CSS 161: Fundamentals of Computing

Experimentation

“Do not be too timid and squeamish about your actions. All life is an experiment. The more experiments you make the better.”

- Ralph Waldo Emerson

CSS 161: Fundamentals of Computing

Required Textbook

Absolute Java, 5th Edition Walter Savitch & Kenrick MockAddison-Wesley, 2013

4th Edition OK, too

CSS 161: Fundamentals of Computing

Supplemental Material (1/2)

Java: An Introduction to Problem Solving & Programming, 6th EditionWalter SavitchAddison-Wesley, 2012

http://courses.washington.edu/css161/joemcc/Notes/SavitchCh01.pdf

(access via “Notes” link on course homepage)

CSS 161: Fundamentals of Computing

Supplemental material (2/2)

• Practice It!http://webster.cs.washington.edu:8080/practiceit/

• Instructions to be provided in the coming weeks

CSS 161: Fundamentals of Computing

Course schedule – 1/2 (check on website)

CSS 161: Fundamentals of Computing

Course schedule – 2/2 (check on website)

CSS 161: Fundamentals of Computing

Fundamentals of Computer Programming

CSS 161: Fundamentals of Computing

Fundamentals of Computer Programming

• What is a program?

CSS 161: Fundamentals of Computing

Fundamentals of Computer Programming

• What is a program?• What is programming?

CSS 161: Fundamentals of Computing

Fundamentals of Computer Programming

• What is a program?• What is programming?• What is a computer program?

CSS 161: Fundamentals of Computing

Fundamentals of Computer Programming

• What is a program?• What is programming?• What is a computer program?• What is computer programming?

CSS 161: Fundamentals of Computing

CSS 161: Fundamentals of Computing

FirstProgram.java

FirstProgram.class

javac

java

CSS 161: Fundamentals of Computing

CSS 161: Fundamentals of Computing

[In Mac OS X Terminal window]

localhost:code umurthy$ ls FirstProgram*FirstProgram.javalocalhost:code umurthy$ javac FirstProgram.java Localhost:code umurthy$ ls FirstProgram*FirstProgram.class FirstProgram.javaLocalhost:code umurthy$ java FirstProgramHello reader.Welcome to Java.Let's demonstrate a simple calculation.2 plus 2 is 4Localhost:code umurthy$

CSS 161: Fundamentals of Computing

CSS 161: Fundamentals of Computing

Next time (Wednesday)

• Fill out survey (check email tomorrow afternoon)

• Get textbooks• Read: – Absolute Java, Section 1.1– Java: An Introduction…, Sections 1.1 & 1.3• Recommended: Section 1.4

top related