CSI5200

Download as PDF

CSI 5200 Fundamentals/Software Modeling

Computer Science & EngineeringSchool of Egr. and Comp. Sci.

Course Title

Fundamentals of Software Modeling

Course Description

Laboratory oriented course on mathematical modeling of Software Engineering Issues: Program Specifications: Direct and indirect specifications, assertions; mathematical concepts involved: Propositions, Predicate calculus. Abstraction Notations: Sets and set operations, sequences, maps, bags, lamba notation. Algorithm Definition: Functions, operations, polymorphic functions, higher order functions. Stepwise Program Refinement: Programming by contract, correctness maintaining transformations; Static Analysis of Computer Programs: Relations, Flowgraphs, Data and Control Dependencies, Detection of Anomalies. Modeling Software Design: Procedure Call Graph, modules' export/import relations. Modeling Program Execution: Computation trace, dynamic data and control dependencies. This course requires backgrounds on object-oriented programming, data structures, and algorithms. Formerly CSE 520. 

Equivalent Courses

CSE520

College/School

School of Egr. and Comp. Sci.