Page 232 - 2016-2018 Graduate Catalog (Revised)
P. 232
Prerequisites: Graduate status
Credits: 3
This course teaches principles and practice of secure coding. It provides
a sound theoretical background, as well as hands-on experiences
through the examination of security resources and standard practices
in a specific programming language, such as Java or C++. Programming
security, operating systems security are examples of some of the topics
that will be covered.
COSC 551 FORMAL METHODS IN PROGRAMMING LANGUAGES
Prerequisites: COSC 504
Credits: 3
Evolution of some imperative programming languages; formal methods
of describing syntax; semantics; data types and variables; assignment
statements; control structures; subprograms and their implementation;
exception handling; logic programming languages; data abstraction.
COSC 554 DESIGN OF EMBEDDED SYSTEMS
Prerequisites: COSC 502
Credits: 3
This course presents the basic material required to design and
implement embedded systems. Topics covered include single-purpose
processors, general-purpose processors, peripheral control, memory
use, device interfacing, state machine and concurrent process models,
control systems, IC technology, and design technology.
COSC 561 COMPILER DESIGN AND CONSTRUCTION
Prerequisites: COSC 504
Credits: 3
Design and implementation of compilers. Semantics and pragmatics as
they affect the design of compilers. Topics include: lexical and syntax
analysis, parsers, semantics processing, code generation, and simple
code optimization.
COSC 565 SOFTWARE ENGINEERING I
Prerequisites: COSC 504 Credits:
3
This course introduces the student to major topics in software
engineering such as: requirements specification, analysis and design,
testing, project management, and implementation. Additional topics
such as software life cycle models, the Unified Modeling Language
(UML), agile software development techniques, configuration
231

