cse 20211 fundamentals of computing prof. douglas thain fall 2011
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 PresentationTRANSCRIPT
![Page 1: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/1.jpg)
CSE 20211Fundamentals of Computing
Prof. Douglas ThainFall 2011
![Page 2: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/3.jpg)
What is Computer Scienceand Engineering?
![Page 4: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/5.jpg)
CSE is Engineering(Both software and hardware)
![Page 6: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/6.jpg)
CSE is Art
![Page 7: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/7.jpg)
CSE is Invention
![Page 8: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/9.jpg)
Computing is a Mode of ScienceTheory Experiment
Simulation via Computation
![Page 10: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/10.jpg)
CSE is a Craft to be Learned
![Page 11: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/11.jpg)
![Page 12: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/12.jpg)
![Page 13: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/13.jpg)
![Page 14: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/15.jpg)
A Little History
![Page 17: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/17.jpg)
IBM 360 Mainframe (1964)
![Page 19: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/19.jpg)
Personal Computers (1980s)
![Page 20: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/20.jpg)
Handheld Devices (2000s)
+ The Cloud
![Page 21: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/21.jpg)
The Internet (1969)
![Page 22: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/22.jpg)
The Internet (1972)
![Page 23: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/23.jpg)
The Internet (1990s)
![Page 24: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/24.jpg)
Personal Computers (1990s)The Internet (2000s)
![Page 25: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/25.jpg)
http://xkcd.com/256/
![Page 27: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/27.jpg)
Scale has changed.The concepts have not!
![Page 28: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/28.jpg)
![Page 29: CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011](https://reader036.vdocument.in/reader036/viewer/2022062520/56816143550346895dd0ba71/html5/thumbnails/29.jpg)
Long Term History(tiobe.com)
Language PositionAug 2011
PositionAug 2006
PositionAug 1996
PositionAug 1986
Java 1 1 5 -C 2 2 1 1
C++ 3 4 2 5PHP 4 5 - -
C# 5 8 - -
Objective-C
6 40 - -
(Visual) Basic
7 3 3 6
Python 8 7 25 -Perl 9 6 10 -
JavaScript 10 10 12 -Lisp 14 15 14 3
Ada 16 17 9 2