Page 118

118

CIS 318: Software Architecture The course focuses on the issues, techniques, strategies, representations and patterns used to implement a software component or a large-scale system. Specifically, it emphasizes the defining architectures that conform to functional requirements and that work within defined constraints including resource, performance, reliability, and security. Prerequisite: CIS 277 and CIS 287 CIS 320: Analysis & Design of Algorithms Focusing on the study of the design, analysis, and complexity of algorithms, fundamental techniques, searching, sorting and order statistics, and basic graph algorithms are reviewed. The course introduces the ideas of time and space complexity. Emphasis is on providing the student with a firm background to be used for further study of algorithms using more advanced techniques. Prerequisite: CIS 220 and MATH 222 3 credits, Fall, occasionally offered CIS 325: Formal Languages & Automata The course presents the abstract models of computers (finite automata, pushdown automata, and Turing machines) and the language classes they recognize or generate (regular, context-free, and recursively enumerable). Topics include Turing machines, recursive functions, Church’s thesis, undecidability, and the halting problem. Applications of these models to compiler design, algorithms, and complexity theory are also presented. Prerequisite: CIS 220 and MATH 222 3 credits, Spring, occasionally offered CIS 326: Formal Methods in Software Development Focusing on the issues and techniques needed to apply formal specification methods to the development of software, the course uses mathematical and logical formalism to develop a precise statement of what software is to do. Prerequisite: CIS 182, CIS 183 and MATH 223 3 credits, Fall, even years CIS 330: Operating Systems An introduction to the study of operating systems. Topics covered include: process manipulation and synchronization, processor management, storage management, security, I/O and file systems, and basic distributed system concepts. Prerequisite: CIS 220 and CIS 219 CIS 335: Systems Analysis and Design An introduction to the role and responsibilities of a systems analyst. Students examine systems by analysis, modeling, and design at the enterprise, process, logical, data, and technology levels. Optionally included topics are feasibility analysis, technology evaluation, project management, object-oriented analysis. Prerequisite: CIS 180, CIS 181, and CIS 195 or CIS 287 3 credits, Fall CIS 337: IS Architecture and Deployment A project and team-based course emphasizing the practical issues in the design and implementation of information systems. The rational integration of technology options across an enterprise given organizational needs and constraints is emphasized. Prerequisite: CIS 195 or CIS 287 3 credits, Spring, odd years CIS 340: Multi-Tiered Systems A project and team-based course emphasizing the practical issues in implementing distributed and multi-tiered systems at the organizational, function, and user-support levels. Emphasis is placed on understanding the file, network, and data interactions of multi-tiered systems and on managing the systems with respect to reliability, security, and cost. Prerequisite: CIS 255 and CIS 335 or CIS 287 3 credits, Fall, odd years CIS 350: Requirements and Project Management Focusing on the management of software requirements and projects, particularly teams and stakeholders, the course includes coverage of requirements elicitation, analysis, documentation, and negotiation. It also includes the roles and methods of effective technical

Profile for Gannon University

Gannon Undergraduate Catalog 2018-2019  

Gannon Undergraduate Catalog 2018-2019