Bachelors degree programs are currently available through the College of Liberal Arts and Sciences and the College of Engineering. A minor in computer and information science, master's degree programs and a Ph.D. program also are available.
There are strict limitations on the use of CGS and survey courses in the programs offered by the department.
College of Engineering degree program in computer engineering: Refer to the College of Engineering section of the catalog for degree requirements; this program is offered by the CISE department.
The College of Engineering offers two degrees in computer engineering: The CEN degree (computer engineering - software option) is offered by the CISE department and the CEE degree (computer engineering - hardware option) is offered by the ECE department.
The college also offers a CSE degree program (computer science) through the CISE department.
College of Liberal Arts and Sciences degree program in computer science: Refer to the College of Liberal Arts and Sciences section of the catalog for degree requirements.
CAP 3020 Theory and Practice of Multimedia Production
Credits: 3; Prereq: CAP 3027.
Combines the traditional media production pipeline and software engineering processes to synthesize an approach geared for the production of works incorporating both artistic and computational elements.
CAP 3027 Introduction to Digital Arts and Sciences
Credits: 3; Prereq: COP 3504 or COP 3503.
Synergy between fine art and computing through a programming-oriented exploration of fundamental concepts in multimedia.
CAP 3032 Interactive Modeling and Animation 1
Credits: 3; Prereq: MAC 1147 or equivalent.
Introduces programming and data structures for interactive two-dimensional multimedia applications. Representing form and transforms in two dimensions, capturing user actions and driving application behavior interactively. Graphical interfaces, image processing, automata and basic artificial intelligence.
CAP 3033 Interactive Modeling and Animation 2
Credits: 3; Prereq: CAP 3032.
Introduces programming and data structures for interactive three-dimensional multimedia applications. Representing form and transforms in three dimensions, capturing user actions and driving application behavior interactively. Rendering, scene graphs, automats and basic artificial intelligence.
CAP 3034 Introduction to Computer-Aided Animation
Credits: 3; Prereq: MAC 1147 or equivalent.
Introduces topics related to computer-aided animation. Rigging for forward and inverse kinematics. Skin weighting. Morph targets. Expression-driven animation, rigid-body and particle simulation.
CAP 3220 Introduction to Computer-Aided Modeling
Credits: 3; Prereq: MAC 1147 or equivalent.
Introduces topics related to computer-aided modeling. Polygonal mesh, NURBS and subdivision surface meshes. Materials and shading networks. Lighting, shadows and rendering.
CAP 4053 Artificial Intelligence for Computer Games
Credits: 3; Prereq: COP 3530.
Examines the use of A.I. in computer games. Topics include general A.I. knowledge, path finding, movement, tactics and planning, strategy, state machines, learning, dialogue, and emotions.
CAP 4403 Introduction to Aesthetic Computing
Credits: 3; Prereq: COP 3530.
Basic concepts of applying aesthetics to the representation of formal discrete structures found in computing, as well as to their operational behaviors.
Credits: 3; Prereq: COP 3530; and MAC 2312, MAC 3473 or MAC 3512.
Survey of techniques used to replicate the human vision process in computer systems. Topics include image formation, image algebra, filtering, range extraction, edge and boundary detection, region growing, and model based vision.
CAP 4621 Artificial Intelligence and Heuristics
Credits: 3; Prereq: COP 3530.
Introduces artificial intelligence concepts. Heuristic search, clause form logic, knowledge representation, reasoning and inference, overview of computer vision, planning, natural language, Lisp and Prolog. (M)
CAP 4680 Knowledge-Based System: Theory and Practice
Credits: 3; Prereq: COP 3530.
Concepts, theory and various applications for knowledge-based (expert) systems, reasoning schemes, knowledge representation, knowledge-based system tools, building knowledge bases, knowledge acquisition, reasoning under certainty and inexact reasoning.
CAP 4730 Computational Structures in Computer Graphics
Credits: 3; Prereq: COP 3530.
Studies the major topics in computer graphics: display and output technology, two and three dimensional manipulations; space curves and surfaces, hidden surface removal and shading models.
Credits: 3; Prereq: COP 3530.
Introduces the basics of data science including programming for data analytics, file management,
relational databases, classification, clustering and regression. The foundation is laid for big data
applications ranging from social networks to medical and business informatics.
Credits: 3; Prereq: COP 3530.
Simulation methodology and practice. Covers basic concepts in modeling and analysis for both continuous and discrete systems. Combined simulation methods including integrated qualitative/quantitative system modeling. Uses in-house simulation software. (M)
CDA 3101 Introduction to Computer Organization
Credits: 3; Prereq: COP 3504 or COP 3503; and MAC 2233, MAC 2311 or MAC 3472.
Organization of computing systems. Logical basis of computer structure. Machine representation of instructions and data, flow of control, and basic machine instructions. Assembly language programming. (M)
Credits: 3; Prereq: CDA 3101 and COP 3530.
Introduces computer architecture and system organization including virtual memory supports cache, pipeline, vector processing, multiprocessor and RISC architecture.
CEN 3031 Introduction to Software Engineering
Credits: 3; Prereq: COP 3530.
Topics include software planning, specifications, coding, testing and maintenance. Students gain experience in the team approach to large system development. (M)
CEN 3913 Computer and Information Science and Engineering Design 1
Credits: 3; Prereq: CEN 3031.
Preparatory skills are developed for CISE Design 2 for Computer Engineering students. Student teams design, produce and report on a software prototype, meeting defined specifications and using a structured design methodology and project management.
CEN 4072 Software Testing and Verification
Credits: 3; Prereq: CEN 3031.
Concepts, principles and techniques of software testing and verification. Strengths and limitations of black-box and white-box testing methods; techniques for proving the correctness of programs.
Credits: 3; Prereq: COP 3530.
Studies the major topics in the study, planning and design of the interaction between people and computers. Topics include interface design (principles, theories and guidelines), virtual environments, interactive devices and collaboration.
Credits: 3; Prereq: COP 3530 with minimum grade of C.
Introduces the design, development and evaluation of Natural User Interaction (NUI) technologies (e.g., non-keyboard and mouse technologies such as touchscreen interaction, gesture interaction, speech interaction, etc.). Discussion of the hardware-to-software NUI pipeline and key considerations when developing NUI software, including existing platforms, toolkits and APIs used to create NUI software.
CEN 4914 Computer and Information Science and Engineering Design 2
Credits: 3; Prereq: CEN 3913.
Involves completing a significant CEN-related project. Student must coordinate with the instructor and a project adviser, prepare a detailed technical report and deliver an oral presentation.
Credits: 3; Prereq: MAC 1147.
Introduces interdisciplinary computer science topics. Logic, discrete structures, algorithms and automa. Exploration of topics relating mathematics and computing to art, music and nature. (M)
CGS 2531 Problem Solving Using Computer Software
Credits: 3; Prereq: MAC 1147 or the equivalent.
A problem-solving introduction and thorough exploration of word processing, spreadsheet analysis, database management, multimedia presentations, e-mail and the Internet. Topics also include hardware, software and information technology. The problem-solving approach also aids students in their majors. (M)
Credits: 3.
Impact of computers on society. Discussion includes specific cases from many areas, but does not include problem solution by the student. This course does not teach how to use the computer but gives an understanding of the implications of computers. (S) (WR)
CGS 3065 Legal and Social Issues in Computing
Credits: 3; Prereq: previous experience in Unix environment.
Explores the history, the myth, the ethics, the law and the risks of computer-based technology in modern society. Emphasizes critical analysis of hypotheticals and case studies. Published material is supplemented with on-line Internet references.
Credits: 3.
Introduces many issues in cybersecurity including ubiquity of processors and communications in modern society, vulnerabilities of computers, networks, data, and embedded systems; privacy, risk management, social engineering, various attacks on computers and networked systems, attacks on user authentication systems. Expect weekly discussion of current topics.
CIS 4204 Penetration Testing: Ethical Hacking
Credits: 3; Prereq: COP 3530.
Introduces principles and techniques associated with the cybersecurity practice known as
penetration testing or ethical hacking. The course covers planning, reconnaissance, scanning, exploitation, post-exploitation and result reporting. The student discovers how system vulnerabilities can be exploited and learns to avoid such problems.
CIS 4301 Information and Database Systems 1
Credits: 3; Prereq: COP 3504, or COP 3503 and COT 3100.
The first part of a two-course sequence that studies the essential concepts, principles and techniques of modern database systems. Topics include modeling and querying of data using conceptual data models as well as the development of a database application. (M)
Credits: 3; Prereq: COT 3100 or the equivalent.
Introduces classical and modern cryptography and cryptanalysis, including symmetric and asymmetric (public key) ciphers. The course covers cryptographic hash functions, block and stream ciphers, as well as differential and linear cryptanalysis. Reviews applications of cryptography, cryptographic standards and protocols, and analyzes case studies of failed implementations.
Credits: 1 to 4; can be repeated with change in content up to 8 credits.
Problems in different areas of computer science.
CIS 4912C Integrated Product and Process Design 1
Credits: 3; Prereq: CDA 3101, COP 3530, COT 3100 and instructor permission.
The first part of a two-course sequence where teams of engineering and business students partner with industry sponsors to design and build authentic products and processes. Working closely with an industry liaison engineer and a faculty coach, students gain practical experience in teamwork and communication, problem solving and engineering design, and develop leadership, management and people skills. Weekly workshop activities adapt lecture topics to individual projects. Students learn firsthand how to develop products and processes that meet customer requirements on time and within budget.
CIS 4913C Integrated Product and Process Design 2
Credits: 3; Prereq: CIS 4912C.
The second part of the CIS 4912/4913 sequence where teams of engineering and business students partner with industry sponsors to design and build authentic products and processes
Credits: 3; Prereq: senior CISE standing and approved project proposal.
Involves completing a significant CISE-related project. Student must coordinate with the instructor and a project adviser, prepare a detailed technical report and deliver an oral presentation. (M)
Credits: 1 to 4; can be repeated with change in content up to 12 credits. Prereq: departmental approval.
Variable content course providing an opportunity for in-depth study of topics not offered in other courses and of topics of current significance.
Credits: 1; can be repeated for additional credit.
One term practical software engineering work under industrial supervision as set forth in the College of Engineering regulations. (S-U)
Credits: 1.
Practical engineering work under industrial supervision, as set forth in the College of Engineering regulations. (S-U)
Credits: 1 to 15; can be repeated with change in content up to 15 credits. Prereq: undergraduate adviser permission.
Provides a mechanism by which coursework taken as part of an approved study abroad program can be recorded on the UF transcript and counted toward graduation.
Credits: 4; Prereq: COP 4600.
The fundamental concepts, principles and standards of computer networks. Topics are introduced in bottom-up approach, starting from physical layer in OSI system architecture with a stronger focus on data link, mac, network and transport layers.
(M)
Credits: 3; Prereq: CNT 4007C and COP 4600 or equivalent.
Examines networked threats and vulnerabilities; trust, identification, authentication, and authorization in networked and distributed systems; secure network protocols and standards; certification of network products; firewall configurations, intrusion detection, and anomaly detection; security flaws in network protocols and distributed applications. Coursework includes projects.
COP 2271 Computer Programming for Engineers
Credits: 2; Prereq: MAC 2312.
Computer programming and the use of computers to solve engineering and mathematical problems. Emphasizes applying problem solving skills. This intensive course is directed toward technical careers in fields employing a reasonably high degree of mathematics. The programming language used depends on the demands of the departments in the college. In one semester, several languages may be taught, no more than one per section. Students required to learn a specific language must enroll in the correct section. (M)
COP 2271L Computer Programming for Engineers Laboratory
Credits: 1; Coreq: COP 2271.
Laboratory for computer programming and the use of computers to solve engineering and mathematical problems. Emphasizes applying problem solving skills. (M)
COP 2800 Computer Programming Using JAVA
Credits: 3; Prereq: MAC 1147 or the equivalent.
In-depth treatment of computer programming using JAVA. Problems related to a variety of disciplines are solved. Introduces the basic concepts of software and hardware; students will develop a variety of stand-alone applications and applets. For non-CISE majors only.
Credits: 3; Prereq: COP 3504 or COP 3503.
In-depth treatment of the C++ programming language. Introduces Windows programming using Visual C++.
Credits: 3; Prereq: MAC 1147 or the equivalent.
Course solves problems related to a variety of disciplines and introduces students to the basic concepts of software and hardware. (M)
Credits: 3; Coreq: MAC 2311.
The first course of a two-semester introductory sequence for students planning further study in computer science, digital arts and sciences or computer engineering. Concepts of computer science and the process of computer programming, including object-oriented programming, procedural and data abstraction and program modularity.
Credits: 3; Prereq: COP 3502 with a minimum grade of C or an AP exam in computer science with a minimum grade of 4; and MAC 2311.
The second course of a two-semester introductory sequence for students planning further study in computer science, digital arts and sciences or computer engineering. Concepts of computer science and the process of computer programming, including object-oriented programming, procedural and data abstraction and program modularity.
COP 3504 Advanced Programming Fundamentals for CIS Majors
Credits: 3; Prereq: MAC 2311 or MAC 3472, programming experience.
A fast-paced introduction to computer science for students with prior programming experience. Explores major concepts of computer science and the process of computer programming, including object-oriented programming, procedural and data abstraction and program modularity. (M)
Credits: 4; Prereq: COP 3504 or COP 3503 with minimum grade of C, COT 3100, and MAC 2234, MAC 2312, MAC 3473 or MAC 3512.
Algorithm development using pseudo languages, basic program structures, program design techniques, storage and manipulation of basic data structures like arrays, stacks, queues, sorting and searching and string processing. Linked linear lists. Trees and multilinked structures. (M)
Credits: 3; Prereq: COP 3530.
Introduces programming language principles, including language constructs, design goals, run-time structures, implementation techniques and exposure to a wide variety of programming paradigms.
Credits: 3; Prereq: COP 3530.
Fundamental conceptual models for programming languages illustrated with specific programming languages and application problems. Specific topics include class and object models, inheritance among classes, objects and static and dynamic systems and implementations.
Credits: 3; Prereq: CDA 3101 and COP 3530; knowledge of C or C++ recommended.
The design and implementation of various components of a modern operating system, including I/O programming, interrupt handling, process and resource management, computer networks and distributed systems. (M)
COP 4620 Translators and Translator Writing Systems
Credits: 3; Prereq: COP 3530.
Translation of languages, scanning and parsing techniques. Translator writing systems. The implementation of a compiler. (M)
COP 4720 Information and Database Systems 2
Credits: 3; Prereq: CIS 4301 and COP 3530.
Part two of a two-course sequence. Provides a basic understanding of the internals of a modern database system. Topics include data storage, indexing, query processing and advanced concepts such as database tuning, alternate data models and emerging applications. (M)
COT 3100 Applications of Discrete Structures
Credits: 3; Prereq: MAC 2233 or MAC 2311 or MAC 3472; Coreq: COP 3504 or COP 3503.
Covers the mathematics of discrete events; i.e., events that involve distinct elements, finite structures of distinct elements or finite sampled versions of continuous phenomena (such as movement). (M)
COT 4501 Numerical Analysis-A Computational Approach
Credits: 3; Prereq: COP 3504 or COP 3503 and MAS 3114.
Numerical integration, nonlinear equations, linear and nonlinear systems of equations, differential equations and interpolation.
Credits: 3; Prereq: COP 4600.
Studies the underlying concepts and techniques employed in the installation, administration and tuning of UNIX operating systems. Topics covered include operating system installation, simple network configuration, file backup and restore, account administration, device management, scheduling, file systems, network management, and basic system and network security.