PEC EPE Computer & Allied common mistakes
PEC EPE Computer & Allied · Understand the traps and how to avoid them.
When converting a binary or hexadecimal number to decimal, the candidate multiplies each digit by its position index instead of by the base raised to that position (e.g., reading 1011₂ as 1·3 + 0·2 + 1·1 + 1·0), producing a wrong decimal value and then carrying that error through the rest of the problem.
The candidate memorized 'multiply digit by place value' from decimal arithmetic but never re-anchored the place weights to the new base, so the leftmost digit is treated as weight 3 or 4 rather than 2^(n-1). Under time pressure the familiar decimal pattern overrides the correct positional rule.
What to do instead
Before computing, write the weight ladder explicitly above the digits (for 1011₂: 8 4 2 1) and place each digit under its weight; for hex use 16^3 16^2 16^1 16^0. Practice five conversions of each type with the ladder written out until it becomes automatic, then verify by converting back (decimal to binary) as a self-check.
The candidate writes a C loop or pointer traversal that reads one element past the end of an array (off-by-one in the loop bound, e.g., i <= n instead of i < n) and then predicts the program's output as if the extra element were valid data, rather than recognizing undefined behavior.
Candidates translate 'process all n elements' into a bound test that includes n, because the index of the last element (n-1) feels counterintuitive. They also assume the out-of-bounds read returns zero, which is a common but false mental model of memory.
What to do instead
Adopt the invariant 'valid indices are 0..n-1' and write the loop condition as i < n every time; when tracing output, explicitly mark the first invalid index and state that the value there is undefined, not zero. Trace a small example (n=3) by hand and annotate each index before answering.
In a combinational logic problem the candidate derives a simplified Boolean expression but then builds or evaluates the circuit using the un-simplified form, or applies a Karnaugh-map grouping that is not a power-of-two rectangle (e.g., grouping three adjacent 1s), producing a function that differs from the truth table on some input.
K-map grouping rules (groups must be 1, 2, 4, 8 cells; wrap-around allowed; overlap permitted) are easy to state but easy to violate when cells are scattered. Candidates also forget that a don't-care can be used to enlarge a group but not to create a group of 1s alone.
What to do instead
After every K-map, verify the simplified expression against the original truth table for all input combinations, especially the minterms not covered by any group. Circle each group and count its cells to confirm a power of two, and re-check wrap-around edges (top-bottom, left-right) as adjacent.
The candidate computes real power, reactive power, and apparent power in a single-phase or three-phase circuit by mixing formulas: using S = VI without the √3 factor for a three-phase line-to-line voltage, or adding P and Q arithmetically (P + Q) instead of vectorially (S = √(P² + Q²)), and reports a power factor that does not match the load angle.
The three-phase √3 factor and the complex-power triangle are taught separately from single-phase formulas, and candidates default to the simpler single-phase expression. Arithmetic addition of P and Q feels natural because both are in watts or vars and the units look additive.
What to do instead
Write the complex power identity S = P + jQ = √3·V_LL·I_L* (for balanced three-phase) at the top of the scratch work and substitute before computing. Always check that pf = P/S = cos φ and that S ≥ P; if the computed pf exceeds 1 or S < P, the arithmetic is wrong.
For a fault-current or per-unit problem, the candidate changes the base power or base voltage for only one component (e.g., a transformer) and leaves the rest of the network on the original base, then adds per-unit impedances that are referenced to different bases as if they were directly comparable.
Per-unit conversion requires the Z_pu,new = Z_pu,old·(S_new/S_old)·(V_old/V_new)² formula, which candidates often apply to only the changed quantity. Because per-unit values are dimensionless, mismatched bases are invisible in the numbers and the error does not announce itself.
What to do instead
Choose one system base (S_base, V_base) at the start and write it at the top of the page; convert every component to that base using the full transformation formula, showing old and new base values side by side. Before summing impedances, verify each is tagged with the same S_base and V_base.
When asked which protective device operates first for a given fault, the candidate compares only the pickup (minimum operating) currents of the relays or fuses and ignores the time-current characteristics, so a device with a lower pickup but a long time delay is wrongly chosen over one with a higher pickup and instantaneous element.
Pickup current is a single number and easy to compare, while time-current curves require reading a graph at the actual fault current. Candidates default to the simpler comparison and forget that coordination is about time as well as magnitude.
What to do instead
For every coordination question, plot or read both devices' curves at the specific fault current and compare operating times, not just pickup thresholds. State the fault current, read each device's time at that current, and select the one that trips first while preserving the intended backup margin.
The candidate determines the stability of a closed-loop system from the open-loop transfer function alone, or counts right-half-plane poles of the open-loop system as if they were closed-loop poles, instead of applying the Routh-Hurwitz criterion to the characteristic equation 1 + G(s)H(s) = 0.
The open-loop transfer function is the given data, and candidates treat its poles as the system's poles. The distinction between open-loop and closed-loop poles, and the need to form the characteristic polynomial first, is a conceptual gap rather than an arithmetic slip.
What to do instead
Always form the characteristic equation 1 + G(s)H(s) = 0, expand it to a polynomial in s, and build the Routh array from that polynomial's coefficients. As a sanity check, compare the number of sign changes in the first column with the expected number of unstable closed-loop poles.
In a sampling or signal-processing problem the candidate applies the Nyquist criterion by comparing the sampling frequency to the signal frequency rather than to twice the highest signal frequency, or ignores aliasing when a signal contains components above f_s/2, and reports a reconstructed frequency equal to the original.
The factor of two is easy to drop, and the phrase 'Nyquist frequency' is often confused with 'Nyquist rate'. Candidates also assume sampling is lossless for any frequency, missing that components above f_s/2 fold to a different apparent frequency.
What to do instead
State f_s > 2·f_max explicitly before answering, and for any component above f_s/2 compute its aliased frequency as |f - k·f_s| for the nearest integer k. Verify the reconstructed frequency lies in [0, f_s/2]; if the problem gives a component above that range, flag aliasing in the answer.
For an op-amp circuit the candidate applies the ideal gain formula (e.g., -R_f/R_in for an inverting amplifier) without checking that the op-amp is operating in its linear region, so a design that would drive the output beyond the supply rails is reported as a valid linear amplifier with the calculated gain.
The ideal op-amp model with virtual short and infinite gain is taught first and reinforced by formula drills; saturation is a second-order check that candidates skip. The arithmetic produces a clean number, so nothing signals that the assumption failed.
What to do instead
After computing the ideal output, compare it to the supply rails (±V_sat, typically slightly below ±V_cc). If |V_out| exceeds the rail, state that the op-amp saturates and the output clamps to the rail, and the linear gain formula no longer applies. Make this rail check the final step of every op-amp problem.
When facing an ethics or professional-practice scenario, the candidate answers with the legally permitted action or the action that serves the employer's interest, rather than the action required by the code of ethics (public safety, competence, disclosure of conflicts), and justifies it by saying 'the client approved it' or 'it is not explicitly prohibited'.
Candidates treat ethics questions as legal-compliance questions and look for a rule that forbids the conduct. Because engineering codes are principle-based (hold paramount public safety, practice only within competence), the absence of an explicit prohibition is misread as permission.
What to do instead
For each scenario, identify the paramount obligation first (public safety and welfare), then the specific duty (competence, honesty, conflict disclosure, confidentiality limits). Choose the option that satisfies the paramount obligation even if it conflicts with the client's or employer's preference, and reject options justified only by approval or silence.