1 / 29

CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011

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

mali
Télécharger la présentation

CSE 20211 Fundamentals of Computing Prof. Douglas Thain Fall 2011

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE 20211Fundamentals of ComputingProf. Douglas ThainFall 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 Scienceand 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 P = NP? Quicksort The PageRank Algorithm The Minimax Algorithm

  9. Computing is a Mode of Science Theory Experiment Simulation via Computation

  10. CSE is a Craft to be Learned

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

  12. A Little History

  13. ENIAC (1946)

  14. IBM 360 Mainframe (1964)

  15. DEC PDP-11 (1970)

  16. Personal Computers (1980s)

  17. Handheld Devices (2000s) + The Cloud

  18. The Internet (1969)

  19. The Internet (1972)

  20. The Internet (1990s)

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

  22. http://xkcd.com/256/

  23. http://xkcd.com/802/

  24. Scale has changed.The concepts have not!

  25. Long Term History(tiobe.com)

More Related