Standard Course Syllabus Course Supervisor Date of Approval

Dept. of Electrical and Computer Engineering Khan 5/06

668 Applied Component-Based Programming for Engineers and Scientists

2. CATALOG DESCRIPTION

Application of component-based software engineering technology to design and implementation of software systems in

engineering and science.

Quarters of Offering Credits
Level Class Meeting

Wi Qtr. 3 U G 3 cl.

Course Prerequisites

Prereq: CS&E 502 or 560. Not open to students with credit for 768 or CS&E 768.

3. PREREQUISITES BY TOPIC

Basic familiarity with object oriented programming concepts (such as data structures, classes, inheritance, interfaces, and

polymorphism), the Java programming language, and electrical circuit concepts.

Courses that require this as a direct prerequisite

ECE/CSE 767

4. Text(s) and Other Course Materials Author(s) Publisher

No text

References (supplemental reading)

[1] Principles and Applications of Electrical Engineering, 4th Edition (2002), G. Rizzoni, McGraw Hill.

[2] The Java Programming Language, 3rd Edition (2001), K. Arnold, and J. Gosling, Addison Wesley.

[3] Developing Java Beans (1997), R. Englander, O'Reilly.

[4] Java Threads (1997), S. Oaks and H. Wing, O'Reilly.

[5] Java Report, C++ Report, SIGS Publishing.

[6] Java Developer's Journal, sys.com Publications.

5. COURSE OBJECTIVES

1. Students will be familiar with how to build software emulators for electronic components such as voltage and current

sources, meters, oscilloscopes, as well as basic electronic components such as resistors, capacitors, etc. (Criteria 3(a),(c),(e))



2. Students will be familiar with how to build an event-driven electronics simulation system by "wiring" together such

software emulators for electronic devices. (Criteria 3(c),(e))

3. Students will be familiar with the efficiency issues connected with building engineering simulations of this type, and with

how to use object orientation in the software without sacrificing efficiency. (Criteria 3(c),(e),(k))

4. Students will be familiar with the software design techniques needed to build such systems, such as using a standard

modeling language, loosely coupled layered software architectures, event-driven programming, multithreading, design-for-

reuse, and associated design patterns. (Criterion 3(k))

5. Students will be familiar with applying industry-standard software engineering technologies and tools in other engineering

and scientific applications that are similar to electronics simulation systems. (Criterion 3(k))

6. TOPICS AND (# OF LECTURES)

Review of basic electronics and object orientation (6)

UML class diagrams and interaction diagrams (3)

Building efficient object-oriented software emulators for electronics components (3)

Events and the Java Event Model as the basis for "wiring" together software emulators into an electronics simulation system

(5)

Introduction to JavaBeans (3)

Multithreading and it importance for correctness of distributed simulation systems (3)

Building an electronics simulation system by "wiring" together software emulators for electronics components built in the

class (5)

Review and exams (2)

Wednesday, April 23, 2008 05:22 PM

Page 1 of 2
First Previous Next Last