You are on page 1of 16

Republic of the Philippines

Laguna State Polytechnic University


ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited

LSPU Self-Paced Learning Module (SLM)


Course Emerging Technologies
Sem/AY First Semester/2020-2021
Module No. 1
Lesson Title INTRODUCTION TO AUTOMATION, WEB TESTING, WEB APPLICATION TESTING:
THE BASICS OF WEB APP TEST AUTOMATION, AND SELENIUM AUTOMATION
TESTING
Week
4
Duration
Date

Description
of the
Lesson

Learning Outcomes
Intended Students should be able to meet the following intended learning outcomes:
Learning 
Outcomes  .
Targets/ At the end of the lesson, students should be able to:
Objectives 

Student Learning Strategies


Online Activities A. Online Discussion through OBS via live streaming
(Synchronous/ (Facebook/YouTube/zoom/Google) or via Google meet
You will be directed to attend in a Three-Hour class discussion on the
Asynchronous) nature and types of educational technologies. To have access to the
Online Discussion, refer to this link: ____________________.

The online discussion will happen on October 5, from 10:00-11:00AM.

(For further instructions, refer to your Google Classroom and see the
schedule of activities for this module)

B. Learning Guide Questions:

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
1.
2.
3. ,

Note: The insight that you will post on online discussion forum using Learning Management
System (LMS) will receive additional scores in class participation.

Offline Activities Lecture Guide


(e-Learning/Self-
Paced) INTRODUCTION TO AUTOMATION
Automation
Application of machines to tasks once performed by human beings or,
increasingly, to tasks that would otherwise be impossible. Although the term mechanization
is often used to refer to the simple replacement of human labor by machines, automation
generally implies the integration of machines into a self-governing system.
Automation has revolutionized those areas in which it has been introduced, and
there is scarcely an aspect of modern life that has been unaffected by it.
The term automation was coined in the automobile industry about 1946 to
describe the increased use of automatic devices and controls in mechanized production
lines. The origin of the word is attributed to D.S. Harder, an engineering manager at the
Ford Motor Company at the time. The term is used widely in a manufacturing context, but it
is also applied outside manufacturing in connection with a variety of systems in which there
is a significant substitution of mechanical, electrical, or computerized action for human
effort and intelligence.
In general usage, automation can be defined as a technology concerned with
performing a process by means of programmed commands combined with automatic
feedback control to ensure proper execution of the instructions. The resulting system is
capable of operating without human intervention. The development of this technology has
become increasingly dependent on the use of computers and computer-related technologies.
Consequently, automated systems have become increasingly sophisticated and complex.
Advanced systems represent a level of capability and performance that surpass in many
ways the abilities of humans to accomplish the same activities.
Historical Development
The technology of automation has evolved from the related field of
mechanization, which had its beginnings in the Industrial Revolution. Mechanization refers
to the replacement of human (or animal) power with mechanical power of some form. The
driving force behind mechanization has been humankind’s propensity to create tools and
mechanical devices. Some of the important historical developments in mechanization and
automation leading to modern automated systems are described here.
Early Developments
The first tools made of stone represented prehistoric man’s attempts to direct his
own physical strength under the control of human intelligence. Thousands of years were
undoubtedly required for the development of simple mechanical devices and machines such

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
as the wheel, the lever, and the pulley, by which the power of human muscle could be
magnified. The next extension was the development of powered machines that did not
require human strength to operate.
More than 2,000 years ago the Chinese developed trip- hammers powered by
flowing water and waterwheels. The early Greeks experimented with simple reaction
motors powered by steam. The mechanical clock, representing a rather complex assembly
with its own built-in power source (a weight), was developed about 1335 in Europe.
Windmills, with mechanisms for automatically turning the sails, were developed during the
Middle Ages in Europe and the Middle East. The steam engine represented a major advance
in the development of powered machines and marked the beginning of the Industrial
Revolution. During the two centuries since the introduction of the Watt steam engine,
powered engines and machines have been devised that obtain their energy from steam,
electricity, and chemical, mechanical, and nuclear sources.
Modern Developments
A number of significant developments in various fields have occurred during the
20th century: the digital computer, improvements in data-storage technology and software
to write computer programs, advances in sensor technology, and the derivation of a
mathematical control theory. All these developments have contributed to progress in
automation technology.
Advances in sensor technology have provided a vast array of measuring devices
that can be used as components in automatic feedback control systems. These devices
include highly sensitive electromechanical probes, scanning laser beams, electrical field
techniques, and machine vision. Some of these sensor systems require computer technology
for their implementation. Machine vision, for example, requires the processing of enormous
amounts of data that can be accomplished only by high-speed digital computers. This
technology is proving to be a versatile sensory capability for various industrial tasks, such
as part identification, quality inspection, and robot guidance.
Theory of control systems. The theory includes traditional negative feedback
control, optimal control, adaptive control, and artificial intelligence. Traditional feedback
control theory makes use of linear ordinary differential equations to analyze problems, as in
Watt’s flying-ball governor.
Artificial intelligence is an advanced field of computer science in which the
computer is programmed to exhibit characteristics commonly associated with human
intelligence. These characteristics include the capacity for learning, understanding
language, reasoning, solving problems, rendering expert diagnoses, and similar mental
capabilities.
Benefits of Automation
Automation encompasses many vital elements, systems, and job functions.
Automation provides benefits to virtually all of industry. Here are some examples:
 Manufacturing including food and pharmaceutical, chemical and
petroleum, pulp and paper
 Transportation including automotive, aerospace, and rail
 Utilities including water and wastewater, oil and gas, electric power, and
telecommunications

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
 Facility operations including security, environmental control, energy
management, safety, and other building automation
Automation crosses all functions within industry from installation, integration, and
maintenance to design, procurement, and management. Automation even reaches into the
marketing and sales functions of these industries.
Automation involves a very broad range of technologies including robotics and
expert systems, telemetry and communications, electro-optics, Cybersecurity, process
measurement and control, sensors, wireless applications, systems integration, test
measurement, and many, many more.
Automation and Society
Over the years, the social merits of automation have been argued by labor leaders,
business executives, government officials, and college professors. The biggest controversy
has focused on how automation affects employment. There are other important aspects of
automation, including its effect on productivity, economic competition, education, and
quality of life. These issues are explored here.
Impact on the individual
Nearly all industrial installations of automation, and in particular robotics, involve
a replacement of human labor by an automated system. Therefore, one of the direct effects
of automation in factory operations is the dislocation of human labour from the workplace.
The long-term effects of automation on employment and unemployment rates are debatable.
Most studies in this area have been controversial and inconclusive. Workers have indeed
lost jobs through automation, but population increases and consumer demand for the
products of automation have compensated for these losses.
Labour unions have argued, and many companies have adopted the policy, that
workers displaced by automation should be retrained for other positions, perhaps increasing
their skill levels in the process. This argument succeeds so long as the company and the
economy in general are growing at a rate fast enough to create new positions as the jobs
replaced by automation are lost.
Automation affects not only the number of workers in factories but also the type of
work that is done. The automated factory is oriented toward the use of computer systems
and sophisticated programmable machines rather than manual labour. Greater emphasis is
placed on knowledge-based work and technical skill rather than physical work. The types of
jobs found in modern factories include more machine maintenance, improved scheduling
and process optimization, systems analysis, and computer programming and operation.
Consequently, workers in automated facilities must be technologically proficient to perform
these jobs. Professional and semi-professional positions, as well as traditional labour jobs,
are affected by this shift in emphasis toward factory automation.
Impact on Society
Besides affecting individual workers, automation has an impact on society in
general. Productivity is a fundamental economic issue that is influenced by automation. The
productivity of a process is traditionally defined as the ratio of output units to the units of
labour input. A properly justified automation project will increase productivity owing to
increases in production rate and reductions in labour content. Over the years, productivity

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
gains have led to reduced prices for products and increased prosperity for society.

A number of issues related to education and training have been raised by the
increased use of automation, robotics, computer systems, and related technologies. As
automation has increased, there has developed a shortage of technically trained personnel to
implement these technologies competently. This shortage has had a direct influence on the
rate at which automated systems can be introduced. The shortage of skilled staffing in
automation technologies raises the need for vocational and technical training to develop the
required work-force skills. Unfortunately the educational system is also in need of
technically qualified instructors to teach these subjects, and the laboratory equipment
available in schools does not always represent the state-of-the-art technology typically used
in industry.

WEB TESTING
Web Testing, or website testing is checking your web application or website for
potential bugs before its made live and is accessible to general public. Web Testing checks
for functionality, usability, security, compatibility, performance of the web application or
website.
During this stage issues such as that of web application security, the functioning of
the site, its access to handicapped as well as regular users and its ability to handle traffic is
checked.
How to test Web Application?
In Software Engineering, the following testing types/technique may be performed
depending on your web testing requirements.
Functionality Testing
Functionality Testing of a Website is a process that includes several testing
parameters like user interface, APIs, database testing, security testing, client and server
testing and basic website functionalities. Functional testing is very convenient and it allows
users to perform both manual and automated testing. It is performed to test the
functionalities of each feature on the website.
Web based Testing Activities includes:
Test all links in your webpages are working correctly and make sure there are no
broken inks. Links to be checked will include –
• Outgoing links
• Internal links
• Anchor Links
• MailTo Links

Test Forms are working as expected. This will include:


 Scripting checks on the form are working as expected. For example- if a user does
not fill a mandatory field in a form an error message is shown.
 Check default values are being populated

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
 Once submitted, the data in the forms is submitted to a live database or is linked to
a working email address
 Forms are optimally formatted for better readability
Test business workflow. This will include:
• Testing your end – to – end workflow/ business scenarios which takes the user
through a series of webpages to complete.
• Test negative scenarios as well, such that when a user executes an unexpected step,
appropriate error message or help is shown in your web application.

Usability Testing
Usability Testing has now become a vital part of any web based project. It can be
carried out by testers like you or a small focus group similar to the target audience of the
web application.
Test the site Navigation:
 Menus, buttons or Links to different pages on your site should be
easily visible and consistent on all webpages
Test the Content:
 Content should be legible with no spelling or grammatical errors.
 Images if present should contain an “alt” text
Interface Testing
Three areas to be tested here are – Application, Web and Database Server
• Application: Test requests are sent correctly to the Database and output at the client
side is displayed correctly. Errors if any must be caught by the application and must
be only shown to the administrator and not the end user.
• Web Server: Test Web server is handling all application requests without any
service denial.
• Database Server: Make sure queries sent to the database give expected results.

Test system response when connection between the three layers (Application, Web
and Database) cannot be established and appropriate message is shown to the end user.

Database Testing
Database is one critical component of your web application and stress must be laid
to test it thoroughly. Testing activities will include-
• Test if any errors are shown while executing queries
• Data Integrity is maintained while creating, updating or deleting data in database.
• Check response time of queries and fine tune them if necessary.
• Test data retrieved from your database is shown accurately in your web application

Compatibility Testing
Compatibility tests ensure that your web application displays correctly across
different devices. This would include-
Browser Compatibility Test: Same website in different browsers will display
differently. You need to test if your web application is being displayed correctly across
browsers, JavaScript, AJAX and authentication is working fine. You may also check for
Mobile Browser Compatibility.

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
The rendering of web elements like buttons, text fields etc. changes with change in
Operating System. Make sure your website works fine for various combination of Operating
systems such as Windows, Linux, Mac and Browsers such as Firefox, Internet Explorer,
Safari etc.

Performance Testing
This will ensure your site works under all loads. Software Testing activities will
include but not limited to –
• Website application response times at different connection speeds
• Load test your web application to determine its behavior under normal and peak
loads
• Stress test your web site to determine its break point when pushed to beyond normal
loads at peak time.
• Test if a crash occurs due to peak load, how does the site recover from such an
event
• Make sure optimization techniques like gzip compression, browser and server side
cache enabled to reduce load times

Security Testing
Security Testing is vital for e-commerce website that store sensitive customer
information like credit cards. Testing Activities will include-

• Test unauthorized access to secure pages should not be permitted


• Restricted files should not be downloadable without appropriate access
• Check sessions are automatically killed after prolonged user inactivity
• On use of SSL certificates, website should re-direct to encrypt SSL pages.

Crowd Testing
You will select a large number of people (crowd) to execute tests which otherwise
would have been executed a select group of people in the company. Crowd sourced testing
is an interesting and upcoming concept and helps unravel many an unnoticed defects.

Web Application Testing: The Basics of Web App Test Automation


Web Testing
As more traditional front and back-office applications are migrating from desktop to
web-based interfaces, testing the functionality of web applications is becoming highly
critical. For that reason, learning what and how to automate is a crucial component of
successful web app testing.
Web testing, or web application testing, is a software practice that ensures quality
by testing that the functionality of a given web application is working as intended or as per
the requirements. Web testing allows you to find bugs at any given time, prior to a release,
or on a day-to-day basis.
Testing is a highly important part of software development. Whenever there’s a
change in the code, no matter how small, bugs can appear somewhere else in the system.
The cost of fixing these bugs also rises with time, so having effective web testing in place
will ensure you’re time and money in the development of your application.

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited

How to test Web Applications?


Creating a top-notch web application requires a lot of testing which, if performed
manually, can be tedious and time-consuming. For this reason, many QA teams rely on
automation to create fast, efficient, and reliable test cases for their web applications.
Test automation offloads these routine and repetitive testing tasks from humans to
machines. The tests compare actual outcomes with predicted outcomes. This approach can
help find bugs in specific operations and simple-use cases (e.g. logging in, creating a new
account, doing password resets).
By automating web application tests, testers are able to save time and effort on
monotonous tasks because automated tests can be run continuously or scheduled at
intervals. By offloading testers from these time-consuming tasks, they can focus on
exploratory testing or other tests that require a human perspective.
Still, we shouldn’t think of automation as a plug-and-play system that requires no
human intervention. Effective automation requires testers to have a thorough knowledge of
the software under test, as well as an “automation first” mind-set.

What can you Automate?


There are different test cases you can automate depending on your business
objectives.
Nowadays, more and more components of the life cycle are being automated, but
you should choose those that best suit the capabilities of your testing team.
These are the types of tests that you can automate for web applications:

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited

Functionality Testing
Functional testing is used to ensure that functionality, specified as part of the
software requirements, works as intended from the end user’s perspective. It is common
knowledge that the test process that uncovers the most bugs is letting the end-user use the
software.
A single end-user can make the whole system crash in minutes, even after unit,
integration, and performance tests have passed. This usually happens because the user does
something the developers did not expect.
Automating tests, as specified by the requirements, will ensure that the web
application is working as intended. However, functional test automation cannot fully
replace the human perspective. That’s why you should always supplement your automated
test cases with exploratory testing to provide a positive user experience.

Regression Testing
Regression testing can be described as “repeated functional testing”. It is used to
make sure that software’s functionality continues to work after parts of it have been
modified with new code or configuration. For instance, when new features are built,
regression testing ensures that old features of the software continue to work as intended.
Automated regression testing uses computer-based tools and techniques to test
software that has been changed or updated. An automated process allows for the
development of automated systems that re-run all regression tests at specified intervals,
such as daily or weekly, and report any failure.
When regression testing is automated, you can quickly and reliably run through
simple scenarios and check a variety of changes to get fast feedback. This, in turn, frees up
time for testers to focus on product improvement or conduct manual exploration into more
unusual cases that require special attention.

Cross-browser Testing
Cross-browser testing ensures that your web application is performing as expected
across different browsers, both on desktop and mobile.
This is important because browsers tend to be updated fairly frequently, meaning
that by the time you are ready to deploy your application, it might not work as intended in
your target browsers.

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
Not only that, users might be using the latest browser version but in an old
operating system. Therefore, automating crow-browser testing ensures the continuous
compatibility between your web application and the specified versions of operating
systems, browsers and devices.

Performance Testing
Performance testing, such as stress and load testing, ensures that a web application
can endure extended periods of activity or peak user loads. Reaching the necessary stress
conditions or load level wouldn’t be feasible if done manually, therefore automation is key
in proving that your application can perform in any situation
.
Web app test automation best practices
Before you start automating your web application tests, make sure you draft a test
automation strategy to keep you on track. Things to keep in mind before you start
automation are:

1. What are the specific requirements of your web application?


2. What do you need to automate?
3. Which test automation tool best suits your requirements and goals?
4. How much maintenance will automation require?

Always start small and, once you’re comfortable, start scaling your automation
efforts. No one wants to end up with hundreds of automated test cases that are impossible to
maintain.
Make sure you don’t fall into the 'test automation paradox', where test automation
was supposed to enable efficient software development and free up resources, but it actually
brings with it an array of new costly tasks and never-ending maintenance.

Successful web application testing requires effective test automation processes,


clear communication within the team, an efficient strategy, and an automation tool that
doesn’t impair testers, but enables them.

Selenium IDE
How to add Selenium IDE in Browser
1. Search for Selenium IDE Extension in Google chrome

https://chrome.google.com/webstore/detail/seleniumide/
mooikfkahbdckldjjndioackbalphokd?hl=en

2. Click ‘Add to Chrome’ and click add Extension

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
3. Check extension if added, click the puzzle icon, Selenium IDE must be present.

Introduction to Selenium Automation Testing


What is Selenium?
Selenium is a free (open-source) automated testing framework used to validate web
applications across different browsers and platforms. You can use multiple programming
languages like Java, C#, Python etc. to create Selenium Test Scripts. Testing done using the
Selenium testing tool is usually referred to as Selenium Testing.

Selenium Software is not just a single tool but a suite of software, each piece
catering to different Selenium QA testing needs of an organization. Here is the list of tools
• Selenium Integrated Development Environment (IDE)
• Selenium Remote Control (RC)
• WebDriver
• Selenium Grid

At the moment, Selenium RC and WebDriver are merged into a single framework
to form Selenium 2. Selenium 1, by the way, refers to Selenium RC.

Who developed Selenium?


Primarily, Selenium was created by Jason Huggins in 2004. An engineer at
ThoughtWorks, he was working on a web application that required frequent testing. Having
realized that the repetitious Manual Testing of their application was becoming more and
more inefficient, he created a JavaScript program that would automatically control the
browser’s actions. He named this program as the “JavaScriptTestRunner.”

Seeing potential in this idea to help automate other web applications, he made

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
JavaScriptRunner open-source which was later re-named as Selenium Core

Birth of Selenium IDE


Shinya Kasatani of Japan created Selenium IDE, a Firefox extension that can
automate the browser through a record-and-playback feature. He came up with this idea to
further increase the speed in creating test cases. He donated Selenium IDE to the Selenium
Project in 2006.

So, why the name Selenium?


The Name Selenium came from a joke which Jason cracked once to his team.
During Selenium’s development, another automated testing framework was popular made
by the company called Mercury Interactive (yes, the company who originally made QTP
before it was acquired by HP). Since Selenium is a well-known antidote for Mercury
poisoning, Jason suggested that name and his teammates took it. So that is how we got to
call this framework up to the present.

Brief Introduction to Selenium IDE


Selenium Integrated Development Environment (IDE) is the simplest framework in
the Selenium suite and is the easiest one to learn. It is a Firefox plugin that you can install
as easily as you can with other plugins. However, because of its simplicity, Selenium IDE
should only be used as a prototyping tool. If you want to create more advanced test cases,
you will need to use either Selenium RC or WebDriver.

How to Choose the Right Selenium Tool for Your Need

Tool Why Choose?


Selenium IDE  To learn about concepts on automated testing and
Selenium, including:
Selenese commands such as type, open,
clickAndWait, assert, verify, etc.
Locators such as id, name, xpath, css selector, etc.
Executing customized JavaScript code using
runScript
Exporting test cases in various formats.
To create tests with little or no prior knowledge in
programming.
 To create simple test cases and test suites that you can
export later to RC or WebDriver.
 To test a web application against Firefox and Chrome
LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS
only.
Selenium RC  To design a test using a more expressive language than
Selenese
Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited

Engaging Activities

Performance Tasks

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
PT 1

Directions

Understanding Directed Assess

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited

Most of the assessment in Data Structures and Algorithms programming based, here’s the rubric
for programming problems.

Programming assignments/ activities will be graded based on a 32-point rubric.

About the categories in the rubric:


• Rough Draft: You should submit or show your rough draft within the given period of time.
• Program Correctness: You program should work correctly on all inputs. Also, if there are any
specifications about how the program should be written, or how the output should appear, those
specifications should be followed.
• Readability: Variables and functions should have meaningful names. Code should be organized into
functions/methods where appropriate. There should be an appropriate amount of white space so that
the code is readable, and indentation should be consistent.
• Documentation: Your code and functions/methods should be appropriately commented. However,
not every line should be commented because that makes your code overly busy. Think carefully about
where comments are need ed.
• Code Elegance: There are many ways to write the same functionality into your code, and some of
them are needlessly slow or complicated. For example, if you are repeating the same code, it should be
inside creating a new method/function or for loop.
• Assignment Specifications: The assignment will likely ask you to include certain information as
comments, or save your program with a certain file name, or other such specifications. These tasks fall
under “assignment specifications.”

Rough Draft 2 points 1 point 0 point


Submitted and Submitted the No rough draft
showed the rough rough draft but not submitted.
draft within the within the given
given period of period of time.
time.
Program 15 points 10 points 5 points 0 point
Correctness
Program always Minor details of the Significant details Program does not
works program of specification are compile, or errors
correctly and meets specification are violated, or the occur on input
the violated, program program often similar to sample.
specifications functions exhibits incorrect
incorrectly on some behavior.
inputs.
Readability 6 points 4 points 2 points 0 point
Code is clean, Minor issues such At least one major Several major
understandable, as issue issues that make it
well-organized inconsistent that makes it difficult to read.
indentation, difficult to
variable naming, read
general

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS


Republic of the Philippines
Laguna State Polytechnic University
ISO 9001:2015 Certified
Province of Laguna
Level I Institutionally Accredited
organization
Documentation 3 points 2 points 1 points 0 point
Code is well One or two places Major lack of No comments.
commented. could benefit from comments make it
comments, or the difficult to
code is overly understand code
commented
Code Elegance 4 points 2 points 0 point
Code appropriately Code uses a poorly Many instances
uses for loops and chosen approach in where code could
methods for at least one place, have used
repeated code, and for example, hard easier/faster/bette
there is minimal coding something r approach.
hard-coding. that could be
implemented
through a for loop
Assignment 2 points 1 points 0 point
specifications
Assignment meets Minor Significant
specifications specifications are specifications
violated ignored or violated

Learning Resources
T. Cormen, C. Leiserson, R. Rivest and C. Stein, Introduction to Algorithms 3 rd Edition, London,
England, MIT Press, 2010

R. Sedgewick and K. Wayne, Algorithms 4th Edition, United States of America, Pearson Education
Inc., 2011

G. Heineman, G. Pollice and S. Selkow, Algorithm in a Nutshell, United States of America, O’ Reilly
Media Inc., 2016

A. Bhargava, Grokking Algorithms, India, Manning Publications, 2016

https://www.codementor.io/learn-programming/3-essential-algorithm-examples-you-should-know

https://www.programiz.com/dsa/algorithm

LSPU SELF-PACED LEARNING MODULE: DIFFERENTIAL EQUATIONS

You might also like