E-Portfolio. Submitted by: Reneé Dominique M. Castillo. Section: S20A. Date:

Similar documents
E-Portfolio. Submitted by: Reneé Dominique M. Castillo. Section: S20A. Date:

Topic I. Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003.

Concepts in Programming Languages

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)

Introduction. A. Bellaachia Page: 1

Organization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)

General Concepts. Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design

Discovering Computers 2008

What is a programming language?

Low-Level Languages. Computer Programs and Programming Languages

Programming Languages 2nd edition Tucker and Noonan"

CS101 Introduction to Programming Languages and Compilers

Why are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?

Principles in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2014 Euiseong Seo

Discovering Computers Chapter 13 Programming Languages and Program Development

CS508-Modern Programming Solved MCQ(S) From Midterm Papers (1 TO 22 Lectures) BY Arslan

CSc 372 Comparative Programming Languages

Principles of Programming Languages. Lecture Outline

Early computers (1940s) cost millions of dollars and were programmed in machine language. less error-prone method needed

8/27/17. CS-3304 Introduction. What will you learn? Semester Outline. Websites INTRODUCTION TO PROGRAMMING LANGUAGES

INFS 214: Introduction to Computing

CSC 326H1F, Fall Programming Languages. What languages do you know? Instructor: Ali Juma. A survey of counted loops: FORTRAN

LECTURE 1. Overview and History

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University

CPSC 427: Object-Oriented Programming

Principles in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2015 Euiseong Seo

CS 3304 Comparative Languages. Lecture 1: Introduction

Language Translation, History. CS152. Chris Pollett. Sep. 3, 2008.

CS2303 C14 Systems Programming Concepts. Bob Kinicki

Programming Paradigms

Concepts of Programming Languages

Objective: To learn meaning and concepts of programming. Outcome: By the end of this students should be able to describe the meaning of programming

Computer Principles and Components 1

Part (04) Introduction to Programming

Programming Languages, Summary CSC419; Odelia Schwartz

Introduction to Computer Science I

1/14/2014. Introduction to CSE 1325 Object Oriented Programming (Using Java) Introduction (Cont.) Introduction

PLAGIARISM. Administrivia. Course home page: Introduction to Programming Languages and Compilers

Introduction to Programming Languages and Compilers. CS164 11:00-12:00 MWF 306 Soda

Question No: 1 ( Marks: 1 ) - Please choose one One difference LISP and PROLOG is. AI Puzzle Game All f the given

Lecture 1. Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering?

Why are there so many programming languages?

Introduction to Computers, the Internet and the Web Pearson Education, Inc. All rights reserved.

Final-Term Papers Solved MCQS with Reference

COSC 2P90 Programming Languages & Object-Orientation

Chapter 1. Preliminaries

Programming Language Concepts 1982, 1987, Outline. Period

CS A331 Programming Language Concepts

Lecture 01 & 02 Computer Programming

Languages october 22, 2017 Éric Lévénez < FORTRAN III end-1958 FORTRAN II FORTRAN I october 1956

Chapter 2. Pseudocodes: Speedcoding. 2.2 Minimal Hardware Programming: Pseudocodes. Evolution of the Major Programming Languages

Chapter 2 Preview. Preview. History of Programming Languages. History of Programming Languages. History of Programming Languages

LESSON 13: LANGUAGE TRANSLATION

Multi-Paradigm Approach for Teaching Programming

such a manner that we are able to understand, grasp and grapple with the problem at hand in a more organized fashion.

CS 113: Introduction to

Programming Languages

Compilers. Prerequisites

CSCI 3136 Principles of Programming Languages

CPSC 427: Object-Oriented Programming

CS383 PROGRAMMING LANGUAGES. Kenny Q. Zhu Dept. of Computer Science Shanghai Jiao Tong University

Safe and Secure Software. Ada An Invitation to. Conclusion. Courtesy of. John Barnes. The GNAT Pro Company

Chapter 2. 5 * B => A V 6 7 (subscripts) S 1.n 1.n (data types)

Chapter Twelve. Systems Design and Development


2. Evolution of the Major Programming languages

Java Programming. Zheng-Liang Lu. Java 308 Spring Department of Computer Science & Information Engineering National Taiwan University

Programming Languages FILS Andrei Vasilateanu

Why study Programming Language Concepts? Chapter One. Language Evaluation Criteria. Programming Domains. Readability Writability Reliability Cost

Chapter 5. Names, Bindings, and Scopes

Chapter 1. Preliminaries

Outline. Introduction to Programming (in C++) Introduction. First program in C++ Programming examples

Lecture 1: CS2400 Introduction to Computer Science

COMP 201: Principles of Programming

Read & Download (PDF Kindle) Intro To Java Programming, Comprehensive Version (10th Edition)

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

Chapter 3:: Names, Scopes, and Bindings (cont.)

Control Flow February 9, Lecture 7

Component V Supporting Materials / Learn More Interesting Facts. Interesting Facts

Chapter 2. Evolution of the Major Programming Languages

Logic Programming II & Revision

Com S 541. Programming Languages I

CS2900 Introductory Programming with Python and C++ Kevin Squire LtCol Joel Young Fall 2007

Data Structures And Other Objects Using Java Download Free (EPUB, PDF)

Functional abstraction. What is abstraction? Eating apples. Readings: HtDP, sections Language level: Intermediate Student With Lambda

Functional abstraction

Hardware versus software

BECOME A LOAD TESTING ROCK STAR

CS 415 Midterm Exam Spring 2002

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Chapter 3:: Names, Scopes, and Bindings (cont.)

Outline. Programming Languages 1/16/18 PROGRAMMING LANGUAGE FOUNDATIONS AND HISTORY. Current

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition)

Lecture 2. A Historical View

What Is Computer Science? The Scientific Study of Computation. Expressing or Describing

ON ABANDONING XLISP-STAT 1. INTRODUCTION

Course Syllabus. Programming Language Paradigms. Spring - DIS Copenhagen. Semester & Location: Elective Course - 3 credits.

These are notes for the third lecture; if statements and loops.

7. Mechanical & Electrical calculator:-

Transcription:

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