jozef goetz contribution 2012 1 standards i would like to establish a clear system of standards ...

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

Upload: patience-potter

Post on 16-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

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

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.

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

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.

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

Jozef Goetz contribution 2012

3

Research-based principles for designPower Point presentation

Educational psychologist, Richard Mayer, posits a theory of multimedia learning wherein he finds 7 research-based principles for design.

• Students learn better1. 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.

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

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

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

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

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

Jozef Goetz contribution 2012

6

Lecture Notes presentationSo we introduce1. 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 computers1. User interface2. Business-logic processing3. Database

– Different parts interact when application runs

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

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

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

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

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

Jozef Goetz contribution 2012

9

2006 Pearson Education, Inc. All rights reserved.

2002 Prentice Hall. All rights reserved.

expanded by J. Goetz, 2009

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

Jozef Goetz contribution 2012

10Chapter 1 – Introduction to Computers, the Internet, the Web, C# and .NET

Outline ed 4

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

Jozef Goetz contribution 2012

11OBJECTIVES

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.

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

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

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

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

15Fastest 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. 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.

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

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

Chinese researchers at a national defense university in Tianjin unveiled the world’s fastest supercomputer, Tianhe-1A uses a Linux-based 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

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

Jozef Goetz contribution 2012

Fastest Supercomputer in November 2011

The K computer – named for the Japanese word "kei" ( 京 ?), meaning 10 quadrillion (1016) - 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.

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.

In June 2012, K was superseded as the world's fastest supercomputer by the American IBM Sequoia.

17

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

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

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.

Sequoia is also more energy efficient, as it consumes 7.9 MW, 37% less than the K computer's 12.6 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.

18

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

201.2 Computer Organization

Every computer divided into 6 units1. 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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

23Early 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

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

Jozef Goetz contribution 2012

24Early 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

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

Jozef Goetz contribution 2012

25History 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.

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

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

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

Jozef Goetz contribution 2012

27Memory Layout for a Simple Batch System

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

Jozef Goetz contribution 2012

28Multiprogrammed Batch Systems

Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them.

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

Jozef Goetz contribution 2012

29Evolution 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

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

Jozef Goetz contribution 2012

30THE 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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

361.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 compilation

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

381.6 Machine Languages, Assembly

Languages and High Level Languages (III)

Assembly Languages Example:

LOAD BASEPAYADD OVERPAYSTORE 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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

40Fig. | Comparing machine, assembly and high-level languages.

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

Jozef Goetz contribution 2012

411.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, 2nd ’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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

461.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)

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

48Why 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.

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

Jozef Goetz contribution 2012

49Why C# ? C# is object oriented language

contains a powerful class library of prebuilt components,

enabling programmers to develop applications quicklyC# and Visual Basic share the Framework Class Library (FCL) – Builds on COM+ experience

– Native support for

• Namespaces

• Versioning

• Attribute-driven development

C# was standardized by ECMA International (as Standard ECMA-334) and ISO

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

Jozef Goetz contribution 2012

50Why 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.

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

Jozef Goetz contribution 2012

51Another 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/

C# as a proportion of the total demand for staff

                                                                                                                                                      

 

rolling maximum

 

rolling average

 

rolling minimum

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

Jozef Goetz contribution 2012

52

FROM:http://old.jobstats.co.uk/jobstats.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

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

Jozef Goetz contribution 2012

53Another 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#.

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

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.

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

Jozef Goetz contribution 2012

55

.NET programming languages

APL Mondrian

C# Oberon

COBOL Oz

Component Pascal Pascal

Curriculum Perl

Eiffel Python

Forth RPG

Fortran Scheme

Haskell Smalltalk

Java Standard ML

Jscript Visual Basic

Mercury Visual C++

Fig. | .NET programming languages.

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

Jozef Goetz contribution 2012

56Structured 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)

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

Jozef Goetz contribution 2012

57Structured 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

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

Jozef Goetz contribution 2012

58Key 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

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

Jozef Goetz contribution 2012

59Key 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

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

Jozef Goetz contribution 2012

60History 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)

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

Jozef Goetz contribution 2012

611.10 The Internet and World Wide Web (II) Internet

Developed more than four decades ago with DOD Department of Defense funding 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),

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

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

Jozef Goetz contribution 2012

62A 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.

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

Jozef Goetz contribution 2012

63History 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

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

Jozef Goetz contribution 2012

64History 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

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

Jozef Goetz contribution 2012

65History 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)

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

Jozef Goetz contribution 2012

66History 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

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

Jozef Goetz contribution 2012

67Internet 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

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

Jozef Goetz contribution 2012

68World 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)

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

Jozef Goetz contribution 2012

69World 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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

711.11 Extensible Markup Language (XML)

Here's an example of the above data in XML:<Customers> <Customer> <LastName>JONES</LastName> <FirstName>JOHN</FirstName> <Telephone>5555551212</Telephone> <Address>9902 BROADWAY</Address> <City>NEW YORK</City> <State>NY</State> <Zip>10010</Zip> </Customer> <Customer> <LastName>SMITH</LastName> <FirstName>MABEL</FirstName> <Telephone>5555559999</Telephone> <Address>674 ANYSTREET</Address> <City>CHICAGO</City> <State>IL</State> <Zip>60614</Zip> </Customer> </Customers>

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

751.12 Introduction to Microsoft .NET

.NET initiative1. 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

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

Jozef Goetz contribution 2012

761.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)

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

78.NET Framework Architecture

Windows COM+ Services

Common Language Runtime CLR

Base Class Library

ADO.NET and XML

ASP.NET Windows Forms

Common Language Specification

VB C++ C# JScript …

Visu

al Stu

dio

.NE

T

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

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

Jozef Goetz contribution 2012

79.NET Framework

Framework Class LibraryFramework Class LibraryFramework Class LibraryFramework Class Library

ADO.NET

Network

XML

Security

Threading

Diagnostics

IO

Etc.

Common Language RuntimeCommon Language RuntimeCommon Language RuntimeCommon Language Runtime

Memory Management Common Type System Lifecycle Monitoring

C# VB.NET C++.NET OtherC# VB.NET C++.NET OtherC# VB.NET C++.NET OtherC# VB.NET C++.NET Other

VisualVisual

StudioStudio

.NET.NET

VisualVisual

StudioStudio

.NET.NET

Common Language SpecificationCommon Language SpecificationCommon Language SpecificationCommon Language Specification

Windows FormsWindows FormsWindows FormsWindows FormsASP.NETASP.NETASP.NETASP.NET

Web Services

ASP.NET Application Services

Web Forms ControlsControls Drawing

Windows Application Services

Figure :   The .NET Framework class libraries

.NET Framework

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

Jozef Goetz contribution 2012

801.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 based on the Ecma standards for C#• DotGNU Portable.NET - http://www.dotgnu.org/

Executes programs by Common Language Runtime (CLR)

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

82.NET Compilations

C#

Code

VB

Code

VBCompiler

COBOL

Code

COBOL

Compiler

IL (MSIL)JIT

Compiler

NativeCode

Run TimeC#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

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

Jozef Goetz contribution 2012

83Common Language Runtime CLR Architecture

Class Loader

IL to NativeCompilers

CodeManager

GarbageCollector

Security Engine Debug Engine

Type Checker Exception Manager

Thread Support COM Marshaler

Base Class Library Support The CLR is responsible for run-time services such as:

• Language integration

• Security enforcement

• Memory

• Process

• Thread management.

• Versioning

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

Jozef Goetz contribution 2012

84The 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

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

Jozef Goetz contribution 2012

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

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

Jozef Goetz contribution 2012

86Java platform vs .NET

Linux and MAC OS X

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

Jozef Goetz contribution 2012

87keywords comparison

C# Java

base super

bool boolean

Is instanceof

sealed final

internal private

: extends

: implements

namespace package

readonly const

using import

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

Jozef Goetz contribution 2012

881.14 Test-Driving a C# Application 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

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

Jozef Goetz contribution 2012

89

RadioButtons

GroupBoxes

Panel

Fig. 1. 3 | Visual C# Drawing application.

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

Jozef Goetz contribution 2012

90

Fig. 1. 4 | Drawing with a new brush color.

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

Jozef Goetz contribution 2012

91

Fig.1. 5 | Drawing with a new brush size.

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

Jozef Goetz contribution 2012

92

Fig.1. 6 | Finishing the drawing.

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

Jozef Goetz contribution 2012

93Software 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.