Course Websites

ECE 390 - Computer Engineering, II

Last offered Spring 2006

Official Description

Design and development of assembly language programs; input-output, interrupts, and multitasking; introduction to data structures and graphics; ethical and social issues in computing; laboratory assignments on real-time data acquisition and device control. Course Information: Credit is not given for both ECE 390 and CS 232. Prerequisite: ECE 290 or CS 231. Class Schedule Information: Students must register for one lab and one lecture section.

Related Faculty

Course Director

Description

THIS COURSE NO LONGER OFFERED. Design and development of assembly language programs; input-output, interrupts, multitasking, introduction to data structures and graphics; ethical and social issues in computing; laboratory assignments on real-time data acquisition and device control.

Notes

Credit is not given for both ECE 390 and CS 232.

Goals

To understand the principles and techniques of machine-level programming. To learn to use computers for real-time data acquisition and control of input-output devices. To design and implement complex programs.

Topics

  • Use of lab equipment and software.
  • Assembly language programming: addressing; loops; arithmetic, subroutines, stack, recursion; macros; program design and testing; interfacing to high level language.
  • Review of computer organization, number representations.
  • Input-output and multitasking; interrupt-driven I/O: display control, line graphics; asynchronous serial data communication; priority, scheduling semaphore.
  • Data structures: array, queue, linked list, binary tree, hash table.
  • Ethical issues in computing: ownership of software, privacy of data, professional responsibility, social impacts.
  • Special topics: selections from logical and string instructions, loop invariant, floating point processor, linking/loading.

Detailed Description and Outline

To understand the principles and techniques of machine-level programming. To learn to use computers for real-time data acquisition and control of input-output devices. To design and implement complex programs.

Topics:

  • Use of lab equipment and software.
  • Assembly language programming: addressing; loops; arithmetic, subroutines, stack, recursion; macros; program design and testing; interfacing to high level language.
  • Review of computer organization, number representations.
  • Input-output and multitasking; interrupt-driven I/O: display control, line graphics; asynchronous serial data communication; priority, scheduling semaphore.
  • Data structures: array, queue, linked list, binary tree, hash table.
  • Ethical issues in computing: ownership of software, privacy of data, professional responsibility, social impacts.
  • Special topics: selections from logical and string instructions, loop invariant, floating point processor, linking/loading.

Credit is not given for both ECE 390 and CS 232.

Computer Usage

Assembly-language programming, including use of a macro-assembler and other software tools, and interfacing of assembly-language subprocedures with high-level C language programs; I/O processes and devices; interrupts and priorities, semaphores, real-time operations, multi-tasking, data-acquisition, and computer-based communications and control.

Lab Equipment

37 Dell Optiplex GX240 1GHz Pentium III Systems with 17" flat-panel monitors.

Lab Software

NASM

Topical Prerequisites

  • computer organization
  • Number and data recognition
  • Programming in a high-level language

Texts

Microsoft MASM 6.11
B.B. Bray, Programming the 80286, 80386 and Pentium-based Personal Computer, Prentice Hall, 1996.

ABET Category

Engineering Science: 33%
Engineering Design: 67%
TitleSectionCRNTypeHoursTimesDaysLocationInstructor
Computer Engineering, IIAB132794LAB0 -    Zbigniew T Kalbarczyk
Computer Engineering, IIAL132795LEC3 -    Zbigniew T Kalbarczyk