ET 154 Computer Programming

I. CATALOG DESCRIPTION:

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.

II. MATERIALS:

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

Reference: Python Programming: An Introduction to Computer Science, Zelle, Franklin, Beedle & Associates.

Laboratory Manual for Computer Programming (pdf)

 III. STUDENT LEARNING OUTCOMES:

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

Syllabus

Background

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 word processors for writing lab reports, and circuit simulation tools such as Electronics Workbench Multisim. For lab, you'll probably want a few 3.5" floppy disks to store your work (space is also available on the student network H drive). Lab exercises are due no later than one week from the date of assignment. 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, two letter grades for the second half week. Assignments are not accepted beyond two weeks 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 www.python.org. 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.com.

Week-by-week progress and assignments.

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

1

Our first week 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 www.python.org and www.electronicsworkbench.com (the Multisim site).
  • Problems: If available, install Multisim on your home computer. Note, if you do not have a student version CD available from one of your electrical texts, the "Lite" student edition may be purchased from the Multisim site by following the Academic link to the Student Site.
  • 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.
2

This week 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.
3

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.
4

This week 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.
5

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.
6

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.
  • Lab: Conditionals-if We create a program that determines battery life depending on case size and current drain.
7

This week 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.
8

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.
9

This week 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.
10

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.
11

This week 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.
12

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.
  • 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.
13

This is our last week 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: res3300.data or alternately, this version res3300.txt
14

Our last in-class test will be here.

  • Reading: Review for test.
  • Problems: Challenge three in chapter six.
  • Lab: We continue with the Functions and Files program.

15

We will spend time reviewing the course, but 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: Continue in chapter seven as needed.
  • Problems: Review for final exam.
  • Lab: Problem review session.

Resources

Circuit Simulation Notes

Looping Notes

Loops and Sequences Worksheet

Labs 

Laboratory Manual for Computer Programming (doc)

Laboratory Manual for Computer Programming (pdf)

 

[Home] [MVCC Home]

2014 Jim Fiore