Clark School Home UMD

ENEE148A Programming Elements for Electrical Engineers

Credit & Contact Hours:

3 credits (2 hours lecture, 0 hours recitation, 3 hours laboratory)

Course Description:

A problem-based introduction to C programming in the context of microcontroller applications. This course provides an introduction to C programming in the context of simple electrical engineering applications and also teaches elements of sensor and actuator operation, communications, control, and circuit theory.



Course Oversight:

Computer Engineering

Course Objectives:

  • Appreciation for the enabling role of programmable devices in technological systems and applications.
  • Operational familiarity with elementary programming concepts: program flow, data types, arrays and memory, logic and arithmetic operations, and functions.
  • Ability to utilize good programming practices to write efficient, clear, and maintainable code.
  • Ability to use an IDE to write, debug, load and run code to solve engineering problems and to perform basic calculations, input and output. 
  • Understanding of the operation of basic electronic components, sensors and actuators.
  • Ability to work effectively in teams.
  • Ability to communicate effectively in written and oral formats.



​Topics Covered:

  • C programming:
    • basics
    • program flow
    • data types 
    • logic and arithmetic operations
    • functions 
    • arrays
    • input / output
    • memory 
  • IDE interfaces
  • Sensors, e.g. Photosensors, temperature sensors, proximity sensors, accelerometers
  • Motors and motor controllers, relays
  • Basic elements of circuit theory
  • Basic engineering design elements



Learning Outcomes

  • Ability to apply knowledge of mathematics, science, and engineering (Moderate)
  • Ability to design a system, component, or process to meet desired needs (Significant)
  • Ability to to identify, formulate, and solve engineering problems (Significant)
  • Recognition of the need for, and an ability to engage in life-long learning (Significant)
  • Ability to use the techniques, skills, and modern engineering tools necessary for engineering practice (Significant)