0% found this document useful (0 votes)
21 views8 pages

Task X of Computational Logic

This document contains information about a task assigned to José Francisco Rodríguez as part of his Computational Logic course at the Open University for Adults. The task includes researching the fundamentals of programming and identifying concepts such as algorithms, programming languages, flowcharts, and more. It also includes creating a comparative summary on the structure of a program and its types, and identifying the differences between open-source and proprietary programming languages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views8 pages

Task X of Computational Logic

This document contains information about a task assigned to José Francisco Rodríguez as part of his Computational Logic course at the Open University for Adults. The task includes researching the fundamentals of programming and identifying concepts such as algorithms, programming languages, flowcharts, and more. It also includes creating a comparative summary on the structure of a program and its types, and identifying the differences between open-source and proprietary programming languages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

OPEN UNIVERSITY FOR ADULTS

(UAPA)

SUBJECT
Computational Logic

TASK
Task X

PARTICIPANT:
José Francisco Rodríguez

Enrollment:
202001501

FACILITATOR:
Mario Ortiz

Santiago de los Caballeros, Dominican Republic

June 20, 2020.


1. Research on the Web about programming fundamentals: concepts
basics, characteristics, structure and types of program.

Programming Fundamentals is a basic subject that allows you to create


programs that exhibit desired behavior. The process of writing
coding often requires knowledge in several different areas, in addition
of the language domain to be used, specialized algorithms, and formal logic.

With this subject, the student will learn to write, analyze, test, debug, and give
maintenance of the program generated in a Programming Language.

The use of a programming language requires that you know and use
some previous tools that will help you understand and solve problems
from different areas such as mathematics, physics, and accounting, among others; to
through the computer.

Algorithm
Programming language
Source program
Object program
Compiler
Pseudocode
Flow diagrams

Algorithm: it is the set of logically ordered steps to perform a


activity or solving a specific problem.

Examples: the logically ordered steps of a cooking recipe, to add two


(2) numbers, to calculate the area of a triangle, etc.

Important characteristics of an algorithm:

It must be finite: every algorithm must have an end.


It must be defined: it should always yield the same result with the same
parameters.
It must be precise: accuracy in the development of all steps.

Programming language: it is a set of words, letters, numbers and


special symbols with defined syntactic rules that are used to give
instructions to the computer.

Examples: Qbasic, Visual Basic, Pascal, C++, Java, etc.

Source program: it is the set of steps of an algorithm written in a


high-level programming language.
Object program: it is the set of steps of an algorithm written in
machine language (low level).
Compiler: it is an application or program that translates a source program
in a program object that can be interpreted and executed by the
computer.
Pseudocode: it is a set of instructions written in words
similar to natural language to solve a problem or a task
specific. It is a tool used in programming
structured.
Flowchart: it is the graphical representation of an algorithm or
pseudocode using conventional symbols that display the actions,
processes and flow of information to solve a posed problem.
2. Create a summary, a comparative table, a mind map, about the
structure of a program, taking into account: its phases and types of
programs.

Stages Products formalism


Obtaining of Use Cases (actors, Format Template of the
requirements scenarios document, diagram of
user interaction
UIDs
Conceptual Design Classes, subsystem, Models oriented to
relationships, attributes objects.
Navigational design Nodes, links, Viewsoriented a
access structures, objects, letters of
context, navigational, navigation oriented to
transformations of objects, classes of
navigation. context.
Design of interface Objects of the interface Abstract views of data
abstract abstract answers to (ADV), diagrams of
events external, configuration of letters
transformations of the navigation of the ADVs.
interface
Implementation Application in those supported by the
functioning environment.

3. Establish the relationship between an open-source programming language and


another proprietary.

In the world of technology, there are common mistakes with terms that are not always

we are able to differentiate properly. For example, although we all understand


quite well the difference between proprietary software and non-proprietary, right?
it always happens the same when it comes to separating the concepts of free software and that of

open code.
First of all, free software is not synonymous with free, although in English the
The word free can mean both things. On the other hand, although it is always of
open source or Open Source, not all open source software is free.
Although to understand it, it will be best to see what each thing is and then see which ones.

these are the most significant differences.

And it is that, as Richard Stallman himself argues, 'the movement for the
free software and the open source movement are like two fronts
politicians among the free software community." Both pursue a common goal.
common to give greater freedom and transparency to the world of software, but they differ

quite in their ways of carrying it out.

Free Software is defined by its ethics.

Free Software is not only those programs whose code is open to the public.
so that anyone can improve it. Represents all those who respect the
essential freedoms of the userdefinedby the Free Software Foundation,
foundation created in 1985 by Richard Stallman to defend freedoms in the
technological world.

These are the four essential freedoms of users as defined by the


FSF:

The freedom to run the program as you wish, with any


purpose (freedom 0).

The freedom to study how the program works, and change it so that
do whatever you want (freedom 1). Access to the source code is a condition
necessary for this.

The freedom to redistribute copies to help your neighbor (freedom 2).

The freedom to distribute copies of your modified versions to third parties


freedom 3). This allows him to offer the entire community the opportunity to
to benefit from the modifications. Access to the source code is a condition
necessary for that.

The four freedoms, as explained by the foundation, must be applied in


the entire code of a program. In this way, if we create software based on
on the other hand, we have to ensure that both the base we are on
working so that the lines we have added to the project respect these
freedoms. Come on, the software produced from free software should be
free too.

Open Source, a pragmatic split

On February 3, 1998, several members of the Free Software community


they decided to go on their own and created theOpen Source Initiative(OSI). The decision is

took right after the launch of Netscape, seeing it as an opportunity to


educate users and companies about the practical benefits for the
projects that decide to open source their code.

Just as the ethics of Free Software are defined in four points, Open Source
Initiative hasten requirementsto be fulfilled by a project or the licenses under
those that are published so that it can be defined as open source:

Free redistribution: The software license must not prevent this from being
given away or sold freely as part of a larger distribution that
contain programs from different sources. It should not require payment for
to do it.

Source code: When publishing a program, it must be included.


complete source code or allow free access to it.

Derivative works: Licenses must allow modifications and works


derivatives, and it must allow them to be distributed under the same terms as
the original software.
Integrity of the author's source code: Distribution can be prevented.
of modifications only if the distribution of such is allowed
patches. It may also be required that derivative works change their name
the version number.

No discrimination against individuals or groups: Discrimination against


No person or group at the time of accessing a program or its code.

Without discrimination of initiative areas: It cannot be restricted either.


their access to any initiative. Companies or research groups have
both the right and the rest to use the software.

License distribution: The rights associated with the licenses of the


programs must be applied to all those who redistribute it without the need for
request an additional license.

The license must not be product-specific: A program does not


it can only be licensed as part of a larger software. It may be
extracted and used freely and with all rights in other solutions.

The license must not restrict other software: The fact that a
open source project cannot force that the programs in which
they are also included as open source.

The license must be technologically neutral: No provision of


the license can be based on technology or a style of interface, so that,
for example, their acceptance should not be required through explicit gestures such as

mouse clicks.

As you can see, the points are much less ideological and more pragmatic. They do not
focus so much on the fact that the derivative programs maintain the
characteristics, but in promoting the openness of the code that they use
programs so that everyone can collaborate and benefit. This flexibility has
allowed to earnrenowned partnerslike Facebook, Google, the Linux Foundation
Oh Mozilla.
Therefore, instead of an ethical manifesto, what we have are practical points with
those who regulate an activity and impose order anticipating any case or conflict that
it can be given. But it does not neglect freedoms either, since in several of its
Points require that no one is discriminated against when accessing the code.

It is also important to emphasize that not all programs that release their
source code is open source, as this code may be
released under restrictive licenses that contradict the principles on which it is
base the Open Source project.

What are the main differences?

We are facing two ways to tackle a similar goal, so the differences


they are not too many. The main one is that open source is less strict than the
free software, so in practice all free software can be classified as
open source, although not all open source software has to
to be free. For example, some Open Source licenses are too restrictive
as to consider themselves free.

Another small difference we find when it comes to protecting authors.


originals. The FSF backtracks with an exception that allows authors to
request that a product based on yours be renamed to avoid confusion.
Meanwhile, the OSI goes a little further by allowing it to be prevented from
distribution of some by-products, although always in exchange for them to be able to

to be published as patches or additions to the original.

But beyond that, the differences are not too many either.In Stallman's eyes,
Free software aims to give meaning to the freedom that the term implies,
while using open source does not always imply freedom, but
availability when accessing the code. Even so, Stallman himself admits that
Although they do not agree on basic principles, they do agree on the...
practical recommendations and collaborating against proprietary software

You might also like