Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011."— Presentation transcript:

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

2 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.

3 What is Computer Science and Engineering?

4 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.

5 CSE is Engineering (Both software and hardware)

6 CSE is Art

7 CSE is Invention

8 CSE is Logic and Mathematics The Minimax Algorithm Quicksort P = NP? The PageRank Algorithm

9 Computing is a Mode of Science TheoryExperiment Simulation via Computation

10 CSE is a Craft to be Learned

11

12

13

14 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.

15 A Little History

16 ENIAC (1946)

17 IBM 360 Mainframe (1964)

18 DEC PDP-11 (1970)

19 Personal Computers (1980s)

20 Handheld Devices (2000s) + The Cloud

21 The Internet (1969)

22 The Internet (1972)

23 The Internet (1990s)

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

25 http://xkcd.com/256/

26 http://xkcd.com/802/

27 Scale has changed. The concepts have not!

28

29 Long Term History (tiobe.com) Language Position Aug 2011 Position Aug 2006 Position Aug 1996 Position Aug 1986 Java115- C2211 C++3425 PHP45-- C#58-- Objective- C 640-- (Visual) Basic 7336 Python8725- Perl9610- JavaScript10 12- Lisp1415143 Ada161792


Download ppt "CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011."

Similar presentations


Ads by Google