Chapter 2013

Shared by: 2et9rgM7
Categories
Tags
-
Stats
views:
4
posted:
11/10/2011
language:
English
pages:
24
Document Sample
scope of work template
							Discovering Computers 2010 Instructor’s Manual                                                               Page 1 of 24




                             Discovering Computers 2010
  Chapter Thirteen: Programming Languages and Program Development
A Guide to this Instructor’s Manual:
We have designed this Instructor’s Manual to supplement and enhance your teaching experience through classroom
activities and a cohesive chapter summary.

This document is organized chronologically, using the same heading in red that you see in the textbook. Under each
                                                                         red
heading you will find (in order): Lecture Notes that summarize the section, Figures and Boxes found in the section, if
any, Teacher Tips, Classroom Activities, and Lab Activities. Pay special attention to teaching tips, and activities geared
towards quizzing your students, enhancing their critical thinking skills, and encouraging experimentation within the
software.

In addition to this Instructor’s Manual, our Instructor’s Resources CD also contains PowerPoint Presentations, Test
Banks, and other supplements to aid in your teaching experience.

For your students:
Our latest online feature, CourseCasts, is a library of weekly podcasts designed to keep your students up to date with
the latest in technology news. Direct your students to http://coursecasts.course.com, where they can download the
most recent CourseCast onto their mp3 player. Ken Baldauf, host of CourseCasts, is a faculty member of the Florida
State University Computer Science Department where he is responsible for teaching technology classes to thousands of
FSU students each year. Ken is an expert in the latest technology and sorts through and aggregates the most pertinent
news and information for CourseCasts so your students can spend their time enjoying technology, rather than trying to
figure it out. Open or close your lecture with a discussion based on the latest CourseCast.

Tablle off Conttenttss
Tab e o Con en
Chapter Objectives                                                                        2
664: Computer Programs and Programming Languages                                          2
665: Low-Level Languages                                                                  3
666: Procedural Languages                                                                 4
669: Object-Oriented Programming Languages and Program Development Tools                  5
674: Other Programming Languages and Development Tools                                    6
678: Web Page Development                                                                 9
685: Multimedia Program Development                                                       11
686: Program Development                                                                  12
687: Step 1 — Analyze Requirements                                                        12
687: Step 2 — Design Solution                                                             13
693: Step 3 — Validate Design                                                             16
694: Step 4 — Implement Design                                                            16
695: Step 5 — Test Solution                                                               17
696: Step 6 — Document Solution                                                           19
End of Chapter Material                                                                   20
Glossary of Primary Terms                                                                 22
Discovering Computers 2010 Instructor’s Manual                                                              Page 2 of 24


Glossary of Secondary Terms                                                              23


Chaptter Objjecttiivess
Chap er Ob ec ve
Students will have mastered the material in Chapter Thirteen when they can:
                 Differentiate between machine and                   Describe various ways to develop Web
                   assembly languages                                    pages, including HTML and XHTML, XML
                 Identify and discuss the purpose of                    and WML, scripting languages, DHTML,
                   procedural programming languages, and                 Ruby on Rails, Web 2.0 development, and
                   describe the features of C and COBOL                  Web page authoring software
                 Identify and discuss the characteristics of         Identify the uses of popular multimedia
                   these object-oriented programming                     authoring programs
                   languages and program development tools:           List the six steps in the program
                   Java, .NET, C++, C#, Visual Studio, visual            development life cycle
                   programming languages, Delphi, and                 Differentiate between structured design and
                   PowerBuilder                                          object-oriented design
                 Identify the uses of other programming              Explain the basic control structures and
                   languages and other program development               design tools used in designing solutions to
                   tools: 4GLs, classic programming languages,           programming problems
                   application generators, and macros

                664:: Computter Programss and Programmiing Languagess
                664 Compu er Program and Programm ng Language
                 LECTURE NOTES
                  Define computer program and programmer (developer)
                  Define programming language and code, noting the variety of programming languages
                  Differentiate between a low-level language and a high-level language
                  Explain how a machine-dependent language is different from a machine-independent language

                 FIGURE: 13-1

                 TEACHER TIP
                 Explain to students that, in the 1970s and 1980s, program size was a major concern. Efficient code was
                 important because of the high price of hardware. Today, with the cost of memory below $50 per
                 megabyte and programmer costs escalating, the critical concerns are ease of programming and
                 maintenance.

                 CLASSROOM ACTIVITIES
                 1. Group Activity: To show how difficult it is to develop a clear, concise program, blindfold a student
                 and place a ball within two feet of him or her. Put a bucket behind a desk across the room. Have groups
                 of students write the steps (program) that the blindfolded student must follow to pick up the ball, walk
                 across the room, and put the ball in the bucket. Read each group’s steps out loud and see if the
                 blindfolded student is able to complete the task. Each group has written a simple program (set of
                 instructions). Computer programs must be coded (translated into a programming language); just as if
                 students were directing an individual in Paris, the program would have to be translated into French.
Discovering Computers 2010 Instructor’s Manual                                           Page 3 of 24


2. Class Discussion: Linux is an innovative operating system. One of the things that makes Linux
different from other operating systems is that Linux can be downloaded from the Web at no cost, and
its source code, along with any changes, must remain public. Since its introduction in 1991, Linux has
been altered, adapted, and improved by thousands of programmers. While Linux is an open-source
program, program code often is a zealously guarded secret — even within individual departments. At a
large software developer, an employee claimed that operating system programmers had little
opportunity to contribute to application programs because they had no access to the application
program source code. Why are many commercial software developers reluctant to share program code?
What are the advantages of making program code public? What are the disadvantages?

3. Quick Quiz:
    1) How is a low-level programming language different from a high-level programming language?
       (Answer: A low-level language is machine dependent, meaning that it runs on only one
       particular type of computer, and each language instruction usually equates to a single machine
       instruction; a high-level language often is machine independent, meaning that it can run on
       many different types of computers, and each language instruction typically equates to multiple
       machine instructions.)

665:: Low-Levell Languagess
665 Low-Leve Language
LECTURE NOTES
 Define machine language and assembly language
 Explain what symbolic instruction code and a symbolic address are
 Explain what it means to execute a program
 Define source program, and assembler
 Explain the function of a macro

FIGURES: 13-2, 13-3

TEACHER TIPS
Point out to students that machine language programs can be executed without any translation.
Programs written in all other categories of languages are translated into machine language before they
are executed. Machine language programs are machine dependent, meaning they run only on the
computer for which they were developed. Although a machine language instruction set is different for
computers with different processors, most manufacturers design new processors so they will run
programs written for earlier generations within the same product line. In the past, some mainframe and
minicomputer manufacturers sold hardware and software in ―bundles‖ that had to be used together, a
practice that is far less common in today’s competitive marketplace.

By way of explaining to students what symbolic instruction codes are, point out that they sometimes are
referred to as mnemonics; a mnemonic is a system or device used as an aid in remembering. Early
machine language programmers had to keep track of the actual memory locations and registers used by
a program. Symbolic addressing eliminates that requirement. A form of symbolic addressing also is
found in some spreadsheet programs. Cells can be ―named‖ and then referred to by that name instead of
the cell address.
Discovering Computers 2010 Instructor’s Manual                                             Page 4 of 24

666:: Procedurall Languagess
666 Procedura Language
LECTURE NOTES
 Characterize a procedural language (third-generation language, or 3GL)
 Define compiler and object code (object program)
 Define interpreter, and use Figure 13-5 to explain how an interpreter is different from a compiler
 Define algorithm
 Describe C, noting the relationship between C and the UNIX operating system
 Describe COBOL (COmmon Business-Oriented Language)

FIGURES: 13-4, 13-5, 13-6, 13-7

BOXES
1. Web Link: C. Encourage students to visit the Web site mentioned for more information.

2. Innovative Computing 13-1: Online Calculators Answer Life’s Questions. Talk about the Your Life,
Calculated page and encourage students to visit the Web site mentioned for more information.

TEACHER TIP
Explain to students why COBOL is still discussed today, so long after its inception: COBOL programs
often require up to seven times the number of instructions used in similar programs in other languages.
COBOL programs do not use line numbers, allowing elements to be more easily manipulated. COBOL
was the dominant language for business system development in the 1960s and early 1970s when many
businesses first installed computers. COBOL still is the most widely used language in large business
mainframes. COBOL’s easy-to-read, self-documenting nature has contributed to its continued use. As
long as these programs work properly, it is unlikely businesses will undertake the expense of converting
them into fourth- or fifth-generation languages.

CLASSROOM ACTIVITIES
1. Class Discussion: Ask students why they think there are so many programming languages. What
would make certain languages widely recognized, while others seldom are used? While working
through this chapter, encourage students to compare the code for each programming language,
identifying similarities and differences.

2. Quick Quiz:
    1) With which of the following operating systems is C most often used?
       a) Windows Vista b) Mac c) DOS d) UNIX (Answer: d)

3. Critical Thinking: Typical programmers earn up to $90,000, with substantial signing bonuses and
annual pay hikes. Yet, applicant supply is not keeping up with corporate demand. To ease the shortage,
companies are tempting high-school students with attractive training programs that lead to lucrative
jobs. The market for programmers, however, has fluctuated wildly, and today’s need is no guarantee of
tomorrow’s employment. Will students who begin technological training right out of high school have
a background general enough for other pursuits if their interest fades or the market withers? Should
companies be allowed to sign high-school students? Why or why not? What can be done to address
long-term concerns?
Discovering Computers 2010 Instructor’s Manual                                            Page 5 of 24

669:: Objjectt-Oriientted Programmiing Languagess and Program Devellopmentt Toollss
669 Ob ec -Or en ed Programm ng Language and Program Deve opmen Too
LECTURE NOTES
 Characterize an object-oriented programming (OOP) language
 Define program development tool
 Recall the definition of object
 Define event, and describe an event-driven program
 Define RAD (rapid application development)
 Define IDE (integrated development environment)
 Define Java, and explain the function of a just-in-time (JIT) compiler
 Describe the Microsoft .NET and ASP.NET frameworks
 Describe C++, and explain how it is similar to and different from C
 Define C# and characterize it as Java’s main competition
 Explain what Visual Studio is (along with Visual Basic, Visual C++, and Visual C#), and define code
     snippet
 Define visual programming language, and explain what a visual programming environment (VPE) is
 Describe Delphi and PowerBuilder

FIGURES: 13-8, 13-9, 13-10, 13-11, 13-12

BOXES
1. Web Link: Java Platforms. Encourage students to visit the Web site mentioned for more information.

2. Web Link: Visual Studio Tools for Office. Encourage students to visit the Web site mentioned for
more information.

3. Quiz Yourself 13-1: In addition to answering the questions in the text, as a quick review, have
students visit the Discovering Computers 2010 Quiz Yourself Web page (scsite.com/dc2010/ch13/quiz)
and then click Objectives 1 – 3.

TEACHER TIP
Some facts about the origin of the term ―Java‖ may interest students: Unlike the names of other
programming languages, ―Java‖ is not an acronym. Originally, the language was called Oak after the tree
outside a developer’s window. The appellation Java came from a brainstorming session in which
developers sought a designation that evoked the speed, liveliness, and interactivity of this new
programming language. The name Java — a reminder of the hot, aromatic beverage that is a
programmer’s frequent companion — was a natural choice. Java has been called the future of network
computing. Java moves the emphasis away from the desktop personal computer by allowing programs to
be sent to any computer on the Internet.

CLASSROOM ACTIVITIES
1. Class Discussion: ―100% Pure Java‖ may soon be as familiar on software packages as it is on coffee
shop menus. Java has been called the programming language of the future. A simple language, Java
utilizes an object-oriented approach, module orientation, and an easy-to-use GUI. In addition, Java
offers a cross-platform capability that allows it to be used in any computing environment. Some
software companies, however, are releasing non-standard Java applications. This ―contaminated‖ Java,
which incorporates certain proprietary elements, runs only on specific computers. A number of vendors
Discovering Computers 2010 Instructor’s Manual                                             Page 6 of 24


want standard Java applications to be awarded a ―100% Pure Java‖ logo. Is this a good idea? Why or why
not? Who would test, and confirm, the purity of Java applications? Who might oppose this certification?
Why?

2. Assign a Project: Have students find out more about Java on the World Wide Web. How was Java
developed? How are Java applications (applets) different from other applications? What are some
sources of applets? Who is using Java? How? What are the advantages of Java? What are the
disadvantages? What is JavaSoft? What are some JavaSoft products?

3. Assign a Project: Ask students to use a Web search engine to learn more about visual programming
languages like Mindscript or Prograph.

4. Quick Quiz:
    1) What is an event? (Answer: An action to which a program responds)

LAB ACTIVITIES
1. If possible, take students into the lab to experiment with Visual Studio, PowerBuilder, or Delphi, for
example. The best way to coordinate this activity would be to use the tools from a computer at the front
of the lab with a projector to demonstrate to students how to perform simple tasks, and then have the
students repeat those tasks on their own and then experiment with modifications to the tasks
completed, as a way of giving them modest exposure to these very complex and sophisticated tools.

674:: Otther Programmiing Languagess and Devellopmentt Toollss
674 O her Programm ng Language and Deve opmen Too
LECTURE NOTES
 Define 4GL and nonprocedural language
 Recall SQL
 Use Figure 13-14 to review some classic programming languages
 Define application generator and recall the term report writer
 Explain what a form is, and explain what a menu generator does
 Define macro and describe Visual Basic for Applications (VBA)

FIGURES: 13-13, 13-14, 13-15a, 13-15b, 13-16a, 13-16b

TEACHER TIPS
Some of the languages listed in Figure 13-14 on page 675 have intriguing histories, in which students
may be interested:
1) Ada originally was intended as a standard language for weapons systems. Although some believe it is
too complex, others insist Ada is learned easily, increases programming productivity, and is superior to
more popular languages such as COBOL and FORTRAN. In addition to being the first female
programmer, Ada’s namesake, Augusta Ada Lovelace Byron, also was the biographer of Charles
Babbage, a mathematician and inventor whose computational aid, called the ―analytical engine,‖ is
thought to be a precursor of the modern computer (although it never was invented).
2) ALGOL, an algebraic programming language designed primarily for solving mathematical and
scientific problems, was developed in Europe about 1958.
3) APL, designed by Kenneth Iverson in 1962 for use at remote terminals, has specific capabilities for
handling arrays.
Discovering Computers 2010 Instructor’s Manual                                            Page 7 of 24


4) FORTRAN can be used by almost all computers, including personal computers and mainframes.
MacFortran II, by Absoft, is used on the Macintosh computer. FORTRAN was the first nonprocedural
language. FORTRAN is known for its brevity, which is partially responsible for its wide acceptance.
Because it does not have the large processing capability of COBOL, however, it is less popular for
business applications.
5) Logo lets children write commands to move a ―turtle‖ on the screen and draw geometric shapes, thus
teaching simple programming and problem solving.
6) Modula-2, unveiled by Niklaus Wirth (the creator of Pascal) in 1982, is intended for use in both
commercial and mathematical applications.
7) Pascal, developed by Niklaus Wirth in the late 1960s, typically is used on personal computers and
minicomputers to develop scientific applications. Turbo Pascal is an object-oriented version of Pascal.
Pascal program statements are not numbered; unless there is looping, statements are executed in the
same order in which they were entered into the computer. Pascal is designed to support structured
programming and is used in teaching, applications, and systems programming. In recent years, the
popularity of Pascal has declined among personal computer users as a result of a growing interest in
newer languages.
8) PL/1 was designed for scientific and commercial uses at varying levels of complexity.
9) Prolog is used for writing programs that model human intelligence.

Some languages were developed for specialized purposes. For example, GPSS (General Purpose System
Simulator) is used for modeling and simulating environmental and physical events. SNOBOL (String
Oriented Symbolic Language) is used for pattern matching.

It is useful to convey to students how important a decision the choice of a programming language is.
Factors to be considered when choosing a programming language include:
1) The standards of the organization
2) The language’s ability to interface with other programs used by the organization
3) The suitability of the language to the application
4) The portability of the language to other systems
5) The language’s support for structured programming concepts
6) The frequency with which the application will be processed (some languages execute faster than
others)
7) The likelihood that changes will have to be made (modifications are easier to make in some languages
than in others)

Whatever programming language is chosen, good programming skills demand sound logic, thorough
documentation, and a clear understanding of the program and how it is used. Many authorities believe
that anyone who uses a computer will, at some point, engage in some form of programming.

BOXES
1. Web Link: Macros. Encourage students to visit the Web site mentioned for more information.

2. FAQ 13-1: Why is it necessary for programmers to know SQL? Discuss the importance of knowing
how to write programs that are able to interact with databases, and encourage students to visit the Web
site mentioned for more information.
Discovering Computers 2010 Instructor’s Manual                                              Page 8 of 24


3. Ethics & Issues 13-1: Who Should Be Held Accountable for Macro Security Threats? Ask students to
debate whether users or software companies should be held accountable for security problems incurred
by macros.

4. Looking Ahead 13-1: Selecting Programming Languages with Long Lives. Discuss the future of
particular languages that were previously popular or that are currently. Encourage students to visit the
Web site mentioned for more information.

CLASSROOM ACTIVITIES
1. Class Discussion: Encourage students to find out more about a programming language and to present
their findings to the class. Learning a programming language is similar to mastering a spoken language;
once one language is picked up, each subsequent language is easier to acquire. Ask students if they think
there will ever be one universal programming language? Why or why not?

2. Assign a Project: Programming languages can be classified in several ways. They can be labeled
procedural (concerned with how something is done) or nonprocedural (concerned with what is to be
done). They might be described as business-oriented (capable of handling large data files) or scientific-
oriented (capable of performing sophisticated calculations). They could be characterized as general-
purpose (designed to solve various types of problems) or special-purpose (designed to deal with a
specific type of problem or application). These classifications help programmers summarize a language’s
attributes and determine its suitability for different applications. As an extra-credit assignment, have
students use library and/or Internet resources to prepare a report or presentation on one of the
programming languages listed in Figure 13-14 on page 675. Describe the history, intent, and use of the
language. Then, categorize the language according to the classifications suggested above. Why did they
classify the language as they did?

3. Assign a Project: Ask students to experiment with the creation of macros in an application like
Microsoft Word or Microsoft Excel.

4. Assign a Project: Some application packages come with programming languages (sometimes called
macro languages) that can be used to write programs within the application. For example, Microsoft
Excel, a spreadsheet program, and Microsoft Word, a word processing program, include Visual Basic.
Have students visit a software vendor and find an application package that contains a programming
language. What is the name of the application? What is the name of the associated programming
language? For what purpose is the language used? If possible, students should ask to see a demonstration
of the programming language. Does it appear difficult to use? Why or why not? How does the
programming language enhance the application? Would the inclusion of a programming language in the
application package be a significant factor in their decision whether or not to purchase the package?
Why or why not?

5. Quick Quiz:
    1) What does a menu generator enable you to do? (Answer: To create a menu for the application
       options)
    2) Which of the following is a query language that allows users to manage, update, and retrieve
       data in a relational DBMS?
       a) SQL b) Ada c) Logo d) APL (Answer: a)
Discovering Computers 2010 Instructor’s Manual                                             Page 9 of 24


   3) A macro is a series of statements that instructs an application how to complete a task. True or
      false? (Answer: True)

6. Critical Thinking: Different languages are used for different applications because each programming
language has its strengths and weaknesses. Some authorities believe, however, that it would be best to
develop a single programming language that could be used for all applications. SQL is a language that
probably is one of the more standardized, but even within SQL there are variations. What would be the
advantages of writing all applications using the same programming language? What would be the
disadvantages? Do you think such a generic programming language eventually will be developed? Why
or why not?

LAB ACTIVITIES
1. If possible, while working with this topic, have students experiment with one or two of these
languages in the computer lab.

678:: Web Page Devellopmentt
678 Web Page Deve opmen
LECTURE NOTES
 Define Web developer
 Describe HTML and compare the HTML code in Figure 13-17a to the Web page it creates in Figure
      13-17b
 Differentiate between HTML and XHTML and programming languages
 Describe XML and WML
 Describe RSS 2.0 and ATOM
 Define script, applet, and servlet
 Describe an ActiveX control and ActiveX
 Explain the function of a counter and an image map
 Explain how a processing form works, and discuss the CGI (common gateway interface) and CGI
      scripts
 Explain what the CGI (common gateway interface) is
 Describe JavaScript, and explain what a mouseover (mouse rollover) is
 Describe Perl, PHP, Rexx, Tcl, and VBScript
 Define dynamic HTML (DHTML)
 Define document object model (DOM), style sheet, and cascading style sheets (CSS)
 Define Ruby on Rails (RoR, or Rails)
 Recall the definition of Web 2.0 and define Ajax and API
 Describe Web page authoring software, and review the four popular applications: Dreamweaver,
      Expression Web, Flash, and SharePoint Designer

FIGURES: 13-17a, 13-17b, 13-18, 13-19, 13-20a, 13-20b, 13-21

BOXES
1. Web Link: XML. Encourage students to visit the Web site mentioned for more information.

2. Web Link: PHP. Encourage students to visit the Web site mentioned for more information.
Discovering Computers 2010 Instructor’s Manual                                              Page 10 of 24


3. Web Link: Cascading Style Sheets. Encourage students to visit the Web site mentioned for more
information.

4. Web Link: APIs. Encourage students to visit the Web site mentioned for more information.

5. FAQ 13-2: What is the best response when your Web browser prompts you to install a control or
plug-in? Caution students about the need to verify the sources of controls and plug-ins, and encourage
students to visit the Web site mentioned for more information.

6. FAQ 13-3: What is a ―sandbox‖ to a developer? Discuss the use of sandboxes for testing purposes, and
encourage students to visit the Web site mentioned for more information.

7. FAQ 13-4: What are the popular Web programming languages? Review the languages shown in the
bar chart and encourage students to visit the Web site mentioned for more information.

8. Ethics & Issues 13-2: Should Colleges Teach Hacking? Ask students to debate the merits of teaching
students how to thwart malware, for example.

9. Innovative Computing 13-2: View the World from Your Computer. Review the features of Earth
Album, a mashup of Google Maps and Flickr, and encourage students to visit the Web site mentioned
for more information.

TEACHER TIP
Students may be interested in learning more about Ajax, given the role it plays with a lot of popular
Google applications. Ajax allows specific content on a Web page to update immediately when a user
takes an action, as compared to an HTTP request, which requires that users wait for an entire new page
to load. For example, an entertainment site could display local movie listings on one side of the page
without delay after a user types in a postal code. Ajax applications do not require installation of a plug-
in, but work directly with a Web browser.

CLASSROOM ACTIVITIES
1. Assign a Project: Encourage students to find Web sites that include counters, image maps, and forms.

2. Assign a Project: Encourage students to find Web sites that use DHTML and CSS.

3. Assign a Project: Ask students to use a Web search engine to compare the features of Dreamweaver,
Expression Web, Flash, and SharePoint Designer.

4. Group Activity: Show students other examples of JavaScript in the form of rollover buttons, pop-up
windows, and content-changing Web pages.

5. Quick Quiz:
    1) What does a style sheet contain? (Answer: Descriptions of a document’s characteristics)
    2) What is XML? (Answer: An increasingly popular format for sharing data that allows Web
       developers to create customized tags, as well as use predefined tags)
Discovering Computers 2010 Instructor’s Manual                                              Page 11 of 24


LAB ACTIVITIES
1. Ask students to go into the lab and use Web search engines to find Web sites that allow for the
downloading of ready-made JavaScript scripts.

2. Google Maps is one well-known application that uses Ajax. The interface allows the user to change
views and manipulate the map in real time. Ask students to find other applications on the Web that use
Ajax.

685:: Mullttiimediia Program Devellopmentt
685 Mu med a Program Deve opmen
LECTURE NOTES
 Explain the function of multimedia authoring software
 Describe ToolBook and Director

FIGURE: 13-22

TEACHER TIP
Students may be interested in learning a little more about what makes these three programs different.
ToolBook uses a book metaphor to help build a multimedia application. The program or application
built is called a book, and each screen is called a page. ToolBook has a catalog containing objects that are
prescripted, or contain properties that give them a certain behavior. ToolBook also provides basic layout
templates for items such as tests, glossaries, and Internet applications. In ToolBook, a multimedia
application can be converted into HTML and Java. Authorware uses a flowchart metaphor to help build
interactive multimedia training and educational programs. Icons are dragged from a fixed set into a flow
line that graphically represents the sequence of action in the application. Each icon represents a specific
programming task. Director uses a theater, or movie production, metaphor to help build a multimedia
application. Three integrated windows — Cast, Score, and Paint — are used to create and sequence text
and media elements. The Cast window serves as a database of media elements. The Score window lets
you create and edit animations, synchronize media elements, and control transitions. The Paint window
contains a complete drawing and painting program for creating and editing graphics and adding
animation effects. Director also includes Lingo, a built-in object-oriented scripting language.

BOXES
1. Quiz Yourself 13-2: In addition to answering the questions in the text, as a quick review, have
students visit the Discovering Computers 2010 Quiz Yourself Web page (scsite.com/dc2010/ch13/quiz)
and then click Objectives 4 – 6.

CLASSROOM ACTIVITIES
1. Quick Quiz:
    1) For the development of which of the following is Director well-suited? a) developing electronic
       presentations b) optical discs for education c) programs for kiosks d) all of the above (Answer: d)

686:: Program Devellopmentt
686 Program Deve opmen
LECTURE NOTES
 Define program development
 Define program development life cycle (PDLC) and use Figure 13-23 to explain the relationship
     between the system development life cycle and the program development life cycle
Discovering Computers 2010 Instructor’s Manual                                             Page 12 of 24


   Define maintaining
   Remind students at what point in the system development life cycle requests for a new or modified
       program usually occur
   Use Figure 13-23 to review the place of the program development life cycle in the system
       development life cycle
   Explain how the number of necessary programmers is determined
   Define programming team

FIGURE: 13-23

TEACHER TIP
The steps in the program development life cycle could be applied to other activities, such as writing a
term paper. The first step, Analyze Requirements, is similar to deciding on a paper topic: specifications
for the program (paper) are reviewed, the analyst (instructor) is met with, and components of the
program (paper) are identified.

CLASSROOM ACTIVITIES
1. Class Discussion: Ask students how the tasks performed when writing a term paper are similar to
those in the program development life cycle.

687:: Sttep 1 – Anallyze Requiirementtss
687 S ep 1 – Ana yze Requ remen
LECTURE NOTES
 List the three major tasks involved in analyzing the problem
 Define IPO chart

FIGURE: 13-24

TEACHER TIP
As an analogy that might be helpful in explaining this topic, just as when building a house a list of
conditions (square footage, number of bedrooms, and so on) is a prerequisite for choosing a blueprint, a
review of the requirements is necessary before deciding on an appropriate program design. Making
changes at later stages of the program development life cycle is much more difficult.

CLASSROOM ACTIVITIES
1. Class Discussion: Ask students why design specifications should not be changed without the approval
of both the systems analyst and the users. (The change must meet their needs.)

2. Quick Quiz:
    1) What does an IPO chart identify? (Answer: A program’s inputs, its outputs, and the processing
       steps required to transform the inputs into the outputs)

687:: Sttep 2 – Dessiign Solluttiion
687 S ep 2 – De gn So u on
LECTURE NOTES
 Define solution algorithm, or program logic
 Explain why determining program logic is a challenging task
Discovering Computers 2010 Instructor’s Manual                                             Page 13 of 24


   Recall that a system can be designed using process modeling or object modeling, and discuss how
       the approach used is determined
   Characterize structured (top-down) design
   Explain how the major function of a program, or main routine, is broken down into smaller
       sections, or subroutines
   Define modules and main module
   Use Figure 13-25 to describe a hierarchy chart (also called a structure chart or top-down chart)
   Consider benefits of the top-down approach
   Describe object-oriented (OO) design and define encapsulation
   Use Figure 13-26 to describe a class diagram
   Define control structure, or construct
   Use the corresponding figures to illustrate the sequence, selection, and repetition control structures
   Describe the if-then-else control structure, and the case control structure
   Use Figures 13-30 and 13-31 to differentiate between the do-while and do-until control structures
   Explain what design tools are
   Describe a (program) flowchart, and explain the function of flowcharting software
   Use Figure 13-35 to illustrate pseudocode

FIGURES: 13-25, 13-26, 13-27, 13-28, 13-29, 13-30, 13-31, 13-32, 13-33, 13-34, 13-35, 13-36, 13-37

TEACHER TIPS
An interesting anecdote to share with students: The father of structured programming is Edsger
Dijkastra, who outlined its principles in his famous paper, ―GoTo Statements Considered Harmful.‖
Dijkastra maintained that injudicious use of GoTo statements (commands that tell the computer to jump
directly to another line) leads to programs that are difficult to comprehend, correct, or change. Some
programs, through their statement definitions, only allow structured code. These programs do not
include ―GoTo‖ statements (or their equivalent) in their command set. Structured design helps
programmers produce programs that are easy to understand and are on time. The first major project
using structured design was to automate the New York Times vast clippings file in the early 1970s. The
project demanded 83,000 lines of code, took 22 calendar months, and involved 11 person-years. Yet, it
was completed ahead of schedule and under budget, with only 21 errors found during the first five
weeks of acceptance testing.

Explain how structured design can result in redundant code. Another approach, called bottom-up
design, focuses on the result, determining what output is needed and moving up through the processes
required to produce the desired output. In practice, programmers may use a combination of top-down
and bottom-up design.

Explain to students that control structures form the basis of modular design and serve as building blocks
for the process. Each control structure has a single entry point and a single exit point. When a control
structure is diagrammed, a rectangle represents a step or process, a diamond represents a decision, and
the logic follows in the direction of arrows.

With regard to pseudocode, the advantage is that it eliminates the time spent with drawing flowcharts
and arranging symbols while attempting to determine program logic. The major disadvantage is that,
unlike flowcharting, pseudocode does not provide a graphic representation, which some people find
Discovering Computers 2010 Instructor’s Manual                                            Page 14 of 24


easier to interpret. Pseudocode normally includes commands in the programming language that will be
used.

BOXES
1. Web Link: Object-Oriented Design. Encourage students to visit the Web site mentioned for more
information.

2. Web Link: Flowcharting Software. Encourage students to visit the Web site mentioned for more
information.

3. Ethics & Issues 13-3: Are Digital Facelifts Ethical? Ask students to consider ways in which people
might take advantage, for good or for ill, of digital facelift technology.

CLASSROOM ACTIVITIES
1. Group Activity: Break the students into teams and ask them to brainstorm situations in which the
selection control structure might be applied to an everyday task.

2. Class Discussion: Ask students to provide every-day examples of both common types (if-then-else and
case) of sequence control structure. As a related exercise, have students provide every-day examples of
both common types (do-while and do-until) of repetition control structure. Almost any task that
involves a repeated action will do.

3. Assign a Project: Ask students to draw a flowchart or write pseudocode, for a simple task such as
adjusting the water temperature in a shower or mowing a lawn.

4. Assign a Project: Encourage students to draw a diagram similar to Figure 13-27 to show how the
sequence control structure might be applied to an everyday task. For example:



                                                 Put on socks




                                                 Put on shoes




                                                  Tie shoes




5. Assign a Project: Have students draw a diagram similar to Figure 13-28 to show how the selection
control structure might be applied to an everyday task. For example:
Discovering Computers 2010 Instructor’s Manual                                              Page 15 of 24




                                                           YES
                                       Temperature
                                          < 60


                                                             Put on a
                                                             jacket

                                        NO




6. Assign a Project: Have students draw a diagram similar to Figure 13-30 to show how the repetition
control structure might be applied to an everyday task. For example:




                                                     YES
                                        Hole in                  Change sock
                                        sock?



                                       NO




7. Quick Quiz:
    1) What is the purpose of a hierarchy (structure) chart? (Answer: To show program modules
       graphically)
    2) A selection control structure shows one or more actions following each other in order. True or
       false? (Answer: False)
    3) Pseudocode uses a condensed form of English to convey program logic. True or false? (Answer:
       True)

8. Critical Thinking: Is it possible for the same task to be viewed as either a do-while control structure
OR a do-until control structure? If so, is the task better suited to one control structure than the other?
(The answer to this question probably will depend on whether the condition is best tested at the
beginning of the loop or the end of the loop.)

693:: Sttep 3 – Valliidatte Dessiign
693 S ep 3 – Va da e De gn
LECTURE NOTES
 Define validate
 Describe a logic error
 Characterize a desk check, and define test data

BOXES
Discovering Computers 2010 Instructor’s Manual                                           Page 16 of 24


1. FAQ 13-5: What types of test data should be used during validation? Discuss important
considerations for assembling test data, and encourage students to visit the Web site mentioned for
more information.

CLASSROOM ACTIVITIES
1. Class Discussion: Ask students to perform a structured walkthrough of the flowchart in Figure 13-33
on page 691, identifying control structures used and explaining program logic.

2. Quick Quiz:
    1) Which of the following is a kind of error that is a flaw in the design that causes inaccurate
       results?
       a) syntax b) run-time c) logic d) design (Answer: c)
    2) What is test data? (Answer: Sample data that mimics real data the program will process once it
       is in production)
    3) When programmers do a desk check, they use test data to step through its syntax. True or false?
       (Answer: False)

694:: Sttep 4 – IImpllementt Dessiign
694 S ep 4 – mp emen De gn
LECTURE NOTES
 Describe implementation
 Define coding, and syntax
 Discuss code review
 Explain what comments are, and differentiate between global comments and internal comments
 Describe extreme programming (XP)

FIGURE: 13-38

CLASSROOM ACTIVITIES
1. Class Discussion: Ask students why they think programmers usually find coding the most tedious task
in developing a program.

2. Assign a Project: Choosing a suitable programming language is one of the most important decisions an
organization has to make when developing custom software. A poor choice can be a costly mistake,
resulting in a program that is difficult to maintain, incompatible with other software, unproductive
when used, or irreconcilable with existing platforms. Have students visit a local organization and
interview someone in the information systems department about recently developed custom software.
What type of application was developed? What programming language was used? Why? Which of the
considerations that were outlined in this chapter for selecting a programming language was most
important? Why? Which was least important? Why? Were any other factors considered (such as the
expertise of available programmers)? In hindsight, was the best language chosen? If not, what
programming language would have been a better alternative?

3. Quick Quiz:
    1) What is extreme programming? (Answer: A strategy that proposes that programmers should
       immediately begin coding and testing solutions as soon as requirements are defined)
Discovering Computers 2010 Instructor’s Manual                                              Page 17 of 24


4. Critical Thinking: Many universities and community colleges require a programming logic course as a
prerequisite for all programming courses. Other educational institutions integrate logic into the
programming course. Proponents of programming logic as a prerequisite course point out that
programming logic is part of Step 2 within the program development life cycle. They argue that a
student must have the necessary background and an understanding of design before they tackle the
programming language. Writing the code does not take place until Step 4. Proponents of programming
logic as an integrated part of a programming course suggest that students cannot learn logic and a
programming language independently. They believe that applying logic as they learn the programming
language is the best approach. With which approach do you agree? Why did you choose that approach?
Do you think the learning style of the individual student could determine the best approach? Should
educational institutions provide both options — prerequisite and integrated approaches?

LAB ACTIVITIES
1. If possible, show an example of code without proper commenting, followed by the same code with
the comments included to illustrate the importance of documentation.

695:: Sttep 5 – Tesstt Solluttiion
695 S ep 5 – Te So u on
LECTURE NOTES
 Discuss why thorough testing is important, noting the goal of program testing
 Define syntax error and discuss how syntax errors are discovered and corrected
 Define run-time error
 Explain what debugging is, and explain what a bug is
 Discuss beta

FIGURE: 13-39

TEACHER TIPS
Share with students the estimate that 80 percent of coding mistakes are syntax errors. Some of the most
common syntax errors are:
1) Unbalanced parentheses
2) Unbalanced quotes
3) Misspelled keywords

A logic error in a Blue Cross/Blue Shield program resulted in the incorrect processing of approximately
9,000 supplemental health coverage claims. The error eventually was corrected and the payments made.
Discuss the use of test data to check for logic errors. Test parameters often are included for all new data
that is input to the system. Note that the purpose of using test data is to try to crash the system. Experts
insist that programs never be tested on the live enterprise database.

In 1945, the moth in Figure 13-39 on page 696 caused a relay to fail in a Mark II computer at Harvard
University. When the engineers removed the moth, they informed their boss that they had ―debugged‖
the computer — thus, the origin of the phrase. Grace Hopper taped the moth to the log book page
shown in Figure 13-39 and made the note, ―First actual case of bug being found.‖ The log book is
preserved for posterity at the Naval Museum in Virginia.
Discovering Computers 2010 Instructor’s Manual                                              Page 18 of 24


Recall with students the millennium bug (or Y2K bug). Although widely known as a ―bug,‖ in this case
the name is a misnomer. The millennium bug was not really an error (i.e., a mistake), but an intentional
effort on the part of programmers to save space in memory. Estimates are that more than $150 billion in
the United States, and more than $500 billion worldwide, was spent to remedy the millennium bug. As
it turns out, most of the problems reported were minor — short-term power outages, faulty cash
registers, and security systems temporarily locked in the ―open‖ position — troubles one Y2K expert
called ―torment by a thousand flea bites.‖

BOXES
1. Web Link: Beta Testers. Encourage students to visit the Web site mentioned for more information.

2. Ethics & Issues 13-4: Who Is Responsible for Bugs? Discuss the issues of liability and responsibility
with regard to software bugs, particularly in cases with catastrophic implications.

CLASSROOM ACTIVITIES
1. Class Discussion: Ask students which type of error — logic errors or syntax errors — they think
would be more difficult to identify. Why? (Logic errors usually are more difficult to detect than syntax
errors.) Before New Year’s Eve 2000, doomsayers predicted that a systems development problem could
end in disaster. They forecast that, because of the millennium bug, computers all over the world would
assume the new year was 1900 instead of 2000. As a result, utilities would blackout, markets would
collapse, banks would fail, planes would crash, and a host of other catastrophes would occur. In the
United States, an estimated $100 to $250 billion was spent to correct the problem. No other country
spent close to the amount disbursed in the United States. New Year’s Day 2000 came and went, and few
troubles were reported — anywhere. Even countries that adopted an almost cavalier approach to the
potential problem escaped unscathed. In hindsight, some critics feel the millennium bug was given too
much attention, especially in the United States. They point out that countries that spent a fraction of
what the United States spent to correct the problem — the British government spent about $7 million,
less than one-tenth the $8 billion spent by the U.S. government — still experienced only minor
difficulties. Did people in the United States overreact? Supporters of the U.S. effort say no. They point
out that the United States is more dependent on computers than any other country and therefore had to
spend more money. As John Koskinen, chairman of the President’s Council on Year 2000 Conversion,
maintains, the absence of real difficulties ―is not an indication that there wasn’t a problem underlying it
all. It is an indication that if you mount … a national coordinated effort, you can solve a very
complicated problem.‖ Ask students if people in the U.S. overreacted? Why or why not? Was the
problem posed by the millennium bug exaggerated? Did the problem only seem overstated because the
concerted efforts made were able to correct it?

2. Quick Quiz:
    1) What is a beta? (Answer: A program that has most or all of its features and functionality
       implemented)
    2) What is debugging? (Answer: The process of locating and correcting syntax and logic errors in a
       program)
    3) A run-time error occurs when the code violates the grammar of the programming language.
       True or false? (Answer: False)

3. Critical Thinking: Which type of error, syntax errors or logic errors, would be more difficult to find.
Discovering Computers 2010 Instructor’s Manual                                            Page 19 of 24


Why?

696:: Sttep 6 – Documentt Solluttiion
696 S ep 6 – Documen So u on
LECTURE NOTES
 Describe the two activities involved in formalizing the solution
 List the documentation that is given to the systems analyst along with the program
 Consider the importance of documentation
 Define dead code

TEACHER TIPS
Programs should be documented profusely. Because programmers write so much code in a year, they
themselves often forget program details. The capability to find and fix problems quickly often depends
on the accuracy and extent of documentation. Yet, because of the pressure to complete badly needed
programs and the time-consuming nature of documentation, documentation frequently is ignored as the
program deadline approaches. Some organizations assign documentation to individuals in the
information systems training department. Because they know what makes it effective (i.e., clear and
understandable), these individuals often write better documentation.

In general, a good program, each of its modules, and each of its control structures have the following
characteristics:
1) No dead code
2) No infinite loops
3) One entry point
4) One exit point

BOXES
1. FAQ 13-6: How much documentation should a program include? Review this rule of thumb with
regard to the amount of documentation that should accompany a program, and encourage students to
visit the Web site mentioned for more information.

2. Quiz Yourself 13-3: In addition to answering the questions in the text, as a quick review, have
students visit the Discovering Computers 2010 Quiz Yourself Web page (scsite.com/dc2010/ch13/quiz)
and then click Objectives 7 – 9.

CLASSROOM ACTIVITIES
1. Class Discussion: While a single entry point and exit point is an ideal condition in structured
programming, ask students if more than one entry point and exit point occasionally should be allowed.
Why or why not?

2. Assign a Project: Just a decade ago, computer programs consisting of 3,000 lines of code were thought
to be long. Today, programs used in automobile transmissions have almost 20,000 lines of code, word
processing programs can be more than 50,000 lines, and programs used by telephone companies are two
million lines long! What will computer programming be like in the future? Some experts see such
trends as continued movement towards natural languages, greater participation in programming by
computer users, and computers taking a more active part in programming themselves. As an extra-
credit assignment, have students use computer magazines, library resources, and the Internet to prepare
Discovering Computers 2010 Instructor’s Manual                                              Page 20 of 24


a report on what programming will be like in 10 years. How will programming be different from what
it is today? Who will be doing the programming? How will they be doing it? What effect might
developments in computer hardware have on programming?

3. Quick Quiz:
    1) What is dead code? (Answer: Any program instructions that a program never executes)

End off Chaptter Matteriiall
End o Chap er Ma er a

   Chapter Review provides a general survey of the material in the chapter. Students can use these
    pages to reinforce their achievement of the chapter objectives.

   Key Terms allows students to use these terms from the text to prepare for tests and quizzes. Students
    should know each Primary Term (shown in bold-black characters in the chapter) and be familiar
    with each Secondary Term (shown in italic characters in the chapter). Primary Terms include terms
    commonly used in the computer industry and in advertisements, or terms that identify a major
    category. Secondary Terms include terms primarily used by IT professionals and other technical
    people, terms that identify subcategories, or terms that are discussed in more depth in a later
    chapter.

    In the Test Bank that accompanies this Instructor’s Manual, the answers to questions pertaining to
    Primary Terms are labeled (P), and the answers to questions pertaining to Secondary Terms are
    labeled (S). If you are using the ExamView test generator, you can use the Primary or Secondary
    difficulty designations to choose questions that involve only Primary Terms, only Secondary Terms,
    or both Primary and Secondary Terms.

   Checkpoint exercises review key terms and concepts presented in the chapter. Have students
    complete the True/False, Multiple Choice, Matching, Short Answer, and Beyond the Book exercises.

   Learn It Online exercises offer students additional information, resources, and activities related to
    the topics presented in the chapter.

   Problem Solving @ Home and Problem Solving @ Work exercises allow students to expand their
    knowledge by solving practical computer problems, using outside resources including but not
    limited to the Web, blogs, podcasts, videos, magazines, newspapers, television, user guides, other
    individuals, electronics stores, and computer stores.

   The Learn How To exercises apply to students’ every day life what they learn in each chapter. These
    hands-on activities solidify the concepts presented in the chapter with practical application.

   In the Web Research exercises, students use various Web resources to find out more features related
    to this chapter. Encourage students to use their browsers and the link in each exercise or a search
    engine to complete selected exercises.
Discovering Computers 2010 Instructor’s Manual                                            Page 21 of 24


   Thought-provoking Critical Thinking exercises in each chapter exercise students’ minds and
    challenge them to construct creative solutions. These exercises are constructed to allow students to
    work independently and collaboratively.
Discovering Computers 2010 Instructor’s Manual                                  Page 22 of 24

Gllossssary off Priimary Termss
G o ary o Pr mary Term                              object-oriented programming (OOP)
                                                          language (669)
   4GL (674)
                                                    Perl (682)
   ActiveX (680)
                                                    PHP (682)
   ActiveX control (680)
                                                    PowerBuilder (674)
   Ajax (684)
                                                    procedural language (666)
   applet (680)
                                                    processing form (680)
   application generator (676)
                                                    program development (686)
   assembly language (665)
                                                    program development life cycle (PDLC)
   ATOM (679)
                                                          (686)
   beta (696)
                                                    programmer (664)
   bugs (696)
                                                    programming language (664)
   C (668)
                                                    programming team (687)
   C# (671)
                                                    RAD (669)
   C++ (671)
                                                    Rexx (682)
   COBOL (668)
                                                    RSS 2.0 (679)
   code review (694)
                                                    Ruby on Rails (683)
   coding (694)
                                                    run-time error (695)
   computer program (664)
                                                    script (680)
   control structure (689)
                                                    servlet (680)
   counter (680)
                                                    SharePoint Designer (685)
   debugging (696)
                                                    source program (666)
   Delphi (673)
                                                    SQL (674)
   Director (685)
                                                    structured design (688)
   Dreamweaver (685)
                                                    syntax (694)
   dynamic HTML (DHTML) (683)
                                                    syntax error (695)
   Expression Web (685)
                                                    Tcl (682)
   Flash (685)
                                                    test data (694)
   flowchart (691)
                                                    third-generation language (3GL) (666)
   flowcharting software (692)
                                                    ToolBook (685)
   hierarchy chart (688)
                                                    VBScript (683)
   HTML (678)
                                                    Visual Basic (672)
   IDE (integrated development environment)
                                                    Visual C# (673)
        (669)
                                                    Visual C++ (673)
   image map (680)
                                                    visual programming language (673)
   implementation (694)
                                                    Visual Studio (671)
   Java (670)
                                                    Web page authoring software (685)
   JavaScript (682)
                                                    WML (679)
   logic error (693)
                                                    XHTML (678)
   machine language (665)
                                                    XML (679)
   macro (676)
   maintaining (686)
                                                 Top of Document
   multimedia authoring software (685)
   .NET (670)
   nonprocedural language (674)
   object-oriented (OO) design (689)
Discovering Computers 2010 Instructor’s Manual                                    Page 23 of 24

Gllossssary off Secondary Termss
G o ary o Secondary Term                            Java EE (Java Platform, Enterprise Edition)
                                                         (670)
   algorithm (668)
                                                    Java Platform, Micro Edition (Java ME)
   annotation symbol (691)
                                                         (670)
   API (684)
                                                    Java Platform, Standard Edition (Java SE)
   ASCII file (694)
                                                         (670)
   ASP.NET (670)
                                                    just-in-time (JIT) compiler (670)
   assembler (666)
                                                    keywords (695)
   bytecode (670)
                                                    loop (690)
   cascading style sheets (CSS) (683)
                                                    low-level language (664)
   case control structure (690)
                                                    machine-dependent language (664)
   CGI (common gateway interface) (680)
                                                    machine-independent language (665)
   CGI script (680)
                                                    macro (assembly language) (666)
   CLR (670)
                                                    macro recorder (676)
   code (664)
                                                    main module (688)
   code snippets (671)
                                                    main routine (688)
   comment symbol (691)
                                                    menu generator (676)
   comments (694)
                                                    Microsoft Intermediate Language (MSIL)
   COmmon Business-Oriented Language
                                                         (670)
         (668)
                                                    modules (688)
   compiler (666)
                                                    mouse rollover (682)
   construct (689)
                                                    mouseover (682)
   dead code (696)
                                                    object (669)
   debug utility (696)
                                                    object code (666)
   debugger (696)
                                                    object program (666)
   design tools (691)
                                                    open language (682)
   desk check (694)
                                                    posttest (690)
   developer (664)
                                                    Practical Extraction and Report Language
   document object model (DOM) (683)
                                                         (682)
   do-until control structure (690)
                                                    pretest (690)
   do-while control structure (690)
                                                    program development tool (664)
   Eclipse (670)
                                                    program flowchart (691)
   Elements (678)
                                                    program logic (687)
   encapsulation (689)
                                                    pseudocode (692)
   event (669)
                                                    Rails (683)
   event-driven program (669)
                                                    rapid application development (669)
   execute (666)
                                                    repetition control structure (690)
   extreme programming (XP) (695)
                                                    report writer (676)
   form (676)
                                                    REstructured eXtended eXecutor (682)
   fourth-generation language (674)
                                                    RoR (683)
   global comments (694)
                                                    Ruby (683)
   high-level language (665)
                                                    scripting language (682)
   Hypertext Markup Language (678)
                                                    selection control language (689)
   if-then-else control structure (689)
                                                    sequence control structure (689)
   internal comments (694)
                                                    solution algorithm (687)
   interpreter (667)
                                                    structure chart (688)
   IPO chart (687)
Discovering Computers 2010 Instructor’s Manual    Page 24 of 24


   style sheet (679)
   subroutines (688)
   symbolic address (666)
   symbolic instruction codes (666)
   tags (678)
   Tool Command Language (682)
   top-down design (688)
   validate (693)
   Visual Basic for Applications (VBA) (676)
   Visual Basic, Scripting Edition (683)
   visual programming environment (VPE)
        (673)
   Visual Studio Tools for Office (VSTO) (671)
   Web developers (678)
   XSL (679)
   XSLT (679)

Top of Document

						
Related docs
Other docs by 2et9rgM7
HS_311_Ch _10_11 2009
Views: 9  |  Downloads: 0
Gail Zhou Resume
Views: 130  |  Downloads: 0
2003_gelen_kitaplar
Views: 25  |  Downloads: 0
20110809_Known_Issues
Views: 4  |  Downloads: 0
CompaniesDoDont
Views: 3  |  Downloads: 0
Collegelist
Views: 15  |  Downloads: 0
file - Excel 5
Views: 128  |  Downloads: 0
whydolifeestategiftshavegreatpotential
Views: 1  |  Downloads: 0
Placement2010 - Excel
Views: 37  |  Downloads: 1