Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jozef Goetz contribution 2012 1 Standards  I would like to establish a clear system of standards  Learning standards are aligned with your expectations.

Similar presentations


Presentation on theme: "Jozef Goetz contribution 2012 1 Standards  I would like to establish a clear system of standards  Learning standards are aligned with your expectations."— Presentation transcript:

1

2 Jozef Goetz contribution 2012 1 Standards  I would like to establish a clear system of standards  Learning standards are aligned with your expectations and the expectations of the global marketplace  Clear visible standards.  Students must have clear understandings learning standards in the areas of  learning goals  lecture notes  exercises  assignments and  getting basic academics and  applications skills.

3 Jozef Goetz contribution 2012 2 Standards  Communication delivered over multiple channels is more efficient than communication over a single channel.  Multiple channels make it more likely that the whole message will be received.  An appropriate picture adds another channel  by making a visual connection to an abstract idea.   PowerPoint makes it easy to create visuals, and by using a template, makes it easy to be consistent.

4 Jozef Goetz contribution 2012 3 Research-based principles for design Power Point presentation  Educational psychologist, Richard Mayer, posits a theory of multimedia learning wherein he finds 7 research-based principles for design. Students learn better 1.from words and pictures than from words alone (Multimedia Principle) 2.when corresponding words and pictures are presented near rather than far from each other on the page or screen (Special Contiguity Principle) 3.when corresponding words and pictures are presented simultaneously rather than successively (Temporal Contiguity Principle)  Mayer, R. (2001). Multimedia Learning. Cambridge University Press.  Rodriguez, R. (2005) Theories Into Practice with Blackboard ONLINE, University of La Verne.

5 Jozef Goetz contribution 2012 4 Facts: Eyes are attracted to great contrast ●Contrast should fit information relevance ●Important information should have high contrast  I use color or/and color ●Less relevant details should have lower contrast Our eyes are attracted to: ●Size ●Contrast ●Texture ●Depth ●Motion Lecture Notes presentation

6 Jozef Goetz contribution 2012 5 So we use to control focus: ●Larger size ●Greater contrast ●Different color ●Hierarchy ●Should be easy to ignore lower levels as familiarity increases ●Sometimes animation A context should be hierarchical ●Group related contexts ● More details should be indented Lecture Notes presentation

7 Jozef Goetz contribution 2012 6 Lecture Notes presentation So we introduce 1.A hierarchy of bullets  Nested bulleted and numbered lists  Level 1 item 1 –Level 2 item 1 –Level 2 item 2  Level 1 item 2 1.Level 2 item 1 2.Level 2 item 2  Higher level more general info  Lower level more specific info 2.Key words: nouns (objects) in red, orange and purple,  important verbs in light blue,  important adjectives in green  important words in bold 3.Ability to learn from slides Example:  Distributed Computing  Work distributed over networks  N-Tier applications –Split parts of applications over numerous computers 1.User interface 2.Business-logic processing 3.Database –Different parts interact when application runs

8 Jozef Goetz contribution 2012 7 My Lecture Notes:  Have a tutorial value : the student should be able to learn from slides,  Comply with research-based principles for design Power Point presentation  Concepts are presented visually with many diagrams and pictures.  They use visual aids (diagrams, pictures etc.) and pictures are presented near each other on the page or screen.  The context is presented in the hierarchical way, details are indented  Important key words are highlighted or written in different color

9 Jozef Goetz contribution 2012 Other Benefits of LN  Helps with content organization and note taking  Organizes lecture content and indicates which points were most important  Helps with faster learning, specifically with the tutorial feature 8

10 Jozef Goetz contribution 2012 9  2006 Pearson Education, Inc. All rights reserved.  2002 Prentice Hall. All rights reserved. expanded by J. Goetz, 2009

11 Jozef Goetz contribution 2012 10 Chapter 1 – Introduction to Computers, the Internet, the Web, C# and.NET Outline ed 4

12 Jozef Goetz contribution 2012 11 OBJECTIVES In this chapter you will learn:  Basic hardware and software concepts.  The different types of programming languages.  Which programming languages are most widely used.  The history of the Visual C# programming language.  Some basics of object technology.  The history of the Internet and the World Wide Web.  The motivation behind and an overview of the Microsoft’s.NET initiative, which involves the Internet in developing and using software systems.

13 Jozef Goetz contribution 2012 12 High thoughts must have high language.  Aristophanes Our life is frittered away with detail.... Simplify, simplify.  Henry David Thoreau There are two ways of constructing a software design; one way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. - C. A. R. Hoare

14 Jozef Goetz contribution 2012 13 My object all sublime I shall achieve in time. W. S. Gilbert Man is still the most extraordinary computer of all.  John F. Kennedy The chief merit of language is clearness.  Galen

15 Jozef Goetz contribution 2012 14 1.1 What is a Computer?  Computer  Device capable of  Performing computations  Making logical decisions  Works billions of times faster than human beings  Fastest supercomputers today  Perform hundreds of billions of additions per second

16 Jozef Goetz contribution 2012 15 Fastest Supercomputer  (2005) I.B.M. announced that the Blue Gene/L system had attained a sustained performance of 36.01 trillion calculations per second, or teraflops, eclipsing the top mark of 35.86 teraflops reached in 2002 by the Earth Simulator in Yokohama  Dobb’s Report 12/14/2007: Researchers from the National Center for Atmospheric Research (NCAR), the San Diego Supercomputer Center (SDSC), Lawrence Livermore National Lab (LLNL), and IBM Watson Research Center have set U.S. records for size, performance, and fidelity of computer weather simulations.National Center for Atmospheric ResearchSan Diego Supercomputer CenterLawrence Livermore National Lab IBM Watson Research Center  Tom Spelce and Brent Gorda of Lawrence Livermore; and Robert Walkup of IBM who set a record for "parallelism" by running on 15,360 processors of the 103 peak teraflops IBM Blue Gene/L supercomputer.

17 Jozef Goetz contribution 2012 Fastest Supercomputer in October 2010 China Wrests Supercomputer Title From U.S. - October 28, 2010 FR: http://www.nytimes.com/2010/10/28/technology/28compute.htmlhttp://www.nytimes.com/2010/10/28/technology/28compute.html  Chinese researchers at a national defense university in Tianjin unveiled the world’s fastest supercomputer, Tianhe-1A uses a Linux-based operating systemLinux operating system  It was the fastest computer in the world from October 2010 to June 2011  The supercomputer is powered by California-based chip maker NVIDIA.  This Chinese supercomputer uses 7,168 NVIDIA graphics chips and 14,336 Intel processing chips giving it enough power to process 2,507 trillion 2.5 petaflops, or 2.5 quadrillion floating point calculations per.  That is 30% faster than the previous record holder, the Oak Ridge National Laboratory in Tennessee. 16

18 Jozef Goetz contribution 2012 Fastest Supercomputer in November 2011  The K computer – named for the Japanese word "kei" ( 京 ? ), meaning 10 quadrillion (10 16 ) - 10 petaflops is a supercomputer (a Linux-based operating system) produced by Fujitsu, currently installed at the RIKEN Advanced Institute for Computational Science campus in Kobe, Japan.kei ?quadrillionsupercomputer Linuxoperating systemFujitsuRIKEN Advanced Institute for Computational ScienceKobeJapan  The K computer is based on a distributed memory architecture, with over 80,000 computer nodes. It is intended to have a variety of applications, including climate research, disaster prevention and medical research.distributed memory  In June 2012, K was superseded as the world's fastest supercomputer by the American IBM Sequoia.IBM Sequoia 17

19 Jozef Goetz contribution 2012 Fastest Supercomputer in June 2012  IBM Sequoia is a petascale Blue Gene/Q supercomputer constructed by IBM for the National Nuclear Security Administration as part of the Advanced Simulation and Computing Program (ASC).petascaleBlue Gene/QsupercomputerIBMNational Nuclear Security AdministrationAdvanced Simulation and Computing Program  On 14 June 2012, the TOP500 Project Committee announced that Sequoia replaced the K computer as the world's fastest supercomputer, with a LINPACK performance of 16.32 petaflops, 55% faster than the K computer's 10.51 petaflops, using 123% more sockets than the K computer's 705,024 sockets.TOP500K computerLINPACKpetaflops  Sequoia is also more energy efficient, as it consumes 7.9 MW, 37% less than the K computer's 12.6 MW.MW  The entire supercomputer runs on Linux, with Compute Node Linux running on over 98,000 nodes, and Red Hat Enterprise Linux running on 768 I/O nodes that are connected to the filesystem.Compute Node LinuxRed Hat Enterprise Linux 18

20 Jozef Goetz contribution 2012 19 1.1 What is a Computer? (II)  Programs  Sets of instructions that process data  Guide computer through orderly sets of actions specified by computer programmers  Computer system  Comprised of various hardware devices  Keyboard  Screen (monitor)  Disks  Memory  Processing Units  Etc.

21 Jozef Goetz contribution 2012 20 1.2 Computer Organization  Every computer divided into 6 units 1. Input unit  “Receiving” section of computer  Obtains data from input devices –Keyboard, mouse, disk or scanner  Places data at disposal of other units 2. Output unit  “Shipping” section of computer  Puts processed info on various output devices –Screens, paper printouts, speakers  Makes info available outside the computer

22 Jozef Goetz contribution 2012 21 1.2 Computer Organization (II) 3. Memory unit  Rapid access, low-capacity “warehouse”  Temporarily retains information entered through input unit  Retains info that has already been processed until it can be sent to output unit  Often called memory, primary memory, or random access memory (RAM) 4. Arithmetic and Logic Unit (ALU)  “Manufacturing” section of computer  Performs calculations (addition, subtraction, multiplication and division)  Contains decision mechanisms and can make comparisons

23 Jozef Goetz contribution 2012 22 1.2 Computer Organization (III) 5. Central Processing Unit (CPU)  “Administrative” section of computer  Coordinates and supervises other sections (instruct ALU, Input, Output, units) 6. Secondary storage unit  Long-term, high-capacity “warehouse”  Stores programs or data not currently being used by other units on secondary storage devices –Hard Drives, disks or CDs  Takes longer to access than primary memory

24 Jozef Goetz contribution 2012 23 Early Operating System  Early Computers  Single-user batch processing  Jobs on decks of punched cards  One job ran at a time  Results took hours to process  Operating Systems  Managed transitions between jobs  Increased amount of work computer could accomplish by developing OS with more features  Multiprogramming  Simultaneous operation of several jobs  Computer resources split between jobs, specifically in RAM –Achieved better utilization  Still took long hours for results

25 Jozef Goetz contribution 2012 24 Early Operating System  Timesharing Operating Systems (1960s)  Computers accessed through terminals  Devices with keyboards and screens  Hundreds of people use system at once  Quickly performs small portions of each person’s job  Gives appearance of running simultaneously

26 Jozef Goetz contribution 2012 25 History of Operating Systems  First generation 1945 - 1955  mechanical relays, vacuum tubes, plugboards  Second generation 1955 - 1965  transistors, batch systems  Third generation 1965 – 1980  Integrated Circuits (ICs) and multiprogramming  Fourth generation 1980 – present  personal computers, laptop, tablets, smart phones  PDAs (Personal Digital Assistant)  A handheld computer for managing contacts, appointments and tasks.

27 Jozef Goetz contribution 2012 26 History of Operating Systems Early batch system  a. bring cards to 1401  b. reads cards (batch of jobs) onto tape  c. operator carries input tape to 7094  d. puts tape on 7094 which does computing  e. put tape on 1401 which prints off line output

28 Jozef Goetz contribution 2012 27 Memory Layout for a Simple Batch System

29 Jozef Goetz contribution 2012 28 Multiprogrammed Batch Systems Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them.

30 Jozef Goetz contribution 2012 29 Evolution of an Operating System (III)  UNIX  Originally an experimental timesharing OS  Developed by Dennis Ritchie and Ken Thompson  Developed at Bell Labs  Written in C  Open-Source software  Source code freely distributed among programmers  The code is open and you can see it, change it, learn from it  Created large community  Powerful and flexible  Handled any task a user required  Developed into many versions –Linux –BSD

31 Jozef Goetz contribution 2012 30 THE OPERATING SYSTEM ZOO 1.Mainframe operating systems 2.Server operating systems 3.Multiprocessor operating systems 4.Personal computer operating systems 5.Real-time operating systems 6.Embedded operating systems 7.Smart card operating systems

32 Jozef Goetz contribution 2012 31 1.3 Personal Computing, Distributed Computing and Client/Server Computing  Personal Computing  Pioneered by Apple and IBM  Computer prices dropped –Computers reasonable for personal or business use  Stand-alone units  People work on personal machines –Transported disks to share information “Sneakernet”  Machines linked together –Telephone lines –Local Area Networks (LANs) –Led to distributed computing

33 Jozef Goetz contribution 2012 32 1.3 Personal Computing, Distributed Computing and Client/Server Computing (II)  Distributed Computing  Work distributed over networks  N-Tier applications –Split parts of applications over numerous computers 1.User interface 2.Business-logic processing 3.Database –Different parts interact when application runs

34 Jozef Goetz contribution 2012 33 1.3 Personal Computing, Distributed Computing and Client/Server Computing (III)  Client/Server Computing  Workstations - clients  High-powered desktop machines  Easily share information over computer networks  Servers  Store programs and data  Information accessed by clients  Local Area Networks (LAN)  Capabilities (GUI) provided by modern Operating Systems  Windows (98, ME, 2000, XP, Vista, Windows 7 and 8), UNIX, Linux, Mac OS

35 Jozef Goetz contribution 2012 34 1.4 Hardware Trends  Improving technologies  Internet community gains improvements of  Hardware  Software  Communications  Cost of products and services  Consistently dropping over the decades  Gordon Moore – Co-founder of Intel – Moore’s Law: The costs of hardware exponentially decreases  Computer capacity and speed  Doubles every two years (on average)  Microprocessor chip  Laid groundwork in late 1970s and 1980s for productivity improvements of the 1990s

36 Jozef Goetz contribution 2012 35 1.5 Microsoft’s Windows Operation System  Microsoft  Dominant software company  Windows operating system  A graphical user interface (GUI) built on top of DOS  Most widely used operating system  Linux  Operating system based on Unix  Open source  Source code freely available to users  Biggest competitor to Windows

37 Jozef Goetz contribution 2012 36 1.6 Machine Languages, Assembly Languages and High Level Languages  Programming Languages  Hundreds exist today  Fall into three categories 1.Machine languages –“Natural language” of computer component –Machine dependent 2.Assembly languages –English-like abbreviations represent computer operations –Translator programs convert to machine language 3.High-level languages –Allows for writing more “English-like” instructions Contains commonly used mathematical operations –Compiler converts to machine language 4.Interpreter –Execute high-level language programs without compil ation

38 Jozef Goetz contribution 2012 37 1.6 Machine Languages, Assembly Languages and High Level Languages (II)  Machine Languages  Only language understood directly by computer  Defined by computer’s hardware design  Machine-dependent –Languages specific to particular computers  Difficult to understand for human  Example: +1300042774 +1400593419 +1200274027  Streams and numbers –Ultimately reduced to 0s and 1s Binary code –Instruct most elementary of operations  Slow, tedious and error-prone –Led to Assembly languages

39 Jozef Goetz contribution 2012 38 1.6 Machine Languages, Assembly Languages and High Level Languages (III)  Assembly Languages  Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY  English-like abbreviations  Represent elementary operations of computer  Translated to machine language  Assemblers convert to machine language  High-speed conversion  More clear to human readers  Still tedious to use –Many instructions for simple tasks –Led to high-level languages

40 Jozef Goetz contribution 2012 39 1.6 Machine Languages, Assembly Languages and High Level Languages (IV)  High-Level Languages  Single statements accomplish substantial tasks  Translated to machine language  Compilers convert to machine language  Conversion takes considerable time, so –Interpreters run programs without compiling Used in development environment  Instructions comprehensible to humans  Example: grossPay = basePay + overTimePay  Looks mostly like everyday English  Contains common mathematical notation  Procedural languages are abstractions of assembly languages

41 Jozef Goetz contribution 2012 40 Fig. | Comparing machine, assembly and high-level languages.

42 Jozef Goetz contribution 2012 41 1.8 C, C++, Visual Basic.NET and Java  C - 1972  Developed by Dennis Ritchie  Evolved from the B language (“typelless” – every data occupied one word) at Bell Labs  Kernighan and Ritchie: “The C Programming Language”.’78, 2 nd ’88  ANSI/ISO 9899 established worldwide standards for C programming called ANSI C  Added data type features  Gained recognition as language of UNIX  Now a widely used language  Available on most computers  Language of most major operating systems  Led to development of C++  Hardware-independent languages; portable to most computers

43 Jozef Goetz contribution 2012 42 1.8 C, C++, Visual Basic.NET and Java (II)  C++ - 1980  Developed by Bjarne Stroustrup at Bell Labs (1980s)  Extension of C  Uses elements from Simula 67 –Simulation programming language  Provides features to “spruce up” C  Provides Object-oriented technology –Hybrid language Possible to program structurally Possible to program with object-oriented technology Possible to use both

44 Jozef Goetz contribution 2012 43 1.8 C, C++, Visual Basic.NET and Java (III)  Object-Oriented Programming  Uses objects  Reusable software components  model real-world items  More productive than structured programming  Easier to understand, correct and modify  Object-Oriented Languages abstract elements in the application domain that refer to “objects” communications via message.

45 Jozef Goetz contribution 2012 44 1.8 C, C++, Visual Basic.NET and Java (IV)  Visual Basic - mid 1960s  Based from BASIC (mid 1960s)  Beginners All-Purpose Symbolic Instruction Code  Implemented by Bill Gates at Microsoft  BASIC evolved to Visual Basic in ’91 –Graphical User Interface  Included capabilities such as –object based programming, –error handling and –GUI creation  Evolved to.NET – fully OOP language  Allows access to.NET libraries  Improved object oriented programming

46 Jozef Goetz contribution 2012 45 1.9 C, C++, Visual Basic.NET and Java (V)  Java 1991 - announced in 05/1995  Sun Microsystems corporate research project (1991)  Code-named Green  Based on C and C++  Intended for intelligent consumer-electronic devices  Lack of popularity almost causes cancellation  Sudden popularity of WWW in 1993 provided new potential  Used Java to create web pages with dynamic content –Animated and interactive content  Grabbed attention of business community  Now very widely used  Enhance functionality of WWW servers  Provide applications for consumer devices (pagers, cell phones, PDAs, …)  Java programs  Consist of pieces called classes  Classes contain methods, which perform tasks

47 Jozef Goetz contribution 2012 46 1.9 C#  C#  Developed at Microsoft by a team led by Anders Hejlsberg and Scott Wiltamuth  Event driven, object oriented, visual programming language  Roots in C, C++ and Java  Incorporated into.NET platform  Web based applications can be distributed –Devices and desktop computers  Programs that can be accessed by anyone through any device  Allows communicating with different computer languages  Integrated Design Environment (IDE)  Makes programming and debugging fast and easy  The process of rapidly creating an application using an IDE is referred to as Rapid Application Development (RAD)

48 Jozef Goetz contribution 2012 47 1.9 C# (II)  C# applications can interact via the Internet using standards SOAP and XML  SOAP  Simple Object Access Protocol  Allows the communicating of applications written in different languages  Any.NET language  Helps to share program “chunks” over the internet

49 Jozef Goetz contribution 2012 48 Why C# ?  The integration of software components from various languages proved difficult, and installation problems were common  b/c new versions of shared components were incompatible with old software  Developers recognized the need for software that was accessible to anyone and available from almost any type of device.  C# is fundamental language and design specifically for the.NET Microsoft key technologies and Windows, Web Services and Distributed Applications.  It has roots in C, C++ and Java, adapting the best features of each and adding new features of its own  Power of C with ease of Microsoft Visual Basic®  Much cleaner than C++  More structured than Visual Basic  More powerful than Java for small and medium size apps.

50 Jozef Goetz contribution 2012 49 Why C# ?  C# is object oriented language  contains a powerful class library of prebuilt components,  enabling programmers to develop applications quickly  C# and Visual Basic share the Framework Class Library (FCL) –Builds on COM+ experience –Native support for Namespaces Versioning Attribute-driven developmen t  C# was standardized by ECMA International (as Standard ECMA-334) and ISO

51 Jozef Goetz contribution 2012 50 Why C# ?  C# is appropriate for demanding application development tasks, especially for building today’s popular Web-based applications.  The.NET platform is one over which Web-based applications can be distributed to a great variety of devices (even cell phones: Windows Phone 7) and to desktop computers.  C# is an event-driven, visual programming language in which programs are created using an Integrated Development Environment ( IDE)  With the IDE, a programmer can create, run, test and debug C# programs conveniently, thereby reducing the time it takes to produce a working program to a fraction of the time it would have taken without using the IDE.

52 Jozef Goetz contribution 2012 51 Another Motivation to learn C#  The number of job ads on the web have reached their highest level (August 2007), with C# skills in especially hot demand. demand for the skill: C# as a proportion of the total demand for staff http://www.jobstats.co.uk/jobstats.d/Details.d/Trends.d/SKILL/C.hash..d/http://www.jobstats.co.uk/jobstats.d/Details.d/Trends.d/SKILL/C.hash..d/ C# as a proportion of the total demand for staff rolling maximum rolling average rolling minimum

53 Jozef Goetz contribution 2012 52 FROM: http://old.jobstats.co.uk/job stats.d/Details.d/Rates.d/SKILL/ C.hash..d/index.html http://old.jobstats.co.uk/job stats.d/Details.d/Rates.d/SKILL/ C.hash..d/index.html rate offered by more than 10% of adverts rate offered by more than 25% of adverts Median rate rate offered by more than 75% of adverts Trends in the hourly rates offered for the skill: C# in £ = 1.578$ Trends in the hourly rates offered Key

54 Jozef Goetz contribution 2012 53 Another Motivation to learn C#  C# is easy to learn if you know C++ or Java,  plus the.NET framework makes many things easier.  The class library is primarily written in C#.

55 Jozef Goetz contribution 2012 54 Other High Level Languages  Fortran (FORmula TRANslator)  Developed at IBM (1950s)  Complex mathematical computations  for scientific and engineering applications  Still widely used  COBOL (COmmon Business Oriented Language)  Developed by computer users, manufacturers and the government (1959)  Commonly associated with business software  Commercial application that require precise and efficient manipulation of large amounts of data  Pascal  Structured programming  Developed by Professor Nicklaus Wirth (late 1960s)  For academic use  ADA early ’80s  Multitasking: Allow many activities to occur in parallel  Modula, Concurrent Pascal (multitasking) etc.

56 Jozef Goetz contribution 2012 55 Fig. |.NET programming languages.

57 Jozef Goetz contribution 2012 56 Structured Programming  Early Software Development  Complex and costly for businesses (1960s)  Costs exceeded budgets  Final products unreliable  Research led to structured programming  Disciplined approach to programming  Clear, easy to test, debug, and modify –Several languages resulted from research –C, Pascal, Ada –Focused on actions (verbs) rather than things or objects (nouns)

58 Jozef Goetz contribution 2012 57 Structured Programming (II)  Structured Languages  Pascal  Designed for teaching structured programming  Lacked features for commercial use  C  Had features Pascal didn’t (e.g. pointers)  Quickly adopted by programmers  Ada  Developed by U.S. Department of Defense (late 1970s) –Based on Pascal –DOD wanted one language for all its needs –Supported multitasking Many activities occur in parallel

59 Jozef Goetz contribution 2012 58 Key Software Trend: Object Technology  What is Object Technology?  Packaging scheme for creating software units  Units are objects (nouns) which are instances of classes –Any noun can be represented as an object Date object, time object, car object –Specify general format –Have properties (attributes) Size, color, weight –Perform actions (verbs) - behaviors Moving, sleeping, drawing Defined in classes as methods

60 Jozef Goetz contribution 2012 59 Key Software Trend: Object Technology (II)  Object-Oriented programming  Objects based on nouns  Reflects the way world is perceived  Mirrors real world entities and therefore objects are more reusable  Advantages over structured programming  More natural process –Results in better productivity  Classes provide reusability –Microsoft Foundation Classes (MFC)  Easier to maintain (80% of software costs) because –Programs more understandable –Better organized –Focus on objects –Less attention to details

61 Jozef Goetz contribution 2012 60 History of the Internet and World Wide Web  ARPAnet  Implemented in late 1960’s by ARPA (Advanced Research Projects Agency of DOD)  Networked computer systems of a dozen universities and institutions with 56KB communications lines  Grandparent of today’s Internet  Intended to allow computers to be shared  Became clear that key benefit was allowing fast communication between researchers – electronic-mail (email)

62 Jozef Goetz contribution 2012 61 1.10 The Internet and World Wide Web (II)  Internet  Developed more than four decades ago with DOD Department of Defense fundingDepartment of Defense  Originally for connecting few main computer systems  Now accessible by hundreds of millions of computers  World Wide Web (WWW)  Allows for locating/viewing multimedia-based documents  ARPA – The ARPANET was the predecessor to the Internet established by the United States Department of Defense Advanced Research Projects Agency (ARPA),ARPANETUnited States Department of DefenseAdvanced Research Projects Agency  ARPA’s goals  Allow multiple users to send and receive info at same time  Network operated packet switching technique  Digital data sent in small packages called packets  Packets contained –data, –address info, –error-control info and –sequencing info  Greatly reduced transmission costs of dedicated communications lines  Network designed to be operated without centralized control  If portion of network fails, remaining portions still able to route packets

63 Jozef Goetz contribution 2012 62 A brief history of the Internet. ARPANET (50s and 60s, some universities) NSFNET (late 70s, all universities) TCP/IP (invention ’74) became the official protocol in 1983.  When NSFNET and the ARPANET were connected, the growth became exponential  Many regional networks (Canada, Europe, the Pacific) joined up  In mid-80s people began viewing the collection of networks as the Internet  The glue that holds the Internet together is the TCP/IP reference model and TCP/IP protocol stack ANS (Advanced Networks and Service) by MERIT, MCI, and IBM took over NSFNET in 1990 and form ANSNET ANSNET sold to American Online in 1995.

64 Jozef Goetz contribution 2012 63 History of the Internet and World Wide Web (III)  Was used Transmission Control Protocol (TCP)  Name of protocols for communicating over ARPAnet  Ensured that messages were properly routed and that they arrived intact  Organizations implemented own networks  Used both for intra-organization and communication

65 Jozef Goetz contribution 2012 64 History of the Internet and World Wide Web (IV)  Huge variety of networking hardware and software appeared  ARPA achieved inter-communication between all platforms with development of the IP  Internetworking Protocol  Current architecture of Internet  Combined set of protocols called TCP/IP  The Internet  Limited to universities and research institutions  Military became a big user  Next, government decided to access Internet for commercial purposes

66 Jozef Goetz contribution 2012 65 History of the Internet and World Wide Web (V)  Internet traffic grew  Businesses spent heavily to improve Internet  Better service their clients  Fierce competition among communications carriers and hardware and software suppliers  Result –Bandwidth (info carrying capacity) of Internet increased tremendously –Costs plummeted (dropped)

67 Jozef Goetz contribution 2012 66 History of the Internet and World Wide Web (VI)  WWW  Is GUI (graphical user interface) to info stored on servers  Allows computer users to locate and view multimedia-based documents  Introduced in 1990 by Tim Berners-Lee  Developed information system based on hyperlinked text documents –HyperText Markup Language (HTML) –Developed communication protocols as backbone  WWW today  Makes info instantly accessible  Merges computing and communication technologies

68 Jozef Goetz contribution 2012 67 Internet Usage  In ’93 development of Mosaic by Marc Anderson, the first graphics-based web browser at NCSA  This created an interface to the Web that was easy to use – just point and click instead of remembering text commands  This set the stage for easier information sharing and retrieval  The ch-r of the network was changed from an academic and military playground to a public utility

69 Jozef Goetz contribution 2012 68 World Wide Web Consortium (W3C)  W3C - 1994  Founded in 1994 by Tim Berners-Lee  Devoted to developing non-proprietary and interoperable technologies for the World Wide Web and making the Web universally accessible  W3C Goals  Specify the role, syntax and rules of a technology  User Interface Domain  Technology and Society Domain  Architecture Domain and Web Accessibility Initiatives  Standardization  W3C Recommendations: technologies standardized by W3C include –Extensible HyperText Markup Language (XHTML), –Cascading Style Sheets (CSS) and –the Extensible Markup Language (XML)  Document must pass through –Working Draft (specify an evolving draft), –Candidate Recommendation (industry can begin to implement) and –Proposed Recommendation (i.e. has been implemented and tested over a period of time) phases before considered for –W3C Recommendation (standards)

70 Jozef Goetz contribution 2012 69 World Wide Web Consortium (W3C) (II)  W3C Structure  Comprised of 3 Hosts  Massachusetts Institute of Technology (MIT)  France’s INRIA (Institut National de Recherche en Informatique et Automatique)  Keio University of Japan  400 Members (including Deitel & Associates) that provide the primary financing  W3C homepage at www.w3.org www.w3.org

71 Jozef Goetz contribution 2012 70 1.11 Extensible Markup Language (XML).  XML  Resulted from HTML’s limitations  Data independence  HTML (Hypertext Markup Language) limitations  Lack of extensibility  Inability to add or change features –Developers become frustrated –Code becomes erroneous  Led to more development on HTML  W3C created Cascading Style Sheets (CSS) as temporary solution –New technology for formatting documents  Led to research for a standardized extensible language –W3C developed Extensible Markup Language (XML) Combined power of Standard Generalized Markup Language (SGML) with simplicity of HTML Developed XML-based standards for style-sheets and advanced hyperlinking

72 Jozef Goetz contribution 2012 71 1.11 Extensible Markup Language (XML) Here's an example of the above data in XML: JONES JOHN 5555551212 9902 BROADWAY NEW YORK NY 10010 SMITH MABEL 5555559999 674 ANYSTREET CHICAGO IL 60614

73 Jozef Goetz contribution 2012 72 1.11 Extensible Markup Language (XML) (II)  Become the universal technology for data representation  XML features  Data independence  Separation of content from its presentation –Because an XML document describes data in ASCII, any application can process XML documents Improves Web functionality and interoperability XML documents can be easy manipulated by any app that can process text so it reduces server load and network traffic  Integration with applications not only via Web services –Communication between applications employ XML –Structure allows easy integration with database applications

74 Jozef Goetz contribution 2012 73 1.11 Extensible Markup Language (XML) (III)  Communication using XML  Simple Object Access Protocol (SOAP)  Technology for transmissions of objects over the internet.  A Framework for –expressing application semantics, –encoding that data and –packing it in modules  Structured into three parts –Envelope Describes content and recipient of SOAP message –Encoding rules Which are XML-based –Remote Procedure Call (RPC) representation Commands other computers to perform a task

75 Jozef Goetz contribution 2012 74 1.11 Extensible Markup Language (XML) (III)  Since SOAP’s foundation are in  XML and  HTTP (Hypertext Transfer Protocol)  The key communication protocol of the Web

76 Jozef Goetz contribution 2012 75 1.12 Introduction to Microsoft.NET.NET initiative 1.Introduced by Microsoft (June 2000)  Vision for embracing the Internet in software development  Reusable application software components that can be used over the Internet 2.Independence from specific language or platform  Applications developed in any.NET compatible language –Visual Basic.NET, Visual C++.NET, C#, J# and more  Programmers can contribute to applications using the language in which they are most competent 3.Architecture capable of existing on multiple platforms 4.New program development process  Can lead increased productivity

77 Jozef Goetz contribution 2012 76 1.12 Introduction to Microsoft.NET (II) 5. Key components of.NET 1.Web services  Applications used over the Internet 2.Software reusability  Web services provide solutions for wide variety of companies –Cheaper than developing one-time solutions that can’t be reused Single applications perform all operations for a company such as manage taxes refunds, loans, bills, investments and etc. using WEB services from various companies reservation system – many earliness have access to the same reservation system Dollar Rent a Car’s reservation data base system (Microsoft based) is available as Web Services (service components) for the airlines (Unix based systems) centralized database system – not to have many unsynchronized copies, access via any devices or PCs  Pre-packaged components (buttons, text boxes and scrollbars) –Make application development quicker and easier –Developers no longer need to be concerned with details of components (buttons, text boxes and scrollbars)

78 Jozef Goetz contribution 2012 77 1.12 Introduction to Microsoft.NET (III) -.NET initiative 3. Keys to the WEB services interaction  XML and SOAP  “ Glue” that combines various Web services to form applications –XML gives meaning to data –SOAP allows communication to occur easily 6. Universal data access  Data formatted appropriately for display on various devices –Same document seen on PC, PDA, cell phone and other devices  Eliminates need to synchronize files –Updating multiple copies of same file to the most recent  Data resides at one central location –Accessible by anyone with connection and proper authorization  Additional information available at Microsoft Web site www.microsoft.com/net www.microsoft.com/net

79 Jozef Goetz contribution 2012 78.NET Framework Architecture WindowsCOM+ Services Common Language Runtime CLR Base Class Library ADO.NET and XML ASP.NETWindows Forms Common Language Specification VBC++C#JScript… Visual Studio.NET NET Framework includes:  Common Language Specification (CLS):  Information about storage of data types and objects and so on  Common Language Runtime (CLR) – virtual machine:  Programs compiled into machine specific language  Microsoft Intermediate Language (MSIL)  plays a crucial role for language interoperability  Just-In-Time Compiler (JIT): Translates MSIL  into machine- language code when application executes

80 Jozef Goetz contribution 2012 79.NET Framework Framework Class Library ADO.NET Network XML Security Threading Diagnostics IO Etc. Common Language Runtime Memory Management Common Type SystemLifecycle Monitoring C# VB.NET C++.NET Other VisualStudio.NETVisualStudio.NET Common Language Specification Windows Forms ASP.NETASP.NET Web Services ASP.NET Application Services Web FormsControlsDrawing Windows Application Services Figure : The.NET Framework class libraries.NET Framework

81 Jozef Goetz contribution 2012 80 1.13.NET Framework and the Common Language Runtime.NET Framework  Heart of.NET strategy  Manages and executes applications and Web services  Provides –security, –memory management and –other programming capabilities  Includes:  Framework class library (FCL)  Pre-packaged classes ready for reuse  Used by any.NET language  Details contained in Common Language Specification (CLS)  about the storage of data type, objects and so on  Submitted to European Computer Manufacturers Association for standardization to make the blueprint of the framework- –that anyone can build the framework on other platforms following the specification.NET under development on Linux and MAC OS X operating systems – open source Mono http://www.mono-project.com/Main_Page http://www.mono-project.com/Main_Page based on the Ecma standards for C# DotGNU Portable.NET - http://www.dotgnu.org /http://www.dotgnu.org /  Executes programs by Common Language Runtime (CLR)

82 Jozef Goetz contribution 2012 81 1.13.NET Framework and the Common Language Runtime (II)  Common Language Runtime (CLR) - environment for MSIL  Central part of framework  Executes Visual.NET programs  Compilation process  Two compilations take place –Programs written in different languages compiled to Microsoft Intermediate Language (MSIL) unified, single program Defines instructions for CLR –MSIL code translated into machine code Machine code for a particular platform  Other advantages of CLR  Execution-management features  Manages memory, security and other features –Relieves programmer of many responsibilities (garbage collector) More concentration on program logic

83 Jozef Goetz contribution 2012 82.NET Compilations C# Code VB Code VB Compiler COBOL Code COBOL Compiler IL (MSIL) JIT Compiler Native Code Run Time C# Compiler JITer (Just in Time compiler) Host machine  Microsoft Intermediate Language (MSIL)  plays a crucial role for language interoperability  Just-In-Time Compiler (JIT): Translates MSIL  into machine-language code when application executes

84 Jozef Goetz contribution 2012 83 Common Language Runtime CLR Architecture Class Loader IL to Native Compilers Code Manager Garbage Collector Security EngineDebug Engine Type CheckerException Manager Thread SupportCOM Marshaler Base Class Library Support The CLR is responsible for run-time services such as: Language integration Security enforcement Memory Process Thread management. Versioning

85 Jozef Goetz contribution 2012 84 The Common Language Runtime Interoperability  How does the interoperability work in practice?  The first key idea is to map all software to the.NET Object Model.  Once compiled, classes don't reveal their language of origin. 5/8 C++ C# Eiffel Object model Platform Compilers …

86 Jozef Goetz contribution 2012 85 1.13.NET Framework and the Common Language Runtime (III)  Why two compilations?  Platform independence .NET Framework can be installed on different platforms  Execute.NET programs without any modifications to code  Language independence .NET programs are not tied to particular language  Programs may consist of several.NET-compliant languages  Old and new components can be integrated

87 Jozef Goetz contribution 2012 86 Java platform vs.NET Linux and MAC OS X

88 Jozef Goetz contribution 2012 87 keywords comparison C#Java basesuper boolboolean Isinstanceof sealedfinal internalprivate :extends :implements namespacepackage readonlyconst usingimport

89 Jozef Goetz contribution 2012 88 1.14 Test-Driving a C# Application  http://www.microsoft.com/express/Downloads/# http://www.microsoft.com/express/Downloads/#  Test-Driving the Drawing Application  Checking your setup  Locating the application directory  Running the Drawing application (Fig. 1.2)  Changing the brush color (Fig. 1.3)  Changing the brush size (Fig. 1.4)  Finishing the drawing (Fig. 1.5)  Closing the application

90 Jozef Goetz contribution 2012 89 RadioButtons GroupBoxes Panel Fig. 1. 3 | Visual C# Drawing application.

91 Jozef Goetz contribution 2012 90 Fig. 1. 4 | Drawing with a new brush color.

92 Jozef Goetz contribution 2012 91 Fig.1. 5 | Drawing with a new brush size.

93 Jozef Goetz contribution 2012 92 Fig.1. 6 | Finishing the drawing.

94 Jozef Goetz contribution 2012 93 Software Engineering Observation 1.1  Reuse of existing classes when building new classes and programs saves time, money and effort.  Reuse also helps programmers build more reliable and effective systems, b/c existing classes and components often have gone through extensive testing, debugging and performance tuning.


Download ppt "Jozef Goetz contribution 2012 1 Standards  I would like to establish a clear system of standards  Learning standards are aligned with your expectations."

Similar presentations


Ads by Google