CG1111A - Mod Review

| ⌛ 4 minutes read

📋 Tags: NUS Modreview Essay


Engineering Principles and Practice 1 (EPP1)

CG1111A, aka EPP1 is the very first CEG module NUS Computer Engineering students will be taking.
This is the highlight module for the semester (apart from CS1010), so look forward to it!

I will be sharing my experience based on the AY 21/22 Semester 1 iteration.

CG1111A is conducted in a flipped classroom format where content learning is done asynchronusly and the hands-on learning done via labs and tutorials.

This module is more hardware-focussed than software. Be prepared to dive straight into breadboarding and debugging your jungle of circuits1. There will also be some circuit math involved (JC physics stuff) too!

Consider this module a bootstrap for basic electronic prototyping - after this mod you should be able to build simple sensor systems. Couple this knowledge with the later CG2111A mod you should in theory be able to build hardware-software projects on your own.

In my subjective opinion, this module is very manageable. Practice is very important for this module as alot of the things you will be doing like circuit math and breadboarding can only honed with practice.

tl;dr Overview

Difficulty:
HARD ⭐⭐⭐/5

Workload:
MODERATE ⭐⭐⭐/5

Enjoyment:
HARDWARE GEEKS REJOICE ⭐⭐⭐⭐/5

Syllabus

Topics taught include:

  1. Sensor Physics: Resistors, Capacitors, Inductors
  2. DC circuit physics
  3. Node Voltage Analysis ⭐
  4. AC circuit physics (phasor analysis)❗2
  5. Diodes, Op-Amps, Filters
  6. Acoustic, Photoelectric Sensors

Grading

I forgot the exact breakdown but these are the major components.

  • Graded labs, usually 1 per week
  • 2 quizzes, your midterms and finals. Do PYP and it should be relatively fine.
  • Project Run (Build a robot to autonomously navigate a maze with various challenges…)
  • Project Documentation (How did you program and design your robot?)

Review & Advice

Quizzes

The quizzes are not too hard - practice the tutorials faithfully and you will be in good hands.

Project

The project involves building a robot vehicle (named mBot). Your mBot needs to autonomously navigate a maze and complete challenges at each waypoint.

Later iterations of CG1111A will have a harder time if they decide to add in more sensors as a graded component.

For my batch, we had to interface Infrared, Ultrasonic, Color Detection sensors into mBot. Due to COVID restrictions, the teaching team cut out acoustic sensors from the project requirements. That component is usually the timesink, so take care, future CEG student…

Be prepared to prototype fast and systematically. Unfortunately, when it comes to hardware, you will experience the mother of all abstraction leaks – real life (physics).

For example, two identical motors that are programmed to run at 100% power will NOT run at the same speed. Different lighting conditions will cause your Color sensor to output different values. The different surfaces of the table will result in different turning behaviour. Your infrared readings fluctuate due to the environment. Etc, etc.

This is where systematic testing comes into play. Control external variables where possible, and record down data. There are plenty of ways to identify sensor behaviour patterns and program against external influences. What these methods are will be left as an exercise to the reader, whom is in all likelihood a CEG1 student 😝.

Specific Tips

Phasor analysis:
Don’t panic when you learn this topic. Complex numbers will be involved but it’s not too bad! The workings might be tedious but it is doable. Practice, practice, practice.

A shortcut formula that was useful for me to quickly bring up the complex term to the numerator. You may need this:

$1/(n \pm mi) = 1/(n^2+m^2) \ \mp \ i/(n^2+m^2)$

Resistors:
You will use alot of resistors. How do we tell apart the resistors' values? We can measure it, but we can also look at the color bands on them. This should be explained to you in your first lesson.
Consider downloading a resistor color code calculator or having a tool like this bookmarked.

To future CEG freshies, all the best!


  1. You will appreciate software debugging after this. ↩︎

  2. Here be complex numbers… ↩︎