ET 154 Computer Programming


ET154 Computer Programming C 1, P 2, CR 2

This is a foundation course in computer programming for Electrical Engineering Technology. No previous programming knowledge is assumed. The course uses a high level programming language and examines the available structures on a typical personal computer platform. Programming techniques and algorithm development are presented with real world examples from the electrical field. The use of schematic capture and electrical circuit simulation software is included.


Text: Python Programming for the Absolute Beginner 3E, Dawson, Thomson.

Python for Everybody is a nice, free OER (Open Educational Resource) text. You can download this as a PDF, read it on-line as HTML or buy a print copy.

Laboratory Manual for Computer Programming (pdf)


The student will demonstrate an understanding of programming a digital computer using a high level language.

The student will demonstrate problem analysis and solution techniques using the computer as a tool. These techniques will be applied and expanded upon in subsequent courses in the EET curriculum.

The student will demonstrate a basic knowledge of how to use a modern IDE (integrated development environment).

The student will demonstrate knowledge of the fundamentals of schematic capture.

The student will demonstrate knowledge of the fundamentals of computer circuit simulation.

Through the laboratory, the student will demonstrate practical insight and knowledge of computer systems.

Course Assessment Standards



This course assumes no familiarity with computers. If you feel that you have a sufficient programming background, please see me about testing out, or preferably opting for a more advanced course. Math level is mostly algebra with some trig. Much of our work will revolve around using the Python language to help solve electrical problems. We will also introduce the use of circuit simulation tools such as Electronics Workbench Multisim. A scientific calculator will prove useful. Please note that smart devices will not be allowed during tests. For lab, you'll probably want a USB thumb drive to store your work (space is also available on the student network H drive). Lab exercises are due at the start of the next lab session. A printout of both properly commented program code and results is expected. Hand written code will not be accepted. Late penalty is one letter grade for the first half week late, two letter grades for the second half week. Assignments are not accepted beyond that and receive a grade of 0. Remember, plagiarism is grounds for failure. Although I encourage students to help each other, these assignments are individual works. Anyone caught copying someone else's programs, or allowing someone to copy their programs will receive a grade of 0. (Obtaining proof is much easier than one might think.)

Note: The most recent version of the Python programming language and tools are available at Python runs on many different platforms including Windows, Mac OS X, and Linux and is available for free. Download version 3, not 2.7. A student copy of Multisim (referenced by the Boylestad Circuit Analysis text used in Circuits 1 and & 2) is available for a modest fee from www.electronicsworkbench.comCheck out my home page for free circuit simulators and other OER (Open Educational Resources).

Session-by-session progress and assignments (note, there are two sessions per week which means two lectures and two labs each week for 7 weeks).

The laboratory manual is available as a doc or pdf file at the bottom of this page.


Our first session is an introduction to computers: what they are, the various types, and a representative block diagram. Examples include desktop machines, engineering workstations, and embedded applications. We introduce the ideas of bits and bytes, and look at typical applications such as word processors.

  • Reading: Check out the web sites and (the Multisim site).
  • Problems: If available, install Multisim on your home computer from the Multisim site by following the Academic link to the Student Section. The student edition is free for 30 days. Ater that it may be purchased for a modest fee. Other options include TINA-TI and LT-SPICE (free, see my home page for details).
  • Lab: We start with proper lab safety procedures, network and operating system essentials, student space, etc. We then look at obtaining and installing Multisim and Python.

This session we discuss the idea of circuit simulation and analysis, including schematic capture and virtual instruments.

  • Reading: Notes on Multisim circuit simulator.
  • Problems: Create versions of lab circuits (such as those used in Circuits 1 and Intro to Electronics) using Multisim.
  • Lab: Introduction to Multisim How to create circuit schematics, set component values, and obtain basic operational results.

We extend our discussion of circuit analysis and introduce the concept of PCB layout.

  • Reading: Look through the section on schematic capture basics in Multisim's on-line help.
  • Problems: Make sure that you have downloaded the Python development tools and installed them on your home computer (version 2.7).
  • Lab: Multisim Extensions Advanced features including analysis.

This session we introduce Python programming and note the differences in the various generations of programming languages.We introduce the concepts of variables, statements, and I/O (input/output). In order to appreciate some of the humor found in the on-line Python doc files, if you're not already familiar with Monty Python, be sure to watch the movie Monty Python and the Holy Grail and also Life of Brian and The Meaning of Life, if time allows. 

  • Reading: Chapter one and begin chapter two. 
  • Problems: Challenges one through three at the end of chapter one
  • Lab: Introduction to Python This is an intro to the Python programming environment and initial programming with print statements, basic math and comments.

We continue our introductory material and look at variable types and basic operations (strings and numerics). Also, we examine how to obtain data from the user.

  • Reading: Finish chapter two.
  • Problems: Challenges one through four at the end of chapter two.
  • Lab: Obtaining User Data We create a simple Ohm's Law calculator.

Extensions of strings and numeric operations are the subjects of this week, including conversion between the various types. We also introduce conditionals: the if statement.

  • Reading: Begin chapter three.
  • Problems: Challenges one and two in chapter three. Do the Intro Homework sheet (treat this as a self-test).
  • Lab: Conditionals-if We create a program that determines battery life depending on case size and current drain.

This session we continue with conditionals: the if-else and variants, and logical operators.

  • Reading: Continue chapter three.
  • Problems: Challenge three in chapter three.
  • Lab: More Conditionals A resistor tolerance program that computes whether or not a measured component falls within specified tolerances.

Around here we'll have our first in-class Python programming test.

  • Reading: Review for test.
  • Problems: Challenge four in chapter three
  • Lab: Random Numbers We look at random number generation and its use in simulation.

This session we begin discussing looping constructs, namely the while loop.

  • Reading: Complete chapter three.
  • Problems: Challenge one in chapter four.
  • Lab: Iteration We look at a technique to verify the maximum power transfer theorem.

We conclude chapter three and look at loops-within-loops, and introduce the for loop.

  • Reading: Start chapter four.
  • Problems: Challenge two in chapter four.
  • Lab: Caerbannog The ever-popular Python rabbit game. No graphics, but fun just the same. A unique example of using a while loop and random numbers for simulation, and also a good exercise to stretch your imagination and glue together a few of the recent concepts.

This session we continue with variations on loops and other useful items.

  • Reading: Continue chapter four. Also read the looping notes.
  • Problems: Challenge three in chapter four.
  • Lab: Continue with Caerbannog.

We continue to examine the use of strings and introduce tuples (similar to the arrays found in other languages such as BASIC).

  • Reading: Finish chapter four.
  • Problems: Challenge four in chapter four. Try the Loops and Sequences worksheet (treat this as a self-test).
  • Lab: Tuples An interesting little utility sometimes called curses. You can have a bit of fun with this one. This might remind you of the scenes in Monty Python and the Holy Grail when Arthur meets up with the French knights guarding the castle. If you finish early, begin work on the next assignment, Functions and Files.

This is our last session of Python instruction and includes the use of functions and files.

  • Reading: Start chapter six, beginning of chapter seven.
  • Problems: Challenges one and two in chapter six.
  • Lab: Functions and Files We create a quality control program that computes tolerance percentages for a manufacturing run.You will need the this data file: or alternately, this version res3300.txt

Our last in-class test will be here. If time permits, we will continue looking at files in chapter seven. Please note that there are many useful and fun topics left in the text, including graphics and game programming, that you may find satisfying to study on your own.

  • Reading: Review for test. Continue in chapter seven as needed.
  • Problems: Challenge three in chapter six.
  • Lab: We complete the Functions and Files program and test it during lab.


 Python for Everybody a nice, free OER text. Another one is Think Python.

Circuit Simulation Notes

Intro Homework

Looping Notes

Loops and Sequences Worksheet


Laboratory Manual for Computer Programming (odt)

Laboratory Manual for Computer Programming (pdf)


[Home] [MVCC Home]

2017 Jim Fiore