2011–2012 UNIVERSITY CATALOG - Florida Institute of Technology
2011–2012 UNIVERSITY CATALOG - Florida Institute of Technology
2011–2012 UNIVERSITY CATALOG - Florida Institute of Technology
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CSE 2410 INTRODUCTION TO SOFTWARE ENGINEERING (3 credits).<br />
Presents a basis for the integration <strong>of</strong> engineering rigor and s<strong>of</strong>tware development.<br />
Students are shown a practical yet rigorous method <strong>of</strong> going from a problem concept to<br />
a s<strong>of</strong>tware solution. Includes requirements specification, functional specification and<br />
coding techniques using information hiding and stepwise refinement. Prerequisites:<br />
CSE 2010 or ECE 2552.<br />
CSE 2500 COMBINATORICS AND GRAPH THEORY (3 credits). Covers<br />
elementary and advanced counting techniques including permutations, combinations,<br />
multisets, inclusion-exclusion, generating functions and recurrence relations. Also<br />
presents topics in graph theory including graphs, trees, binary tree, graph traversals<br />
and network flow. Prerequisites: CSE 1001 or CSE 1502 or CSE 1503, CSE 1400 or<br />
MTH 2051.<br />
CSE 3030 LEGAL, ETHICAL AND SOCIAL ISSUES IN COMPUTING<br />
(3 credits). Overviews legal, ethical and moral considerations for the computing<br />
pr<strong>of</strong>essions. Includes the impact <strong>of</strong> legal concepts on society, the need for ethical<br />
considerations in s<strong>of</strong>tware systems development, and the potential need for pr<strong>of</strong>essional<br />
certification. Prerequisites: COM 2012, COM 2223 or COM 2224, CSE 1002<br />
or CSE 1502 or CSE 1503 or ECE 2551.<br />
CSE 3101 MACHINE AND ASSEMBLY LANGUAGE (3 credits). Presents<br />
a processor’s instruction set and programming structures available to the assembly<br />
language programmer. Includes relations between architecture, machine language<br />
and assembly language. Also includes assembly program interfaces with the operating<br />
system and higher-level languages. Prerequisites: CSE 1002.<br />
CSE 3120 COMPUTER ARCHITECTURE AND ASSEMBLY<br />
PROGRAMMING (3 credits). Introduces advanced computer architecture concepts.<br />
Includes microcode, execution pipelines, cache management, vector processors, parallel<br />
architectures and RISC processors. Explores the interfacing <strong>of</strong> assembly language<br />
programs with the operating system and high-level languages. Requires students to<br />
interface assembly with C and the Win32 API. Prerequisites: CSE 2050, CSE 2120.<br />
CSE 3280 COMPUTER GRAPHICS PROGRAMMING (3 credits). Introduces<br />
computer graphics programming, the graphics pipeline, input and interaction using<br />
modern popular graphics APIs. Includes programming techniques for graphics primitives<br />
and transformations, viewing, lighting and shading, texturing and animation.<br />
Prerequisites: CSE 2010 or CSE 2502 or ECE 2552.<br />
CSE 3411 SOFTWARE TESTING 1 (3 credits). Explores functional (black box)<br />
methods for testing s<strong>of</strong>tware systems, reporting problems effectively and planning<br />
testing projects. Students apply what they have learned throughout the course to a<br />
sample application that is commercially available or under development. The choice <strong>of</strong><br />
sample application changes from term to term. Prerequisites: CSE 1002, CSE 1400 or<br />
ECE 2552, ECE 3541.<br />
CSE 3421 SOFTWARE DESIGN METHODS (3 credits). Explores methods for<br />
the design <strong>of</strong> s<strong>of</strong>tware systems. Includes formal specifications <strong>of</strong> s<strong>of</strong>tware behavior,<br />
object-oriented analysis/design and structured analysis/design. Prerequisites: CSE 2410.<br />
CSE 4001 OPERATING SYSTEMS CONCEPTS (3 credits). Examines the<br />
design and implementation <strong>of</strong> operating systems. Includes process, storage and<br />
recovery management. Explores issues involved in moving from single-user systems to<br />
multitasking, multiprocessing and multiprocessor systems. Prerequisites: CSE 2050,<br />
ECE 2552, ECE 3551.<br />
CSE 4020 DATABASE SYSTEMS (3 credits). Introduces the fundamentals <strong>of</strong><br />
computer database systems. Includes a review <strong>of</strong> file structures, concepts <strong>of</strong> database<br />
design, functional units <strong>of</strong> a typical database system and application <strong>of</strong> database<br />
concepts to real-world problems. Prerequisites: CSE 2010 or ECE 2552.<br />
CSE 4051 ADVANCED JAVA CONCEPTS (3 credits). Studies core Java and its<br />
major class libraries. Includes exception handling, packages, threads, internationalization,<br />
building graphical user interfaces, applets, networking, RMI, introspection (Java<br />
beans), cryptography and database connectivity. (Requirement: Instructor approval or<br />
prerequisite course.) Prerequisites: CSE 2010 or ECE 2552.<br />
CSE 4081 INTRODUCTION TO ANALYSIS OF ALGORITHMS (3 credits).<br />
Covers time and space complexity <strong>of</strong> algorithms. Analyzes algorithms for sorting,<br />
searching, string processing and graph problems. Presents strategies such as divideand-conquer,<br />
and greedy and dynamic programming as problem-solution techniques.<br />
Prerequisites: CSE 2010 or ECE 2552, ECE 3541.<br />
CSE 4082 INTRODUCTION TO PARALLEL AND REAL-TIME<br />
ALGORITHMS (3 credits). Introduces parallel algorithm development, architecture<br />
for parallel computers, programming paradigms SIMD and MIMD for shared memory<br />
and distributed memory computers. Presents parallel algorithms for matrix computations,<br />
sorting and searching, and various numerical algorithms. Includes analysis <strong>of</strong> performance<br />
and scalability <strong>of</strong> parallel algorithms. Prerequisites: CSE 1502 or CSE 1503 or CSE 2050<br />
or ECE 2552.<br />
238 <strong>Florida</strong> Tech<br />
CSE 4083 FORMAL LANGUAGES AND AUTOMATA THEORY (3 credits).<br />
Presents abstract models <strong>of</strong> computers (finite automata, pushdown automata and<br />
Turing machines) and the language classes they recognize or generate (regular,<br />
context-free and recursively enumerable). Also presents applications <strong>of</strong> these models<br />
to compiler design, algorithms and complexity theory. Prerequisites: CSE 2010 or<br />
ECE 2552, ECE 3541.<br />
CSE 4101 COMPUTER SCIENCE PROJECTS 1 (3 credits). A two-semester,<br />
senior-year project sequence that serves as the capstone for the project-intensive<br />
courses in computer science. Students team to implement a s<strong>of</strong>tware project from<br />
conception to completion. (Requirement: Prerequisite course and senior standing in<br />
computer science; may not be taken concurrently.) (Q) Prerequisites: CSE 2010.<br />
CSE 4102 COMPUTER SCIENCE PROJECTS 2 (3 credits). A two-semester<br />
senior year project sequence that serves as the capstone for the project-intensive<br />
courses in computer science. Students team to implement a s<strong>of</strong>tware project from<br />
conception to completion. (Requirement: Prerequisite course and senior standing in<br />
computer science; may not be taken concurrently.) (Q) Prerequisites: CSE 4101.<br />
CSE 4201 SOFTWARE DEVELOPMENT PROJECTS 1 (3 credits). A twosemester,<br />
senior-year project sequence that serves as the capstone for the projectintensive<br />
courses in s<strong>of</strong>tware engineering. Students team to implement a s<strong>of</strong>tware<br />
project from conception to completion. (Requirement: Prerequisite course and senior<br />
standing in computer science; may not be taken concurrently.) (Q) Prerequisites:<br />
CSE 2010.<br />
CSE 4202 SOFTWARE DEVELOPMENT PROJECTS 2 (3 credits). A twosemester,<br />
senior-year project sequence that serves as the capstone for the projectintensive<br />
courses in s<strong>of</strong>tware engineering. Students team to implement a s<strong>of</strong>tware<br />
project from conception to completion. (Requirement: Prerequisite course and senior<br />
standing in s<strong>of</strong>tware engineering; may not be taken concurrently.) (Q) Prerequisites:<br />
CSE 4201.<br />
CSE 4232 COMPUTER NETWORK PROGRAMMING (3 credits). Covers<br />
design and implementation <strong>of</strong> networked programs. Includes multi-threading, client/<br />
server programming, remote method invocation, exception handling, object serialization<br />
and shared-space programming. Prerequisites: CSE 2010 or CSE 2050 or ECE 2552.<br />
CSE 4250 PROGRAMMING LANGUAGE CONCEPTS (3 credits). Surveys<br />
programming language concepts and design principles <strong>of</strong> programming paradigms<br />
(procedural, functional and logic). Includes a history <strong>of</strong> programming languages, data<br />
types supported, control structures and run-time management <strong>of</strong> dynamic structures.<br />
Prerequisites: CSE 2010 or ECE 2552.<br />
CSE 4251 COMPILER THEORY (3 credits). Introduces formal languages, the<br />
construction <strong>of</strong> scanners and recursive descent, LL (1) and LR (1) parsers, intermediate<br />
forms, symbol tables, code generation and optimization <strong>of</strong> resultant code.<br />
Prerequisites: CSE 2010, CSE 3101 or ECE 2552, ECE 3551.<br />
CSE 4257 GRAPHICAL USER INTERFACES (3 credits). Studies the theories<br />
and techniques <strong>of</strong> human-computer interaction and the design <strong>of</strong> direct manipulation<br />
graphical-user interfaces that support menus, buttons, sliders and other widgets<br />
for input, text and graphics for output. Students design, implement and evaluate a<br />
graphical-user interface. Prerequisites: CSE 2010 or ECE 2552.<br />
CSE 4272 COMPUTER AND INFORMATION SECURITY (3 credits).<br />
Introduces the fundamentals <strong>of</strong> computer security. Includes vulnerability analysis,<br />
threat modeling and risk assessment, and techniques for asset protection. Discusses<br />
economic, legal and ethical issues in computer security. Focuses on a system-wide<br />
view <strong>of</strong> security and discusses trends in current literature. Prerequisites: CSE 2010 or<br />
ECE 2552.<br />
CSE 4280 COMPUTER GRAPHICS ALGORITHMS (3 credits). Introduces<br />
computer graphics algorithms, s<strong>of</strong>tware and hardware. Includes ray tracing, the<br />
graphics pipeline, transformations, texture mapping, shading models, sampling, global<br />
illumination, splines, animation and color models. Programming format in course<br />
provides sufficient background to write computer graphics applications. Prerequisites:<br />
CSE 2010 or ECE 2552.<br />
CSE 4301 INTRODUCTION TO ARTIFICIAL INTELLIGENCE (3 credits).<br />
Surveys artificial intelligence, focusing on state-space and problem-reduction<br />
approaches to problem solving. Attention is given to the use <strong>of</strong> heuristics and their<br />
use in game-playing programs. Also discusses knowledge representation, automated<br />
reasoning and expert systems. Prerequisites: CSE 2010 or ECE 2552.<br />
CSE 4303 SPEECH RECOGNITION PROGRAMMING (3 credits). Introduces<br />
students to techniques for speech recognition and the integration <strong>of</strong> ASR in programs,<br />
using general speech recognition tools. Covers techniques including feature extraction<br />
from speech data, neural networks, Gaussian mixtures, estimate and maximize, data<br />
clustering techniques, Viterbi, Hidden Markov Models (HMM), keyword spotting and<br />
beam search. Prerequisites: CSE 2050 or ECE 2552, CSE 2400 or MTH 2401.<br />
CSE 4400 INDEPENDENT STUDY IN COMPUTER SCIENCE (1-3 credits).<br />
Individual projects under the direction <strong>of</strong> faculty members <strong>of</strong> the computer science<br />
or s<strong>of</strong>tware engineering programs. May be repeated for a maximum <strong>of</strong> six credits.<br />
(Requirement: Instructor approval.)