1 / 28

SE-1011 Software Development 1

SE-1011 Software Development 1. First Quiz. When were the first programmable computers invented and what were they used for?. First Quiz. When were the first programmable computers invented and what were they used for? This accounts for 50% of your grade in the course.

garyramirez
Download Presentation

SE-1011 Software Development 1

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. SE-1011 Software Development 1 SE-1010Dr. Mark L. Hornick

  2. First Quiz • When were the first programmable computers invented and what were they used for? SE-1010Dr. Mark L. Hornick

  3. First Quiz • When were the first programmable computers invented and what were they used for? • This accounts for 50% of your grade in the course SE-1010Dr. Mark L. Hornick

  4. Q: What does a computer do? SE-1010Dr. Mark L. Hornick

  5. Jacquard Loom (1806) SE-1010Dr. Mark L. Hornick

  6. Close-up of the Jacquard Loom’s punched cards SE-1010Dr. Mark L. Hornick

  7. The Difference Engine(Charles Babbage, 1823) • The British government needed accurate trig and other tables for ship navigation • Used method of finite differences to compute y = ax7 + bx6 + cx5 + dx4 + ex3 + fx2 + gx + h • sin x = x - x3/(3!) + x5/(5!) - x7/(7!) + ... • cos x = 1 - x2/(2!) - x4/(4!) - x6/(6!) + ... • ex = 1 + x + - x2/(2!) - x3/(3!) - x4/(4!) + ... SE-1010Dr. Mark L. Hornick

  8. The Analytical Engine(Babbage, 1832 – 1991) • used punched cards (Jacquard) to store machine instructions • modern computer features: sequential control, branching, and looping. • Ada King (a mathematician) created the world’s first program for computing Bernoulli numbers SE-1010Dr. Mark L. Hornick

  9. What is a (computer) program? SE-1010Dr. Mark L. Hornick

  10. What is a computer program? • A program is a set of instructions that can be used to solve a problem. • The term algorithm is used to refer to the logic embodied by a particular sequence of instructions. SE-1010Dr. Mark L. Hornick

  11. Tabulating Machine(Herman Hollerith,1890) • Incorporated the punched card concept • Hollerith’s company became IBM in 1924 SE-1010Dr. Mark L. Hornick

  12. First generation electronic (1937-1946)… • Iowa State electronic calculator (Atanasoff/Berry) • Colossus WWII code breaker (Turing) • ENIAC, the first gen’l purpose computer (Eckert/Mauchly:1943-1946) • US Army/U-Penn project • Calculation of ballistics & trajectories • Reduced trajectory calculations from 20hr to 30s • Machine-language • Comparison (of values) • Addition • Subtraction • Multiplication • Division • Square root • Accommodated up to 20 10-digit decimal numbers • Programmed by setting switches & cable connections • Basically a simple programmable calculator dealing with “numbers” SE-1010Dr. Mark L. Hornick

  13. First generation electronic (1944-1953)… • Harvard Mark I • Harvard Mark II • First computer bug discovered • EDVAC • Stored programs • Eckert and Mauchly leave UPenn • Found UNIVAC SE-1010Dr. Mark L. Hornick

  14. 1947 - 1949 • Instructions stored internally along with numbers: von Neumann architecture • 600 2-digit instructions possible • Transistor invented at Bell Labs 1951 • UNIVAC - First commercial computer • Accumulated census data 1953 • IBM 701 - First business computer SE-1010Dr. Mark L. Hornick

  15. Evolution of Modern Computers 1st Generation – vacuum tubes 2nd Generation – transistors, late 1950s 3rd Generation – integrated circuits, early 1960s 4th Generation – computer chips, silicon chips, mid 1970s (microcomputer, “computer on a chip”) 5th Generation – Networks, LAN, WAN, Internet, Cloud Computing SE-1010Dr. Mark L. Hornick

  16. What is a computer programming language? SE-1010Dr. Mark L. Hornick

  17. What is a computer programming language? • Specially defined words, grammar, and punctuation that a computer “understands” • Programming languages are used to form the instructions that can be used by the computer to solve a problem. SE-1010Dr. Mark L. Hornick

  18. Time for a Class Exercise SE-1010Dr. Mark L. Hornick

  19. Computer Languages in the era of “Big Computers” 1954 – FORTRAN developed at IBM • A language for “Scientific” calculations 1958 - Cobol language developed by Grace Hopper • A language for Accounting and Business computations 1963 - BASIC developed at Dartmouth U • A simple language for teaching students SE Focus Dr. Mark L. Hornick

  20. In the 1960’s, Bell Labs created Unix and then decided they needed a “Systems” language to make it portable: 1963 to 1978 – K&R C (B. Kernigham & D. Ritchie @ Bell Labs) • CPL, BCPL, B, and finally C • “Systems” language doubles as “Scientific” language • C released publicly in 1978 – programmers worldwide fall in love with it, despite it’s quirks 1970 – Pascal (N. Wirth @ ETH-Zurich) • “Stuctured” language for teaching students good programming technique • Popular until about 2000 1983 – C++ (B. Stroustroup @ Bell Labs) • “Object-oriented” version of C • First widely-used OO language (not first OO lang) • Still very popular & widely used; available on many platforms SE Focus Dr. Mark L. Hornick

  21. Sun vs. Microsoft:Java and C# 1995: The Java language was designed by Sun Microsystems Inc. for use in embedded consumer-electronic applications, like toasters. • The evolution of the Java language is managed by Sun, and is available on multiple platforms. 2000: The C# programming language, developed and owned by Microsoft, is very similar to Java. • It is, however, proprietary to Microsoft and generally available only on MS platforms. SE Focus Dr. Mark L. Hornick

  22. Why Java?? Java is one of the best “modern” programming languages in widespread use. Java is used in a broad variety of real applications, such as: • Websites (www.noaa.gov) • Mobile application development Google’s Android mobile phone www.android.com • Desktop applications Limewirewww.limewire.com Azureus/Vuzewww.vuze.com SE Focus Dr. Mark L. Hornick

  23. Course Objectives • Understand basic aspects of the object-oriented programming model. • Understand and apply basic high-level programming language (i.e. Java) syntax. • Be able to design and implement small Java programs. • Be able to use existing Java class libraries. SE-1010Dr. Mark L. Hornick

  24. Essential Information • Instructor: Dr. Mark L. Hornick • email: hornick@msoe.edu • web: http://people.msoe.edu/~hornick/ • webCT: webct.msoe.edu • Office: L341 • Phone: 277-2417 SE-1010Dr. Mark L. Hornick

  25. Things your mom would tell you to do • Bookmark the SE1011 website: http://people.msoe.edu/~hornick/Courses/se1011/index.htm • Attend all classes It’s mandatory • Keep your laptop computers closed during lectures • Do the homework It affects your grade • Get started early on lab assignments • Ask questions (participate) SE-1010Dr. Mark L. Hornick

  26. Grading policy(see http://people.msoe.edu/~hornick/Courses/Course Policies.htm ) • The grading formula applies only to those students who have successfully met the objectives of this course. • There is a 10% per business day (1 weekend = 1 day) late penalty for all written work. Any work more than 5 days late will receive a 0 grade. • You must ultimately complete all work in order to pass the course. • You are encouraged to discuss homework and programming assignments with your fellow students, however, each of you is responsible for doing and turning in your own work, unless otherwise specified. Cheating is not tolerated and can result in a failing grade. SE-2030 Dr. Mark L. Hornick

  27. Labs and Quizzes • Labs are generally due 11pm the day prior to the following lab, but… • …specific info will be posted on the website • Quizzes (~1 per week) will generally be given at the beginning of labs SE-1010Dr. Mark L. Hornick

  28. Plan ahead for labs • Labs constitute a significant part of your grade. • Expect to spend additional time outside of the lab session working on your lab assignments SE-1010Dr. Mark L. Hornick

More Related