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. Corequisites: ET151 Circuits 1 or ET101 Technical Electricity |
II. MATERIALS: Text: Python for Everybody, by Charles Severance. This 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. Lab Manual: Laboratory Manual for Computer Programming with Python, Multisim and TINA /4E, by James Fiore. A free OER: PDF ODT HTML PRINT Video: See the Python and Circuit Simulators playlists on my YouTube channel: ElectronicsWithProfessorFiore |
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. |
Background
This course assumes no familiarity with computers. 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 TINA (Toolkit for Interactive Network Analysis). 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 the latest
release of version 3. A free copy of the TINA simulator, called TINA-TI, is available at https://www.ti.com/tool/TINA-TI. You might also consder TINACloud.
Session-by-session progress and assignments (note: for the half-semester version of this course there are two sessions per week which means two lectures and two labs each week for 7 weeks).
1 |
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.
|
2 |
This session we discuss the idea of circuit simulation and analysis, including schematic capture and virtual instruments.
|
3 |
We extend our discussion of circuit analysis and introduce the concept of PCB layout.
|
4 |
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.
|
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.
|
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.
|
7 |
This session we finish conditionals: the if-else and variants, and logical operators. We also introduce functions and random numbers.
|
8 |
Around here we'll have our first in-class Python programming test.
|
9 |
This session we begin discussing looping constructs, namely the while loop.
|
10 |
We look at loops-within-loops, and introduce the for loop.
|
11 |
This session we continue with variations on loops and other useful items.
|
12 |
We continue to examine the use of strings and introduce tuples and lists (similar to the arrays found in other languages).
|
13 |
This is our last session of Python instruction and includes the use of files.
|
14 |
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 that you may find satisfying to study on your own.
|