What does EPC stand for?

EPC can mean many things to many people; to some Europeans it could be: European Payments Council, European Policy Centre, or even European Patent Convention, but to us Engineers, EPC stands for Engineering, Procurement, and Construction; three main activities necessary for the execution of any industrial project.

For starts, the engineering phase usually involves preparing designs and equipment datasheets, dealing with specifications, and preparing “lists”. Lists which contain all the materials and equipment needed for the project and are later used by the procurement department. The procurement department then, purchases everything according to the lists and specifications agreed upon by the contractor (the engineering company) and the client (the owner of the industrial facility). Finally, construction work begins using all the materials and equipment purchased and according to the designs prepared by the engineering department.

But before all that could happen, several steps need to be taken. The first step is the Business Planning Phase, which is done by the client; it involves defining the business opportunity, conducting a technical assessment, and undergoing an economic evaluation, to name a few. The other steps which are done by the engineering company include:


BED, also known as pre-feed is basically a conceptual design done to confirm the feasibility of a project, select technology, refine cost estimate with +/-30% accuracy, and develop process design among others. It typically has a process engineering focus with major equipment identified from an electrical, mechanical, and instrument perspective. Different engineering companies, cover different steps; for instance, Technip’s BED includes: Continue reading “What does EPC stand for?”

Software Development Life Cycle

Waterfall model, also referred to as a linear-sequential life cycle model, is very simple to understand and use. It is a Plan-driven model with separate and distinct phases of specification and development involving a lot of processes: Problem definition, feasibility study, requirement analysis, design, programming & module testing, integration & system testing, delivery, and maintenance. Waterfall model is just one of the four software process models that will be discussed this week. But before we get to that, here is a recap of what you learned last week.

Recap: last week‘s material
Last week, we covered the main zest of software engineering: what it is about and how we should utilize it to produce generic products and custom ones. Evolution of design techniques along with the core principles of software practice were covered as well.

SDLC is a process followed for a software project that is made of a detailed plan describing how to develop, maintain, replace, and alter or enhance specific software. Simply put, it is a methodology for improving software quality and overall development process. It involves six stages:  Continue reading “Software Development Life Cycle”

Algorithm Analysis

Asymptotic analysis is the backbone of algorithm analysis, it attempts to estimate the resource consumption of an algorithm by comparing the relative costs of two or more algorithms for solving the same problem. After reading this post, you should be familiar with three concepts: growth rate, upper and lowers bounds of a growth rate, and how to calculate the Running Time of an algorithm. But before we get to that, here is a recap of what you learned last week.

Recap: last week‘s material
Last week, we covered the main zest of data structures: what it is about and how we should utilize it to solve problems. Design patterns were briefly touched upon and good attributes any algorithm should have were covered as well.

Asymptotic Analysis is an estimation technique that measures the efficiency of an algorithm, or its implementation as the input size of a program increases. Generally, you will need to analyze the time required for an algorithm and the space required for a data structure. Here, is [The Big Five] which are a bunch of functions I will be elaborating on shortly:  Continue reading “Algorithm Analysis”