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.
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.
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.
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 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. Check 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.
This session we discuss the idea of circuit simulation and analysis, including schematic capture and virtual instruments.
We extend our discussion of circuit analysis and introduce the concept of PCB layout.
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.
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.
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.
This session we continue with conditionals: the if-else and variants, and logical operators.
Around here we'll have our first in-class Python programming test.
This session we begin discussing looping constructs, namely the while loop.
We conclude chapter three and look at loops-within-loops, and introduce the for loop.
This session we continue with variations on loops and other useful items.
We continue to examine the use of strings and introduce tuples (similar to the arrays found in other languages such as BASIC).
This is our last session of Python instruction and includes the use of functions and files.
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.
Python for Everybody a nice, free OER text. Another one is Think Python.
Circuit Simulation Notes
Loops and Sequences Worksheet
Laboratory Manual for Computer Programming (odt)
Laboratory Manual for Computer Programming (pdf)
[Home] [MVCC Home]