Graduate Courses
Definition of Prefixes
CAP - Computer Applications
CDA - Computer Design/Architecture
CEN - Computer Engineering Software
CGS - Computer General Studies
CIS - Computer and Information Systems (special topics)
CNT - Computer Networks
COP - Computer Programming (languages, data structures, software
systems, operating systems, compiling)
COT - Computer Theory
Special Course Offerings
There are various special courses offered every term. Special topics courses may evolve into regularly offered courses if they are successful, but they may also be once-only offerings. The latter is especially true if the enrollment of the first offering is low. To take a look at the special course offerings click here.
5000 Level Courses
CAP 5415 Priniciples and Algorithms of Computer Vision (3). Prerequisites: COP 4530 This course covers the basic computational prinicples and algorithms to extract information from images and image sequences. Topics include imaging models, linear and non-linear filtering, edge detection, stereopsis and motion estimation, texture modelling, segmentaion and grouping, and deformable matching for recognition.CAP 5605. Artificial Intelligence (3). Prerequisite: COP 4530. Introduction, representing knowledge, controlling attention, exploiting constraints, basic LISP programming, basic graph searching methods, game-playing and dealing with adversaries, understanding vision, theorem proving by computer, computer programs utilizing artificial intelligence techniques.
CAP 5615. Artificial Neural Networks (3). Prerequisite: Senior or graduate standing in science or engineering. Introduction to various aspects of artificial neural networks, with emphasis on elements of design of trainable systems. Topics include linear and nonlinear neurons, linear associators, multilayer networks, and the back-prop algorithm. Theory, simulation techniques, and applications will be covered.
CAP 5632. Automated Reasoning (3). This course covers the principles of automated reasoning/mechanical theorem proving. Topics to be covered include propositional logic, predicate logic, Skolem standard forms, Herbrand's Theorem, various resolution principles and methods, the logical basis of Prolog, and the interactive theorem prover Otter.
CAP 5638. Pattern Recognition (3). Prerequisite: Knowledge of probability and at least one programming language. Applications of mathematical tools, in particular, probabilistic, algebraic, and linguistic tools, to problems in pattern recognition and classification. Feature selection procedures, syntactic pattern recognition. Applications of fuzzy set theory to pattern recognition and classification.
CDA 5140. Fault Tolerance and Reliability (3). Prerequisite: CDA 5155. Basic definitions; self-checking circuits; error detection measures; interconnection networks; test generation and testability; distributed fault tolerance systems; software fault tolerance; fault tolerance and VLSI; error recovery.
CDA 5155. Computer Architecture (3). Prerequisite:CDA 3101. Computer system components; microprocessor and minicomputer architecture; stack computers; parallel computers; overlap and pipeline processing; networks and protocols; performance evaluation; architecture studies of selected systems.
CEN 5000. Knowledge Management and Data Engineering (3). Prerequisite: COP 5710. A survey of techniques and tools representing the transition from database management to knowledge management; database architecture and models; fuzzy databases; construction of knowledge bases.
CEN 5035. Software Engineering (3). Prerequisites: COP 4020, COP 4531, CEN 4010. Survey of software engineering and detailed study of topics from requirement analysis and specification, programming methodology, software testing and validation, performance and design evaluation, software project management, and programming tools and standards.
CEN 5055. Project Development (3). Prerequisites: CEN 5035. This course deals with the planning, design, validation and implementation of a large scale project using IEEE deliverables, state-of-the-art software engineering techniques, analysis and design project reviews and evaluations prior to implementation in the Graduate Software Project.
CEN 5064. Advanced Software Design (3). Prerequisite: CEN 5035. This course concentrates on the design of software systems after requirementes engineering has been completed. The course offers education in techniques such as architectural design, pattern integration, and refactorings.
CEN 5066. Software Engineering in Graphics (3). Prerequisite: CAP 4730. Software engineering techniques as applied to graphical concepts based on ISO 7942, the Graphical Kernel Systems (GKS). Particular topics include binding times, concept coupling, segments, transformations, passive/active graphics, clipping. A class project is required.
CNT 5505. Data and Computer Communications (3). Prerequisite: CDA 3101 and COP 4610. Overview of networks; data communications principles; data link layer; routing in packet switched networks; flow and congestion control; multiple access communication protocols; local area network protocols and standards; network interconnection; transport protocols; intergrated services digital networks (narrowband and broadband); switching techniques and fast packet switching.
CEN 5720. Computer-Human Interaction (3). Prerequisite: COP 4530. Systematic analysis of user needs and activities from the point of view of the actual user. Design and implementation of effective, user-friendly software. Methods of analysis. Performance and interface of programs. User anxiety and convenience.
CGS 5067. Advanced Navigating the Internet (3). Basic Unix; World Wide Web, Netscape, Lynx, UseNet News, Wais, Mime, Netfind, Traceroute, X.500 directory services, Xv, and HTML programming. Projects include developing Internet tours via the World Wide Web and developing WWW pages for government agencies, community organizations, and businesses. Topology of The Florida State University campus network and the Tallahassee Metropolitan Network.
CGS 5266. Digital Design (3) - (legacy). Prerequisite: MAD 2104 . For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Boolean Algebra and switching functions; gates and IC modules; combinational systems, their simplification and decomposition; symmetric functions; threshold logic; sequential machines; analysis and synthesis; design of digital networks and logic systems.
CGS 5267. Principles of Computer Organization (3). Prerequisite: COP 3502 and MAD 2104. For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Basic computer structure and design, register transfer and micro operations, central processor organization, micro programming, arithmetic processor design, input-output, memory organization, virtual memory, microprocessors and microcomputer architecture.
CGS 5275 - (legacy). Assembly and Machine Language (2). Prerequisite: COP 4530. For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Basic machine organization; number systems and data representation; assembly language programming, including calling conventions for procedures; floating point arithmetic; interrupts and exception handling; advanced architectural features and alternative architectures.
CGS 5409. Object-oriented Programming in C++ for Non-majors (3). Topics include basics of C++ language, objects and classes, programming with classes, constructors and destructors, dynamic memory allocation, function and operator overloading, master classes, the class iostream, base and derived classes, and templates. May not be applied toward a degree in computer science.
CGS 5425. Object-Oriented Programming with Data Structures (3). Prerequisites: COP 3330, and MAD 2104. For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Structured and object-oriented programming; invariant relations, stepwise refinement; text processing, internal sorting methods, linear tables, pointers and linked data structures, recursive programming and recursion elimination, sequential file processing; trees and graphs; program verification and running time analysis; application of concepts through programming projects.
CGS 5426. Programming Language Concepts (3). Prerequisites: COP 3330. For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. A survey of programming languages and language features and an introduction to compilers. Languages to be discussed include FORTRAN, Pascal, Ada, PL/1, APL, and LISP. An oral presentation is required.
CGS 5427. Algorithm Design and Analysis (3). Prerequisites: COP 4530, MAD 2401 . For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Techniques for the analysis of computer algorithms; examples of well-designed algorithms and associated data structures; principles of algorithm design and application to programming projects.
CGS 5428. Relational Database Theory (3). Prerequisites: COP 4531. For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Basic file organization methods, indexed files, multi-key processing; architecture of database management systems; relational, hierarchical network, and semantic database models; normalization; distributed databases and file systems; practical use of a DBMS and the building of a database application.
CGS 5429. Introduction to Computer Theory (3). Prerequisites: MAD 2104 and MAD 3105. for graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Regular expressions; regular, context-free, context-sensitive, and unrestricted grammars; foundations of language theory; finite automata and linear grammars; pushdown automata; turning machines and non-solvability.
CGS 5469. FORTRAN for Graduate Non-specialists (3). Prerequisite: MAC 1102. General introduction, computers and systems, rudiments of FORTRAN, basic data types, arithmetic expressions and assignment statements, basic control statements, arrays, problem solving by computer, subprograms, further data types, formatted input/output.
CGS 5765. Principles of Operating Systems (3). Prerequisites: COP 3330; Pre- or Co-requisite: CDA 3101. For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied towards a graduate degree in computer science. Design principles of batch and multi-programming and time-sharing operating systems. Linking, loading, input-output systems, interacting processes, storage management, process and resource control, file systems.
CIS 5370. Computer Security (3) (previously CIS 5358). Prerequisites: COP 4610 or consent of instructor. Covers threats and attacks (such as computer viruses and Trojan horses), access control, entity authentication, covert channels, inference and database security, secure operating systems, network security, legal and ethics aspects, administering security, physical security, and TEMPEST.
CIS 5371 Cryptography (3). Prerequisites: MAD 3105. This course addresses issues of modern cryptography covering theory and practise. Algorithms such as the RSA, EIGamal and the digital Signature Standard are covered in depth.
CIS 5900r. Directed Individual Study (1-4). (S/U grade only) May be repeated to a maximum of twelve (12) semester hours.
CIS 5910r. Supervised Research (1-5). (S/U grade only.) Cannot be applied to the master's degree. May be repeated to a maximum of five (5) semester hours.
CIS 5915r. Graduate Software Project(1-9). (S/U grade only.) A minimum of three (3) semester hours of credit is required.
CIS 5920r. Colloquium (1). (S/U grade only.) Series of lectures given by faculty and visiting computer scientists. May be repeated up to a maximum of ten (10) semester hours.
CIS 5930r. Selected Topics in Computer Science (1-3). May be repeated to a maximum of twelve (12) semester hours.
CIS 5935. Introductory Seminar on Research (2). (S/U grade only.) Series of lectures given by faculty on research being conducted by the computer science department.
CIS 5940r. Supervised Teaching (1-5). (S/U grade only.) May be repeated to a maximum of five (5) semester hours.
CIS 5970r. Master's Thesis (1-9). (S/U grade only.) A minimum of six (9) semester hours of credit is required.
CNT 5412. Network Security, Active and Passive Defenses (3) Prerequisites: COP 4530, and MAD 2104, or consent of instructor. Course covers defense of computer networks, investigation of threats to computer networks, network vulnerabilities, techniques for strengthening passive defenses, tools for establishing an active network defense, and policies for enhancing forensic analysis of crimes and attacks on computer networks.
CNT 5415. Applied Computer and Network Security (3). In this course, students familiarize themselves with current and emerging threats to the security of computer systems and networks, including viruses, worms, and network intrusion; and with techniques for the prevention, detection, and recovery from such attacks, such as firewalls, intrusion detection systemsm secure coding practices, and others. Attack and defence mechanisms are studied in a systematic way to develop students' practical and analytical skills to identify and correct or mitigate threats to computer systems and networks.
CNT 5605.Computer and Network Administration (3). Prerequisite: COP 4610 . UNIX user commands and shell programming. Problem solving and diagnostic methods, system startup and shutdown, device files and installing devices, disk drives and file systems, NFS, NIS, DNS, send mail. Managing a WWW site, managing UNIX software applications, system security, performance tuning. Legal and professional issues, ethics and policies.
COP 5385. Reactive Systems and Hierarchial State Machines (3). Prerequisites: COP 4530, COP 4610. This course covers the theorey of hierarchial state machines and the use of them to model and implement reactive systems. Implementations of HSMs in C,C++, and Java are explored. HSMs are applied for modeling and implementing RS, including realtime, multi-threaded, and embeded systems. Selected articles from the rapidly expanding literature and and advanced project are included. Permission of instructor required for students with credit for CEN 4XXX.
COP 5517. Generic Programming (3). Generic Programming Principles and Techniques, including most of the following topics: Generic Containers; Function and Predicate Objects; Generic Algorithms; Mediation between containers and algorithms with iterators; Containers and Algorithms in the C++ STL Vectors, Lists, and Deques; Stacks, Queues, Priority Queues, Ordered Sets and Maps, Hashed Sets and Maps, Iterators and Iterator Adaptors, General algorithms, Set algorithms, Heap algorithms, Search algorithms, and Sort algorithms; Extending the STL; Graphs, Digraphs, and Graph Algorithms; Policy Based Design; Partial template specialization; Traits; Typelists; Design Pattern Implementations: Singletons; Smart Pointers; Abstract Factory; and related special topics.
COP 5570. Advanced UNIX programming (3). Prerequisite: COP 4610. UNIX and C standards, file I/O, file access and attributes, directories, the standard I/O library, systems administration files, the process environment, process control, process relationships, signals, terminal I/O, daemon processes, interprocess communication, and pseudo terminals.
COP 5611. Operating Systems (3). Prerequisites: CDA 3101, COP 4610, and introductory probability or statistics. Design principles of batch, multiprogramming, and time-sharing systems; distributed systems; problems of concurrency.
COP 5621. Compiler Construction (3). Prerequisite: COP 4020. Introduction to compiling, elements of language theory, syntax-directed translation, lexical analysis, symbol tables, backtrack parsing, precedence parsing, LR(k) parsing, LL(k) parsing, intermediate code generation, code optimization, code generation, error detection and recovery.
COP 5641. Kernel and Device Driver Programming (3). Prerequisite: COP 4610, COP 5570, or permission of instructor. Internals of the Linux operating system kernel, including virtual and physical memory management, scheduling, and device drivers. Kernel modules, hardware interfaces, char and block devices, kernel debugging, interrupt handling, memory mapping. Laboratory exercises modifying example modules, project developing a new device driver.
COP 5642. RealTime Systems Theory and Practice (3). Prerequisite: COP4610 or COP 5570 Theoretical foundations and practical techniques for the design and implementation of real time computer systems. Topics include applicable scheduling theory, the use of computers for controlling real time processes, the use of a real-time operating system. Laboratory work includes writing software to control a physical device with hard timing constraints, and analysis of scheduling performance by simulation. A term project is required.
COP 5725. Database Systems (3). Prerequisites: COP 4020, COP 4531, COP 4710, COP 4610. Use of a generalized database management system; characteristics of database systems; hierarchical, network, and relational models; file organizations.
COP 5818. Distributed Applications Development (3). Prerequsite: COP 3252. Programming of distributed web applications using Java database connectivity, servlets, Java server pages, remote method invocation, and enterprise Java beans; use of the Sun Microsystems Java 2 Enterprise Edition development platform either directly or through an integrated development environment such as IBM's websphere.
COT 5310. Theory of Automata and Formal Languages (3). Prerequisites: COP 4020, COT 4420. Formal models of computation; automata; formal languages, their relationships, decidable and undecidable problems.
COT 5315. Programming Language Foundations (3). Prerequisites:COP 4020, and MAD 3105 . Conceptual subtleties in programming languages; formal specification of syntax and semantics; issues in the design and implementation of programming languages.
COT 5405. Advanced Algorithms (3). Prerequisites: COP 4531. Algorithms, formal proofs of correctness, and time complexity analysis for: network flow problems, approximation of NP hard combinatorial optimization problems, parallel algorithms, cache-aware algorithms, randomized algorithms, computational geometry, string algorithms, and other topics requiring advanced techniques for proof of correctness or time/space complexity analysis.
COT 5410. Complexity of Algorithms (3). Prerequisites: COP 4531, and COT 4420. Formal methods for the analysis of algorithm complexity, application to specific algorithms, lower bounds, asymptotically optimal algorithms, Reducibilities, NP completeness, and other classifications of ``hard" problems.
COT 5507. Analytical Methods in Computer Science (3). Prerequisite: COP 4531. This course teaches computer science students the fundamental discrete mathematics required for serious graduate work in Algorithms and Theoretical Computer Science. It specifically covers topics in recurrent problems, sums, integer functions, elementary number theory, binomial coefficients, special numbers, and generating functions.
COT 5540. Logic for Computer Science (3). Prerequisite: COT 4420. Syntax, semantics, and proof theory of propositional logic and first order languages; prenex normal form; Gentzen systems; resolution for propositional logic; elements of PROLOG and program verification.
6000 Level Courses
CAP 6417. Theorectical Foundations of Computer Vision (3). Prerequisite: CAP 5415. This course covers theoretical foundations of computer vision. By formulating vision as an inference process, approaches to vision are presented and analyzed systematically. Topics include Marr's computational vision paradigm, regularization theory, Bayesian inference frAmework, pattern theory, and visual learning theories.
COP 6622. Advanced Topics in Compilation (3). Prerequisite: COP 5621. In-depth study of the following topics: attribute grammars and attribute grammar processors, formal methods of semantic analysis, generalized tree transformers, code selection, analysis and optimization, and error analysis and recovery.
CIS 6900r. Directed Individual Study (1-12). (S/U grade only.) May be repeated to a maximum of twenty-four (24) semester hours.
CIS 6930r. Advanced Topics in Computer Science (1-3). May be repeated to a maximum of twelve (12) semester hours.
CIS 6935r. Advanced Seminar in Computer Science(S/U grade only) (1). May be repeated to a maximum of eight (8) semester hours.
CIS 6980r. Dissertation (24-). (S/U grade only.)
8000 Level Courses
CIS 8962r. Doctoral Qualifying Examination (0). (P/F grade only)
CIS 8964r. Doctoral Preliminary Examination (0). (P/F grade only.)
CIS 8966r. Master's Comprehensive Examination (0). (P/F grade only.)
CIS 8974. Master's Project Defense (0). (P/F grade only.)
