Course Syllabus

SIE 377 - Software for Engineers

Fall Semester 1997

1997-98 Catalog Data:

SIE 377 - Software for Engineers (3) Programming in C. Modular program design and verification, pointers and structures, data structures and algorithms including: lists, trees, graphs, searching and sorting. Credit is allowed for this course or CSC 342, but not for both. 1.5ES, 1.5ED. P,170.

Text Book:

T.A. Standish, "Data Structures, Algorithms and Software Principles in C", Addison-Wesley, 1995.

Anderson, Bjedov, Scarbrough, "Essential C: An Introduction for Scientists & Engineers", Saunders College Publishing, 1995.

References: None

Instructor:

Frank Ciarallo, Assistant Professor of Systems and Industrial Engineering

Prerequisites by Topic:

  1. Experience with a programming language such as C, Pascal or Fortran
  2. Knowledge of programming constructs such as iteration, simple variable types, input/output.

Method for Assessing Student Knowledge of Prerequisite Topics:

Review of the prerequisite knowledge in the context of the C language during the first few weeks of the course. Through a series of homework and quizzes during this review, I determine if the student is prepared for the course.

Goals:

Overall Educational Goal

Students should be able to design programs using high level data structures and implement them in a structured fashion using C.

Specific Instructional Goals:

  1. Understand how program design can be simplified through the use of high level, standard data structures such as lists, tables, trees and graphs.
  2. Understand the importance of sorting, searching and recursion in designing software based algorithms.
  3. Understand the implementation of high level data structures and algorithms in C using arrays, structures, function calls, pointers and linked lists.
  4. Understand the importance of careful design, implementation, and verification in the software development process.
  5. Have some exposure to current trends in software development, including object oriented programming and user interface design.

Course Topics:

  1. C Syntax and Program Structure: Standard Input/Output, File Input/Output, Arithmetic Operators, Arrays, Structures, Pointers and Dynamic Allocation, Type Definitions
  2. Programming Concepts: Sorting, Recursion, Hashing, Function Pointers, Object Orientation
  3. Data Structures: Lists, Linked Lists, Stacks and Queues, Binary Trees, Graphs
  4. Software Engineering Concepts: Program Design, Data Abstraction, Algorithm Development, Refinement and Analysis, Program Verification

Class Requirements:

  1. Three hours of lecture per week.
  2. Four programming projects.
  3. Several written assignments.
  4. Two midterm exams and a final exam.

Computer Usage:

  1. Students use the Borland C++ environment to develop the programs.
  2. Students are exposed to the Borland Delphi/C++ Builder products for object oriented user interface development.

Laboratory Projects: None

Assessment of Course Goals:

  1. Three exams.
  2. Performance on the programming projects.
  3. Performance on a series of quizzes meant to prepare students for the exams.
  4. Performance on the homework early in the course intended to review understanding of basic C programming syntax and programming concepts.

Contribution to professional component:

1.

Mathematics or Basic Science

0

credits

2.

Engineering Science or Design

3

credits

3.

General Education Requirements

0

credits

4.

Major Design Experience

0

credits

Contribution to program objectives: Goals 1, 4, 5

Prepared by: Frank Ciarallo   Date: November 26, 1997

 


to Course List

SIE ABET Information Site
The University of Arizona
October 30, 1998
Systems and Industrial Engineering

http://www.sie.arizona.edu
Web Maintainence:webmaster@sie.arizona.edu
All contents copyright © 1998. All rights reserved.