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.
B.B. Bray, Programming the 80286, 80386 and Pentium-based Personal Computer, Prentice Hall, 1996.
ABET Category
Engineering Science: 33%
Engineering Design: 67%
Engineering Design: 67%
Title | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
---|---|---|---|---|---|---|---|---|
Computer Engineering, II | AB1 | 32794 | LAB | 0 | - | Zbigniew T Kalbarczyk | ||
Computer Engineering, II | AL1 | 32795 | LEC | 3 | - | Zbigniew T Kalbarczyk |