CIS/EE 768:
Applied Component-Based Programming for Engineers and Scientists


Description

Application of component-based software engineering technology to design and implementation of electronics simulation systems.

Level and Credits

Prerequisites

Quarters Offered

General Information, Exclusions, etc.

Objectives

This course is an applied course designed for engineering and science students (including CSE majors).  The focus of lab projects is a software-only "circuit breadboard" built with software components (packaged as JavaBeans) that emulate electrical and electronic components, measurement instruments, front panels, etc., in the spirit of National Instruments' Labview environment.  Students will:

Texts

Topics

Number of Weeks
Topics
2
Review of basic electronics and object orientation
1
UML class diagrams and interaction diagrams
1
Building efficient object-oriented software emulators for electronics components
 1.5
Events and the Java Event Model as the basis for "wiring" together software emulators into an electronics simulation system
 1
Introduction to JavaBeans
 1
Multithreading and its importance for correctness of distributed simulation systems
1.5
Building an electronics simulation system by "wiring" together software emulators for electronics components built in the class
1 Review and exams

Representative Lab Assignments

Students construct an event-based multithreaded software simulation of an electronics circuit laboratory.  This proceeds incrementally with the lecture material, and is handed in as the final lab project at the end of the quarter.  Abstractions for electronics components such as resistors, voltage/current sources, voltmeters, plotters, timers, etc., are designed.  They are then implemented as JavaBean software components.  During the first half of the quarter, students concentrate on a single-threaded system.  This is modified to a multithreaded system as students learn about concurrency issues during the second half of the course.  Careful planning of thread scheduling and prioritizing is needed for a realistic simulation.  The final lab project is handed in as a report consisting of description, UML diagrams, and working code in Java or C#.

Grading Plan

Homework Assignments 20%
Midterm Exams (2) 40%
Lab Assignments 40%

Relation to ABET Criterion 3 and CSE Program Objectives

Preparer Information and Date: Syllabus prepared by Furrukh Khan, Paul Sivilotti, and Bruce W. Weide, 9/02; last modified 5/13/03.