29
CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011

CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011

  • Upload
    mali

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011. Main Objectives. Learn how to think algorithmically. Get LOTS of practice programming. Take a tour of computer science. Learn a lot of C, a little C++, and some Unix. What is Computer Science and Engineering?. - PowerPoint PPT Presentation

Citation preview

Page 1: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

CSE 20211Fundamentals of Computing

Prof. Douglas ThainFall 2011

Page 2: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

Main Objectives

• Learn how to think algorithmically.• Get LOTS of practice programming.• Take a tour of computer science.• Learn a lot of C, a little C++, and some Unix.

Page 3: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

What is Computer Scienceand Engineering?

Page 4: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

Conventional(but unsatisfying) definitions:

• Computer science is the study of software, and is closest to the field of mathematics.

• Computer engineering is the study of hardware and is closest to the field of EE.

Page 5: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

CSE is Engineering(Both software and hardware)

Page 6: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

CSE is Art

Page 7: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

CSE is Invention

Page 8: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

CSE is Logic and Mathematics

The Minimax Algorithm

Quicksort P = NP?The PageRank Algorithm

Page 9: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

Computing is a Mode of ScienceTheory Experiment

Simulation via Computation

Page 10: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

CSE is a Craft to be Learned

Page 11: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011
Page 12: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011
Page 13: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011
Page 14: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

Learning the Craft of Programming• Write programs for fun!• Write programs for work.• Write programs for contests.• Learn several languages:

– An assembly language. (x86, MIPS, PowerPC)– A procedural language (C, FORTRAN)– An object-oriented language (Java, C#)– A scripting language (python, perl, bash)– A functional language (LISP, Haskell)

• Work on a team writing software (classes, research)• Download, examine, and modify open source software.• Read good books about computing.• Revisit programs you have written before.

Page 15: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

A Little History

Page 17: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

IBM 360 Mainframe (1964)

Page 21: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

The Internet (1969)

Page 22: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

The Internet (1972)

Page 23: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

The Internet (1990s)

Page 24: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

Personal Computers (1990s)The Internet (2000s)

Page 25: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

http://xkcd.com/256/

Page 26: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

http://xkcd.com/802/

Page 27: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011

Scale has changed.The concepts have not!

Page 28: CSE 20211 Fundamentals of Computing Prof. Douglas  Thain Fall 2011