Staff Information

Professor Doug Harper, Instructor

Course Description

A study of computer-assisted measurement and automation techniques. Students receive hands-on experience in measuring and controlling physical phenomena through laboratory exercises and projects. Recognized as a LabVIEW Academy course by National Instruments. Usually offers students the opportunity to become Certified LabVIEW Associate Developers.

Course Outcomes

Upon successful completion of this course, students will have mastered the foundational principles of LabVIEW including topics such as:

  • LabVIEW programming principles
  • Data types, software constructs, and Graphical User Interface (GUI) elements
  • Variables and functions
  • Simple design patterns
  • SubVI design
  • VI design and documentation
  • Error handling
  • Debugging tools and techniques

and will be prepared to take the Certified LabVIEW Associate Developer examination offered by National Instruments.  Students who pass the CLAD certification will be identified along with other certified professionals on National Instruments’ website.

Students will also be familiar with advanced topics in LabVIEW such as application design patterns, state machines, PID process control, distributed I/O, database connectivity, internet applications, use of the G math toolkit, building stand-alone applications, LabVIEW Real Time and FPGA.

In addition, students will understand the basic principles of data acquisition and control including:

  • Signal conditioning
  • Analog input
  • Analog output
  • Digital I/O
  • Counters and timers
  • Timing and synchronization of measurements
  • GPIB
  • Serial Communications

Finally, each student in the course will complete an extensive, independent project which must involve data acquisition from external sensors or devices.


One of the following courses with a grade of C or better:

  • PHYS 301 Electrical Measurements, OR
  • ME 310 Engineering Instrumentation and Experimentation, OR
  • EE 211 Circuits and Networks II.

Required Hardware

The NI myDAQ is a USB powered, portable data acquisition system that allows computer based measurements to be made virtually anywhere.  Each student should have his/her own myDAQ to use for projects inside and outside of class.  The myDAQ specifications are:

  • Two Differential Analog Input and Analog Output Channels (200 ks/s, 16 bit, +/- 10 Volts)
  • +5 , +15, and -15 Volt Power Supply Outputs (up to 500m Watts of Power)
  • Eight Digital Input and Digital Output Lines (3.3 Volt TTL-Compatible)
  • 60 Volt Digital Multimeter (DMM) for Measuring Voltage, Current, and Resistance
  • Reusable Storage Box with Storage Tray, DMM Probes, and Audio Cable.

The NI myDAQ is available from Be sure to purchase the hardware only version (currently $219) instead of any version that is bundled with software.  You will be provided a license to LabVIEW as part of this course.  It is expected that you will have a laptop computer capable of running LabVIEW that you will bring with you to class everyday. 

All of the desktop computers in our classroom (OCH 1004) have LabVIEW and MultiSim installed for your use if you are having problems with your laptop.  Our license allows us to install the software on any other university-owned computers in Ogden College if necessary for your project.

Optional Textbooks

LabVIEW for Everyone: Graphical Programming Made Easy and Fun (3rd edition)
by Jeffrey Travis and Jim Kring

This is a very comprehensive overview of LabVIEW.  I used to use it as the primary textbook for this course before adopting the NI training modules LabVIEW Core 1 and LabVIEW Core 2 as our official course material.  Despite being someone dated, it is an excellent reference for learning how to program using LabVIEW.  


blumeThe LabVIEW Style Book (LSB)
by Peter Blume.

The LabVIEW Style Book is the definitive guide to best practices in LabVIEW development.  Blume presents numerous practical guidelines or “rules” for optimizing every facet of your applications: ease of use, efficiency, readability, simplicity, performance, maintainability, and robustness. The author explains each style rule thoroughly, presenting realistic examples and illustrations. He even presents “nonconforming” examples that show what not to do–and why not.


conwayA Software Engineering Approach to LabVIEW (SEA)
by Jon Conway and Steve Watts

A Software Engineering Approach to LabVIEW, by working programmers Jon Conway and Steve Watts, applies for the first time the techniques and principles of software design to LabVIEW programming. The LCOD technique designs flexibility into applications, making them more robust and much more easily adaptable to changes, even in large, industrial applications. Complete with examples and working code.

Grading Policies

Your grade for the course will be based on your performance on the exercises, examinations, and special projects according to the usual distribution shown in Table 1 below.  The weights (in percent) that will be applied to the different components are shown in Table 2.

Table 1
Average Score Grade
90 – 100 A
80 – 89 B
70 – 79 C
60 – 69 D
< 60 F
Table 2
Component Percent
Assignments 20 %
NI Certification Badges 16 %
Midterm Exam 14 %
Quizzes and Exercises 10 %
Major Project 20 %
Final Exam 20 %

Programming Assignments

There will be a number of programming assignments that emphasize important concepts of the LabVIEW programming language and fundamentals of data acquisition and control.  These assignments will be graded using a grading rubric which specifies what is expected in the areas of functionality, style and documentation. This grading rubric is based upon the evaluation criteria used by National Instruments for their Certified LabVIEW Developer (CLD) exam.  It is suggested to use LabVIEW VI Analyzer Toolkit to check your assignment for style and documentation prior to submitting it for grading. These assignments will be submitted by committing your work to an SVN code repository set up for this course.  See below for additional details on this resource.

Midterm Exam

We will have one midterm exam that will count 14% of the grade.  This exam will be based on material from the lectures, from assigned readings and videos, and from programming assignments.  It will consist of written questions as well as practical programming exercises. 

Quizzes and Exercises

New material will be presented in the form of videos and readings that each student should review outside of class. Refer to the class calendar to find the required content that should be studied before each class period.  We will use class time to work on assignments and will occasionally have quizzes and short programming exercises based upon the suggested material. 

Final Exam

The final exam will count 20% of the grade and will be based on material from the lectures, from assigned readings and videos, and from programming assignments.  It will be a comprehensive exam consisting of written questions as well as practical programming exercises. 

Major Project

Each student will complete a major project that will constitute 20% of the grade for the course.  Each project must involve interfacing a computer to data acquisition hardware.  Projects can be completed either individually or as a group.  The instructor must approve the makeup of any group.  Specific deadlines will be imposed throughout the semester for completion of various milestones of the project.  Students in the honors section will have additional deliverables for the project and are required to submit their project to the National Instruments Student Design Competition.

Opportunities for Certification

Learning Badges:
Students in this class will have opportunity to use the National Instruments Badge Program to gain recognition for their mastery of the topics including LabVIEW programming and the fundamentals of data acquisition.  The following eight (8) Learning Badges are required and will make up 16% of your grade for the course.  Students will receive 2% credit for each badge passed prior to its associated announced target date and 1% for any badge passed after its target date but before final exam week begins.  Students must email the instructor a link to their personal badge page on after passing their first badge exam.

LabVIEW Programming

Taking Physical Measurements

These 10 badges actually consist of only 8 exams since the two top-level badges are awarded automatically when the four sub-badges are completed.  The sub-badges in each group can be taken in any order.  The recommended order, shown above in the lists, is different than the order the badges are presented in the NI materials.  The LabVIEW Programming badge is a pre-requisite to begin the Taking Physical Measurements badge. 

In addition, for students who are interested, we will hold optional workshop sessions outside of normal class time to help students prepare for the following Professional Certification Badge:

The CLAD certification exam will be given near the end of the semester to students who participate in these workshops.  This certification exam is not included in your grade for the course.   

It has been increasingly difficult to get NI to schedule the exam for free for students in this course.  We will attempt to get a free CLAD scheduled for this semester but it cannot be guaranteed.

Source Code Control with TortiseSVN

We will use an SVN code repository on for sharing files for the class activities and for assignment and group submissions.  After you have installed the TortiseSVN client on your computer you will be able to interact with our code repository which is located at:


The top-level folders on the code repository include:

  • an ‘examples’ folder that you will have read access to,
  • a ‘projects’ folder that you will be able to read all of and have read-write access on a subfolder for your team’s project, and
  • a ‘dropbox’ folder that will contain a folder with your last name for all of your assignment submissions.

We will spend some time the first day of class to set up your SVN working directory and getting you up to speed with using SVN. 

ADA Accommodation

In compliance with University policy, students with disabilities who require academic and/or auxiliary accommodations for this course must contact the Student Accessibility Resource Center located in Downing Student Union, Room 1074.  The SARC can be reached by phone number at 270-745-5004 [270-745-3030 TTY] or via email at Please do not request accommodations directly from the professor or instructor without a faculty notification letter (FNL) from The Student Accessibility Resource Center.

Title IX / Discrimination and Harassment

Western Kentucky University (WKU) is committed to supporting faculty, staff and students by upholding WKU’s Title IX Sexual Misconduct/Assault Policy (#0.2070) and Discrimination and Harassment Policy (#0.2040). Under these policies, discrimination, harassment and/or sexual misconduct based on sex/gender are prohibited. If you experience an incident of sex/gender-based discrimination, harassment and/or sexual misconduct, you are encouraged to report it to the Title IX Coordinator, Andrea Anderson, 270-745-5398 or Title IX Investigators, Michael Crowe, 270-745-5429 or Joshua Hayes, 270-745-5121.Please note that while you may report an incident of sex/gender based discrimination, harassment and/or sexual misconduct to a faculty member, WKU faculty are “Responsible Employees” of the University and MUST report what you share to WKU’s Title IX Coordinator or Title IX Investigator. If you would like to speak with someone who may be able to afford you confidentiality, you may contact WKU’s Counseling and Testing Center at 270-745-3159.

Print Friendly, PDF & Email