CONCEPT OF PROGRAMMING LANGUAGE 10TH EDITION..CHAPTER 2

Nama : Egan Elian Noer

Class   : 01 PBT

NIM    : 1601218483

This assignment is given by Mr Tri Djoko Wahjono

I. Review Answer

1. In what year was Plankalkül designed? In what year was that design published?

Answer: Plankalkul was designed by Konrad Zuse between 1942 & 1945. He first published a paper on it in 1948. More information on the language was published in 1972.

2. What two common data structures were included in Plankalkül?

Answer: Array and Records

3. How were the pseudo codes of the early 1950s implemented?

They were implemented through machine codes.

4. Speedcoding was invented to overcome two significant shortcomings of the computer hardware of the early 1950s. What were they?

Answer: Non-connotative names, absolute addressing (Also: floating-point arithmetic, automatic incrementing of address register).

5. Why was the slowness of interpretation of programs acceptable in the early 1950s?

Answer: Because the lack of floating point hardware

6. What hardware capability that first appeared in the IBM 704 computer strongly affected the evolution of programming languages? Explain why.

Answer: Its capabilities prompted the development of Fortran because it was able to support floating-point operations hardware.

7. In what year was the Fortran design project begun?

Answer: May 1954

8. What was the primary application area of computers at the time Fortran was designed?

Answer: Mathematics

9. What was the source of all of the control flow statements of Fortran I?
Answer: They were based on 704 instructions

10. What was the most significant feature added to Fortran I to get Fortran II?

Answer: Independent-compilation capability

11. What control flow statements were added to Fortran IV to get Fortran 77?

Answer:  logical loop statements and IF with an optional ELSE

12. Which version of Fortran was the first to have any sort of dynamic variables?

Answer:  Fortran 90

13. Which version of Fortran was the first to have character string handling?

Answer: Fortran 77

14. Why were linguists interested in artificial intelligence in the late 1950s?

Answer: Because linguists were concerned with natural language processing.

15. Where was LISP developed? By whom?

Answer: It was developed at MIT by John McCarthy

16. In what way are Scheme and Common LISP opposites of each other?

Answer: Common LISP allows for static scoping and dynamic scoping Scheme only uses static scoping. Scheme is relatively small while Common LISP is large and complex.

17. What dialect of LISP is used for introductory programming courses at some universities?

Answer: Scheme

18. What two professional organizations together designed ALGOL 60?

Answer: ACM and GAMM

19. In what version of ALGOL did block structure appear?

Answer: ALGOL 60

20. What missing language element of ALGOL 60 damaged its chances for widespread use?

Answer: The lack of input and output statements with formatting

21. What language was designed to describe the syntax of ALGOL 60?
Answer: BNF

22. On what language was COBOL based?

Answer: FLOW-MATIC

23. In what year did the COBOL design process begin?

Answer: 1959

Problem Set

1. Do you believe that solving a problem in a particular algorithmic step requires programming language skills? Support your opinion.

answer : No I don’t think people will need programming language skills, because algorithmic steps already existed long before programming language.

2.   Who is said to be the first programmer in human history?

answer : Ada Lovelace is said to be the first programmer in the world. Her notes on the engine is the first algorithm intended to be understand by computer.

4 . In what way do the languages for scientific applications differ from the languages for business applications? Support your view.

answer : Language for scientific applications are intended for scientific calculations which includes uncommon mathematical operation. While for business they usually includes function that ease the business computation.

6. Which characteristics of programming languages do you think are the most important and why?

answer : I think the object oriented characteristic is the most important because that way, when you finished a program, you can reuse the code once again to make another program.

7. Java uses a semicolon to mark the end of all statements. What are the advantages for and against this design?

answer : A semicolon marks the end of all statements is somehow important for the purpose of readability and to prevent logic error.

Concept of Programming Language 10th Edition..Chapter 1

Nama : Egan Elian Noer

Class   : 01 PBT

NIM    : 1601218483

This assignment is given by Mr Tri Djoko Wahjono

Review Questions

1. Why is it useful for a programmer to have some background in language design, even though he or she may never actually design a programming language?

answer : cause, It could increases the capacity to express ideas, Improves background for choosing appropriate languages, Increases ability to learn new languages, Better understanding of the significance of implementation, Better use of languages that are already known, Overall advancement of computing.

2. How can knowledge of programming language characteristics benefit the whole computing community?

answer : It makes learning a new language easier, make a newly written program language easier to be learnt by new user, and get more people involved in on a global scale which would actually benefit the entire computing community.

3. What programming language has dominated scientific computing over the past 50 years?

answer : the programming language that dominated scientific computing the past 50 years is Fotran (Formula Translator).

4. What programming language has dominated business applications over the past 50 years?

answer : the programming language that dominated business applications over past 50 years is COBOL (Common Business-Oriented Language).

5. What programming language has dominated artificial intelligence over the past 50 years?

answer : Language that has dominated artificial intelligence over pas 50 years is LISP.

6. In what language is most of UNIX written?

answer : Most UNIX is written in C language.

7. What is the disadvantage of having too many features in a language?

answer : if  there are too many features then the basic simplicity of reading a program could be lost. The simpler and more user-friendly programming languages allow for a smoother creation process, especially if there are many people working on the same code.

13. What does it mean for a program to be reliable?

answer : If the program performs to its specifications under all conditions.

15. What is aliasing?

answer : Aliasing is having two or more distinct names that can be used to access the same memory cell.

Problem Set

2. Who is said to be the first programmer in human history?

answer : the first programmer, Lord Byron’s daughter, Augusta Ada Byron, the Countess of Lovelace, was the first person to write a computer program for Charles Babbage’s Analytical engine. (http://en.wikipedia.org/wiki/Ada_Lovelace)

3. What are the disadvantages of multiple programming languages?

Answer: The disadvantages of multiple programming languages are:
a. Will confusing, Every language has their own syntaxes. Therefore, programmers must remember syntaxes in every single language and also programmers have to know about the language behavior that may differ one to another.
b. It’s quite not convenient because if you have a task of making an application that include more than 1 domain of computer programming, it may be difficult.

6. Which characteristic of programming languages do you think are the most important and why?

answer : I think the most important one will be its readability, because, nowadays, the focus of the programming is not on the efficiency, but on the cost of maintenance, thus the language itself must be easy to be read. the coding may be done in a way that is essentially self-documenting if care is taken

7. Java uses a semicolon to mark the end of all statements. What are the advantages for and against this design ?

answer :  The purpose of using semicolons to terminate a statement in Java is to make the statements look unambiguous, and most of programming languages had agreed to use this symbol to terminate a statement, although there are some languages that’s using dot(.) to terminate a statement.

8. Most languages use functions and subroutines. What are the pros and cons of this design decision ?

answer :  The pros of using functions and subroutines are the usability of that statements many times without type it again and again, and in a project we can share our tasks to others by split it into many functions. The cons of using functions and subroutines are most of the function can only return one value, and it there might be a bug in that function if not coded properly.

9. Explain how orthogonality in a programming language is closely related to simplicity.

answer : Orthogonality means that a relatively small set of primitive constructs can be combined in a relatively small number of ways to build the control and data structures of the language. The more orthogonal the design, the fewer exceptions, the simpler programming language will be made.

10.  Make comparative study of the cost of software and hardware.

answer :  The cost of hardware can be increased as the time flow it can be more cheap or more expensive, but the cost of software depends on it’s maintenance schedule.

12.   Can we call any programming language complete, in your opinion? Why or why not?

answer : No, cause they still have so many disadvantages and advantages in each language.

16. Does a Just-In-Time (JIT) implementation system affect the execution of the code? Why or why not?

Answer: JIT will not affect the execution of the code, because JIT does nothing to the code other than translating it to another language, the code itself isn’t changed.

CHAPTER 15

Nama : Egan Elian Noer

Class   : 01 PBT

NIM    : 1601218483

This assignment is for Mr Tri Djoko Wahyono

True/False

1. True 6. False
2. False 7. True
3. True 8. True
4. True 9. True
5. False 10. False

Multiple Choice

1. A 5. D
2. C 6. B
3. C 7. D
4. A 8. B

Matching

1. E 6. B
2. D 7. F
3. J 8. I
4. G 9. A
5. H 10. C

Short Answer

1. Here are the Top 5 benefits of attending a trade school:
1) Cost
This is pretty obvious, and even more important with our economy fluctuating everyday. Trade schools can cost only about an 1/8 of the price for a four year degree.
2) A Job Waiting For You When You Graduate
Vocational schools give you the exact skills you need for the job market after you graduate.
3) Hands-On Training
Tech schools teach you what you need to know…not all the extra stuff like at other colleges.
4) Job Security
Most of the programs offered at trade schools are for careers that need to be done in person, by the people who are closest.
5) A Successful Future
After graduating, you will always have a career and you will be making good money, without having to pay off college debt.

Factors should you consider when selecting a trade school are
1) Find out of the hours of instruction meet or exceed the minimum requirements to get a job (or state-approved certification, if this is the main criteria needed to get a job).
2) Make sure they are current with industry standards.
3) Get feedback from other sources.
4) Compare the price of tuition.
5) Make sure this is what you want to do.

2. The benefits of professional growth and continuing education is keeping up to date information about new products and services in the computer industry , because nowdays technology changes so rapidly.

One way to stay informed is to participate in professional growth and continuing education activities such as workshops, seminars, conferences, conventions, and trade shows. Another way to keep up to date about industry trends and technologies is to read one or more computer industry publications regularly or visit news, blogs, wikis, or technical Web sites.

3. Consider your career path during the long term. Then, assess your background knowledge and experience. Finally, research certifications to find those that best match your needs.

Four options for preparing for certification are
1) Self-study: Flexible self-study programs help professionals prepare for certification at their own pace and supplement other training methods.
2) Online training classes: Online training allows students to set their own pace in an interactive environment and combines the technological advantages of computer-based training with the connectivity of the Internet or a company’s intranet.
3) Instructor-led training: Instructor-led training is available in a variety of forms, including seminars, which typically are held for several days during a week; boot camps, which immerse students in intensive course work for up to two weeks; and academicstyle classes, which span a period of several weeks or months. Some sponsors hold their own training sessions and also authorize independent training centers.
4) Web resources: The certification sponsor’s Web site generally contains descriptions of the available certifications, with FAQs and links to authorized training and testing centers.

4. The focus of programmer/developer certification is to verify whether a person is capable as a programmer or a developer. Other types of certification are beneficial to those
interested in programmer/developer certification are Networking and Web design certification.

People in the following jobs may be interested in a programmer/developer certification:

  1. • Java programmers
  2. • Mobile application developers
  3. • Oracle database managers
  4. • Programming consultants
  5. • SQL programmers
  6. • Web software developers
  7. • XML developers

5. Hardware certification is the process through which computer hardware is tested to ensure it is compatible with specific software packages, and operates as intended in critical situations.

People in the following careers may be interested in hardware certification:

  1. • Cable installation technicians
  2. • Computer repair technicians
  3. • Corporate trainers
  4. • Help desk specialists
  5. • IT consultants
  6. • System engineers and administrators

CHAPTER 14

Nama : Egan Elian Noer

Class   : 01 PBT

NIM    : 1601218483

This assignment is from Mr Tri Djoko Wahyono

True/False

1. True 6. False
2. False 7. True
3. False 8. True
4. True 9. True
5. False 10. True

Multiple Choice

1. C 5. A
2. B 6. D
3. A 7. A
4. B 8. D

Matching

1. H 6. G
2. F 7. A
3. B 8. J
4. E 9. I
5. D 10. C

Short Answer

1. There are many specific duties that will vary widely depending on what type of activity the manager is responsible for. But in general terms, managers are usually responsible to ensure that the people assigned to them are doing their tasks correctly. The definition of “correctly” is where there is a good degree of variation from job to job, but it usually involves managing a budget for the people assigned to the manager, ensuring that the tasks of those people are completed on whatever schedule has been established, working through personnel issues like training if necessary, salary issues, bad performance, etc.

Four activities managers perform to coordinate resources are planning, organizing, leading, and controlling.

2. A content management system (CMS) is an information system that is a combination of databases, software, and procedures that organizes and allows access to various forms of documents and other files, including images and multimedia content.

They are based on the user’s actions, the content management system processes content, categorizes the content, indexes the content so that it later can be searched, and stores the content.

3. The two types of virtualization.
1) Server virtualization provides the capability to divide a physical server logically into many virtual servers.
2) Storage virtualization provides the capability to create a single logical storage device from many physical storage devices.

Grid computing is where more than one computer coordinates to solve a problem together. Often used for problems involving a lot of number crunching, which can be easily parallelisable.
Cloud computing is where an application doesn’t access resources it requires directly, rather it accesses them through something like a service. So instead of talking to a specific hard drive for storage, and a specific CPU for computation, etc. it talks to some service that provides these resources. The service then maps any requests for resources to its physical resources, in order to provide for the application. Usually the service has access to a large amount of physical resources, and can dynamically allocate them as they are needed.
As the demand for computing resources increases, companies may find that using outside computing resources is more economical than building new computing capacity internally. Cloud and grid com puting are two new technologies that provide flexible and massive online computing power.

4. Five types of e-commerce are Business to Business, Business to Consumer, Consumer to Business, Consumer to Consumer, and Mobile E-commerce

*Business to Business
Business to business, or B2B, e-commerce consists of online transactions between companies, with no involvement of either company’s retail consumers. For example, an automobile manufacturer that requires 50,000 lug nuts orders them through the vendor’s website. Both the automobile manufacturer and the lug nut manufacturer sell their products to individual consumers through other outlets, but the automobile manufacturer’s order excludes both companies’ retail consumers. B2B e-commerce reduces errors while enhancing efficiency.

*Business to Consumer
The type of e-commerce most easily recognized by most people, business to consumer (B2C) e-commerce consists of online transactions between consumers and online retailers or service providers. B2C typically operates in one of two ways. In one approach, the company operates a website where customers can buy the products or services directly from the company. The other model consists of a company maintaining a website that third-party companies use to sell products or services.

*Consumer to Business
A classic example of consumer to business (C2B) e-commerce is a person taking bids from different construction companies to build a home. The Internet opens the door for a much wider variety of C2B transactions. C2B e-commerce typically means that a person needs a professional to accomplish a task. The consumer posts a job description to a forum or website dedicated to C2B transactions, and solicits bids from businesses. After selecting a bidder, the consumer typically pays the business through an electronic medium. Websites that cater to C2B transactions frequently offer or require the consumer to use the site’s secure financial services.

5. The location of backup data, supplies, and equipment, The personnel responsible for gathering backup resources and transporting them to the alternate computer facility, and a schedule indicating the order in which, and approximate time by which, each application should be up and running.

For a backup plan to be successful, the organization must back up all critical resources. Also, additional people, including possibly nonemployees, must be trained in the backup and recovery procedures because organization personnel could be injured in a disaster.

CHAPTER 13

Nama : Egan Elian Noer

Class   : 01 PBT

NIM    : 1601218483

This assignment is especially for Mr Tri Djoko Wahyono

True/False

1. True 6. False
2. True 7. False
3. True 8. True
4. True 9. False
5. True 10. False

Multiple Choice

1. B 5. A
2. C 6. C
3. C 7. D
4. A 8. B

Matching

1. G 6. E
2. D 7. A
3. J 8. H
4. I 9. B
5. C 10. F

Short Answer

1. A compiler converts the entire program into executable code before running, when running the program only the executable version of the code is running. An interpreter converts the code during run time, it converts the code 1 line at a time at the time that it is running.

Advantages of interpreter are :
– Interpreters are useful for program development when execution speed is not important. As the interpreter is in command of the execution process debugging features can be build in.
– Debugging is easier since the interpreter stops when it encounters an error. If an error is deducted there is no need to re translate the whole program.
– There is no lengthy “compile time”, i.e. you do not have to wait between writing a program and running it, for it to compile. As soon as you have written a program, you can run it.

Disadvantages if interpreter is Interpreters normally translate and execute programs line by line, converting each program statement into a sequence of machine code instructions and executing these instructions without retaining the translated version.

2. Major benefit of OOP is the ability to reuse and modify existing objects.

The RAD (rapid application development) is a method of developing software, in which a programmer writes and implements a program in segments instead of waiting until the entire program is completed. Users begin working with sections of the program as they are completed.

3.  An IDE (integrated development environment) includes tools for building graphical user interfaces, an editor for entering program code, a compiler and/or interpreter, and a debugger.

Describe the programming languages in the Visual Studio suite.
– Visual Basic is a programming language that allows programmers easily to build complex task-oriented object-based pro grams.
– Visual C++ is a programming language based on C++. Not only is Visual C++ a powerful object-oriented pro gramming language, it enables program mers to write Windows, Windows Mobile, and .NET applications quickly and effi ciently.
– Visual C# is a programming language that combines programming elements of C++ with an easier, rapid development environment.

4. XML separates the Web page content from its format, allowing the Web browser to display the contents of a Web page in a form appropriate for the display device. For example, a smart phone, a PDA, and a notebook computer all could display the same XML page or use different formats or sections of the XML page.

Describe two applications of XML
1) RSS Rich Site Summary is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.
2) The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol (AtomPub or APP) is a simple HTTP-based protocol for creating and updating web resources.

5. Review the program code and review all the documentation. Proper documentation greatly reduces the amount of time a new programmer spends learning about existing programs.

CHAPTER 12

Nama : Egan Elian Noer

 

Class   : 01 PBT

NIM    : 1601218483

This assignment is special from Mr Tri Djoko Wahyono

 

True / False
1. T          7. F
2. T          8. F
3. F          9. T
4. F        10. T
5. F         11. F
6. T

Multiple Choice
1. A   5. C
2. B   6. D
3. C   7. A
4. A   8. D

Matching
1. H          6.   G
2. D          7.   F
3. A          8.   J
4. B           9.   C
5. I           10. K

Short Answer
1. – A set of activities to build an information system.
– Planning, Analysis, Design, Implementation, Maintenance.
2. -> Operational feasibility measures how well the proposed information system will work.
> Schedule feasibility measures whether the established deadlines for the project are reasonable.
> Technical feasibility measures whether the organization has or can obtain the hardware, software, and people needed to deliver and then support the proposed information system.
> Economic feasibility measures whether the lifetime benefits of the proposed information system will be greater than its lifetime costs.
– Identify the areas for which information is required, create the necessary research questions, determine the sources of data, research to gather the raw data, confirm that the data is correct, process te data to derive meaningful information and then translate into goals and requirements.
3. – UML is used to specify, visualize, modify, construct and document the artifacts of an object-oriented software-intensive system under development.
– Class diagram is a static diagram, but use case diagram is a dynamic diagram
4. – Perform maintenance activities, monitor system performance, and assess system security.
– Corrective maintenance is the process of diagnosing and correcting errors in an information system, Adaptive maintenance is the process of including new features or capabilities in an information system, Performance monitoring is the process to determine whether the system is inefficient or unstable at any point, Perfective maintenance is the process to investigate solutions to make the information system more efficient and reliable.
5. – a plan which summarizes in writing all safeguards that protect the organization’s information assets.
– Identify all information assets of an organization, Identify all security risks that may cause an information asset loss, and identify the safeguards that exist to detect, prevent, and recover from a loss.

CHAPTER 11

Nama : Egan Elian Noer

Class   : 01 PBT

NIM    : 1601218483

This assignment is special from Mr Tri Djoko Wahyono

True/False

1. False 7. True
2. True 8. True
3. False 9. False
4. True 10. False
5. False 11. True
6. True 12. False

Multiple Choice

1. B 5. C
2. D 6. D
3. A 7. D
4. C 8. C

Matching

1. J 6. C
2. D 7. B
3. E 8. A
4. G 9. H
5. I 10. F

Short Answer

1. There are two ways that an antivirus programs detect and identify a virus.
First, it scans/monitors the programs by its code, if it found a program code that matches with the virus code in its signature database, it will consider that program a virus.
Secondly, it scans/monitors the programs by analyzing its behavior, such as modification of critical system files/important data files, if any behavior seems suspicious, then the antivirus program will alert the user that there are suspicious behavior, or it may alert the user that malicious actions are about to be performed, and block that behavior.

Virus hoax is an e-mail message that warns users of a nonexistent virus or other malware.

2. The United States Department of Energy (DOE) and the United States Environmental Protection Agency (EPA) developed the ENERGY STAR program to help reduce the amount of electricity used by computers and related devices. This program encourages manufacturers to create energy- efficient devices that require little power when they are not in use. For example, many devices switch to sleep or power save mode after a specified number of inactive minutes or hours. Computers and devices that meet the ENERGY STAR guidelines display an ENERGY STAR label.

Users should not store obsolete computers and devices in their basement, storage room, attic, warehouse, or any other location. Computers, monitors, and other equipment contain toxic materials and potentially dangerous elements including lead, mercury, and flame retardants. In a landfill, these materials release into the environment. Recycling and refurbishing old equipment are much safer alternatives for the environment. Manufacturers can use the millions of pounds of recycled raw materials to make products such as outdoor furniture and automotive parts.

3. The right of individuals and companies to deny or restrict the collection and use of information about them.

Five ways to safeguard your personal information :
– Do not reply to spam for any reason.
– Limit the amount of information you provide to Web sites. Fill in only required information.
– Purchase goods with cash, rather than credit or checks.
– Clear your history file when you are finished browsing.
– Fill in only necessary information on rebate, warranty, and registration forms.

4. Install a phishing filter and never click a link in an e-mail message; instead, retype the Web address in your browser.

With clickjacking, an object that can be clicked on a Web site, such as a button, image, or link, contains a malicious program. When a user clicks the disguised object, a variety of nefarious events may occur. For example, the user may be redirected to a phony Web site that requests personal information, or a virus may download to the computer.

5. Many businesses use content filtering to limit employees’ Web access. These businesses argue that employees are unproductive when visiting inappropriate or objectionable Web sites. Some schools, libraries, and parents use content filtering to restrict access to minors.

One approach to content filtering is through a rating system of the Internet Content Rating Association (ICRA), which is similar to those used for movies and videos. Major Web sites such as Yahoo!, AOL, and MSN use the rating system established by the ICRA. If content at the Web site goes beyond the rating limits set in the Web browser software, a user cannot access the Web site. Concerned parents can set the rating limits and prevent these limits from being changed by using a password.