E-Portfolio Submitted by: Reneé Dominique M. Castillo Section: S20A Date: February 22, 2014
Activity 1:
Colonial Mentality What is colonial mentality? It is the issue involving social, political, economical, and many more matters. It is where a more powerful colony or country takes over another nation (rather weak) by influencing them with their economy or products, programs, and services. In the Philippines, we are known to be colonized by the nation/ss from the West or also known as America. This is not the only country that causes such issue but as well as China, Japan, Germany, etc. although this is the main one. We are always sent so-called imported products from the said country. And as expected, Filipinos choose these over local-made products. Why is that? They are proven to have better quality, mainly, whether it is food or clothing. They are made with better materials and components. There is nothing wrong with choosing and picking what is best for you and your loved ones. But choosing the products and services from abroad most of the time that is colonial mentality. This means your mind and perception regarding your own and what s theirs is more preoccupied with the other side. This issue influences ourselves badly because we tend to fit in with what s in or hip, we also tend to decrease our love for the country. As our love for the nation and country decreases, its economy, social status, political and educational fields also decrease. Not only of the programs and services, but also with its quality. If this continues, the country will go poor and will have to depend on a more powerful nation which will eventually be a shame. In my opinion, this is a social issue that should be focused on because this is apparently a large factor that affects the country s aspects. One solution that I thought of is to equalize (or at least near or similar to it) the quality that our local products and services possess to the impressive quality made by the abroad. This may be easy to say but difficult to do but it s a start. And by then, our country should start promoting and marketing our improved (or not) local products to the citizens. And hopefully with these, colonial mentality will start to decrease (causing the country s aspects to increase positively) until the society can stand on its own. Colonial mentality is not the only issue we are having. We also have the issues how we treat homosexuals, of the use and abuse of social networking sites such as Facebook and Twitter, of how we treat and think of the poor/less fortunate, of the racism with different or
opposite types of humans, of the inequality of rights, and so much more. These issues or flaws in society should be put to an end with a just and rightful conclusion. Colonial mentality is what I chose because I know that everyone (or at least most of us) are possessing this attitude. A simple asking and answering of choosing which over which is an act of colonial mentality. Sometimes, the locals are not even added as one of the choices. I believe that our own-made products and services should and deserve to have a spot to compete with other imported products. We should be proud of what we have because these are made with hardwork. And we should not be proud of what we don t make (imported goods) because in the first place, and most of the time, we were not a part of it. Issues such as this have to end before they get worse.
Topics:
1) Technology, good or bad? 2) Stereotyping of brands of gadgets (i.e. Apple, Samsung) 3) Relating CS subjects to real life (situations) 4) Is it necessary to keep updating the gadgets models (almost) every year? 5) What are the factors that interest students to take a course from CCS? 6) Why can t we have just one flexible platform for all programming languages?
Activity 2:
Activity 3:
FIRST CHOICE SECOND CHOICE THIRD CHOICE Topic: Why can't we have just one flexible platform for all programming languages? Topic: Relating CS Subjects to Real Life Situations Topic: What are the factors that interest students to take a course from CCS? > examples (C, C++, Java, ) > some factors why there are different programming languages: - evolution > DLSU CCS/CS subjects (COMPRO1, COMPRO2, DISCTRU, ) > daily activities (simple ones like decision-making) > ComSci subjects can show that the "nerdy" or "geeky" lectures have the potential to be applied in real life. - preference > more ways to solve problems - simplicity/complex > more way to reason out things - updates/additions/removals > logic, mathematics > all have one purpose: to make/create programs and applications > basically has the same concept; just different terms/usage > less money and time to be spent if ever there was one flexible language > could have complications or errors but could be corrected and updated over time to sustain one programming language that could be used in a smooth flowing manner > creativity & resourcefulness > real-life situations: proposing a new project, conditional thinking in a grocery store/market, what to do when lacking required materials, > how CS subjects are behind the mentalities/reactions/reflexes > salary/job after graduation > tons of job opportunities > chance to change the future > teaches how to think of problems' solutions in tons of ways > improves attitude, personality, mindsets, > return money spent when employed already > ability to improve in personal aspects (confidence, ) > change society's perspectives > gives the ability and potential to be more creative and resourceful > can create/discover something new that can benefit
Activity 4:
[Rewritten] Activity 4:
Topic: Why can't we have just one flexible platform for all programming languages? - All programming languages have one purpose: to make/create programs and applications (reason - for having programming languages) - All programming languages basically have the same concept, they just have different terms/usage. (Definition) - Having a flexible platform could have complications/errors but could be corrected or updated over time to sustain one programming language that could be used in a smooth flowing manner. (Definition) - Examples are C, C++, Java, FORTRAN, etc. A. Reasons Some factors why there are different programming languages: - evolution - preference - simplicity/complex - updates/additions/removals B. Effect Having one flexible platform would cost us less money and time to be spent. Thesis Statement: Although there are DIFFERENT PROGRAMMING LANGUAGES, a FLEXIBLE PROGRAM can be done by sustaining PARADIGMS - object-oriented, block-structured, and such - through updating wherein the programmer will have EASE in creating any kind of program; but none has ever been done.
Reference Table:
[Rewritten] Reference Table:
REFERENCE DETAILS Albacea, E.A. (2003). Concepts in programming languages. Los Banos, Laguna: University of the Philippines Los Banos SUMMARY PARAPHRASE DIRECT QUOTATION R/C/Q A programming language is a system of signs and communication from the user to the computer system. HISTORY: FORTRAN -> Algol- 60 -> Lisp -> COBOL -> APL -> SNOBOL -> BASIC - > Algol-W -> Jovial -> PL/1 -> SIMULA-67 -> Modula-2 -> ADA - > C++ -> Perl -> Python -> Ruby -> PHP -> Java -> Javascript -> Ruby on Rails* * - Bartels, A. (2011). Evolution of computer languages. The Rackspace. Retreived January 26, 2014 from http://www.racks pace.com/blog/inf orgraphicevolution-ofcomputerlanguages/ PARADIGMS: > Imperative languages ~ specify how a computation is performed by sequence of chnages to the random access memory (RAM) ~ tells how computations are solved using a series of " a system for describing computation." (Albacea, 2003, p.1) "pattern for modelling and solving problems." (Albacea, 2003, p.16) > main source/reference for defining "programming languages" > reliable: ~ gave formal definition of "programming languages" ~ gave a gist of the history ~ gave the paradigms and its types ~ gave applications, generations, and levels > gave additional relevant information regarding the history of programming languages
changes to the RAM ~ block-structured - principal building block (stack) - Algol-60, Algol- 68, C, Pascal ~ object-based - employ a group of procedures that share data - Ada, Modula, Smalltalk ~ distributed programming - loosely coupled systems > Declarative Languages ~ logic programming - composed of a series of axioms/facts (based from calculus) ~ functional languages - uses functions that return one value from a list of parameters ~ database langauges - relational to design ~ specify what is to be computed ~ tells what would be solved after the computations APPLICATIONS: > scientific computation - FORTRAN, Algol- 60, Algol-68 > data processing
- COBOL > artificial intelligence - Lisp, Prolog > text processing - SNOBOL, ICON > system programming - C, Ada, Modula > general purpose - PL/1 GENERATIONS: > 1st generation - low-level > 2nd - early 1960s (Algol-60, BASIC, COBOL, FORTRAN) > 3rd - high-level; late 1960s to present (PL/1, C, Ada, Lisp,...) > 4th - domain specific languages (Visual Basic, Visual C++,...) Computer programming. Retrieved January 26, 2014 from http://homepag e.cs.uri.edu/fac ulty/wolfe/book /Readings/Readi LEVELS: > machine language - lowest > assembly languages - lowlevel > high-level languages > very high-level languages - 4 GLs ~ Developing a program involves steps similar to any problem-solving task. There are five main ingredients in the programming process: 1) defining the problem 2) planning the solution 3) coding the program 4) testing the program "Programming helps you understand computers." > additional information (definition of programming languages; major programming lang.) to continue the first reference
ng13.htm > natural - 5GLs; "natural" spoken English MAJOR PROGRAMMING LANGUAGES: > FORTRAN, COBOL, BASIC, Pascal, Ada, C, C++, Java, Javascript 5) documenting the program -> recall from first reference (one-way communication) ~ Before proceeding, it is better to know what programmers do (no matter what language they are using/are "fluent" in). First of all, defining the problem. Programmers need to determine the real goal of the soon-to-be program. Secondly, they plan the solution by creating an algorithm/flowchart. Afterwards, coding and testing the program would be done repeatedly until desired output/objective is attained. Until then, documentation will be made.
Farrell, J. (2011). An objectoriented approach to programming logic and design. (3rd ed., p. 6). United States: Course Technology. (2012). Development of low-level languages. Programming Language. United States: Pearson Education. Retrieved January 26, 2014 from http://www.info please.com/enc yclopedia/scienc e/programminglanguagedevelopmentlow-levellanguages.html > 1st generation - called "machine languages" - uses binary (1s and 0s) for operations then improved to octal, deciaml, and hexadecimal > 2nd generation - "impractical, symbolic, or assembly languages" - uses simple mnemonics (A for addition; M for multiplication) "Newer language statements look much more like natural language Newer languages allow programmers to give meaningful names to memory locations instead of using memory addresses Newer programming languages allow the creation of selfcontained modules or program segments that can be pieced together in a variety of ways." (Farrell, 2011, p.6) > showed what evolved programming languages offer > further elaborated what low-level languages are
(2012).Evolution of high-level languages. Programming Language. United States: Pearson Education. Retrieved January 26, 2014 from http://www.info please.com/enc yclopedia/scienc e/programminglanguageevolution-highlevellanguages.html (Ed).(2014). Quality requirements. computer programming. Retrieved from http://en.wikipe dia.org/wiki/co mputer_progra mming > 3rd generation - "high-level languages" - solves a particular type of problem and needs a compiler to make the program code run - FORTRAN, LISP, COBOL, ALGOL, APL, PL/1, BASIC, ADA, Pascal, C, C++ > 4th generation - nonprocedural by specifying what is to be done without showing it came to be - FORTH, PROLOG, GPSS, SNOBOL, LOGO, PILOT, Occam ~ Whatever the approach to development may be, the final program must satisfy some fundamental properties. The following properties are among the most relevant: > Reliability: how often the results of a program are correct. This depends on conceptual correctness of algorithms, and minimization of programming mistakes, such as mistakes in resource management (e.g., buffer overflows and race conditions) and logic errors (such as division by zero or off-by-one errors). > Robustness: how well a program anticipates problems due to errors (not bugs). This includes situations such as incorrect, inappropriate or > One the other hand, this reference further elaborated the development of high-level languages. > gave the importance of possessing the ease and quality of usage for the programmer and the user themselves
corrupt data, unavailability of needed resources such as memory, operating system services and network connections, user error, and unexpected power outages. > Usability: the ergonomics of a program: the ease with which a person can use the program for its intended purpose or in some cases even unanticipated purposes. Such issues can make or break its success even regardless of other issues. This involves a wide range of textual, graphical and sometimes hardware elements that improve the clarity, intuitiveness, cohesiveness and completeness of a program's user interface. > Portability: the range of computer hardware and operating system platforms on which the source code of a program can be compiled/interpreted and run. This depends on differences in the programming facilities provided by the different platforms, including hardware and operating system resources, expected behavior of the hardware and operating system, and availability of platform specific compilers (and sometimes libraries) for the language of the source code. > Maintainability: the ease with which a program can be modified by its present or future developers in order to make improvements or customizations, fix bugs and security holes, or adapt it to
new environments. Good practices during initial development make the difference in this regard. This quality may not be directly apparent to the end user but it can significantly affect the fate of a program over the long term. > Efficiency/performance: the amount of system resources a program consumes (processor time, memory space, slow devices such as disks, network bandwidth and to some extent even user interaction): the less, the better. This also includes careful management of resources, for example cleaning up temporary files and eliminating memory leaks. ~ Updated programming languages need to be more developed and have to achieve better aspects especially for their quality requirements. First quality requirement is reliability. This can be obtained by depending on the correctness of algorithms and minimization of mistakes (like buffer overflow, race conditions, and off-by-one errors). Second is robustness, wherein it shows how well a program performs problems due to errors and not bugs. Third is usability which shows the ergonomics of a program. Ergonomics, in this matter, is the ease experienced by the person who uses the program. Fourthly, portability is having no difficulty with the range of the computer hardware and its system as it performs compilation and running of
Merriam- Webster dictionary. Retrieved January 26, 2014 from http://www.me rriamwebster.com/di ctionary/flexible the program's source code. It depends on the programming facilities (such as the hardware and system), their behavior and the compilers as well as the libraries available for the language or the system itself. Fifth is the maintainability which shows how much ease can be grasped with the program/s' modification for errors and bugs and/or improvements. Sixth and lastly, efficiency/performance is the amount of time and memory it takes from the system (processor and space, respectively). It is important to take note that the less time and memory it takes, the better. flexible - "characterized by a ready capability to adapt to new, different, or changing requirements" > gave the formal and full definition of the word "flexible" Harris, B. (Ed). (2014). What are some of the different computer programming languages?. Conjecture Corporation. Retrieved Jnauary 26, 2014 from http://www.wis egeek.com/wha t-are-some-of- > Visual BASIC - high-level programming language by Microsoft - came from BASIC > Pascal - by Professor Niklaus Wirth - imperative > FORTRAN - general purpose - made by IBM > C++ - high-level > gave additional information for some specific and famous languages
the-differentcomputerprogramminglanguages.htm - general purpose - by Bjarne Stroustrup for UNIX