The computer science field addresses some of the most interesting and challenging problems of society. Computer scientists work at the forefront of technological progress and expanding the human intellect. They study phenomena connected with computers and computation including software (algorithms, data structures), and many diverse applications of computational thinking and techniques. Focus areas include robotics, artificial intelligence, cyber security, data analytics, simulation, game and other app design, data mining and more.
Computer Science emphasizes the mathematical and theoretical foundations of computing, rather than teaching specific technologies. A tremendous number of opportunities in a variety of fields awaits computer science graduates, including robotics, computer gaming, virtual reality, computer vision, media convergence, digital, evolutionary computing, computer architecture and so much more.
CECS Progress Policy
- Students in the Computer Science major are expected to make consistent good progress toward their degrees to remain enrolled in, or eligible for, any major, minor, or certificate in the College of Engineering & Computer Science (CECS) or the College of Optics and Photonics (COP). To support this, CECS and COP enforce a Progress Policy with two components: the low grade component and the repeat attempt component.
- Low Grade Component: Any student majoring in Computer Science who has accumulated 7 or more unsuccessful attempts (i.e., grades below "C" (2.0), U grades, and withdrawals, including in 0-credit courses) over all courses taken at UCF will be placed on Lack of Progress Probation and remain on Lack of Progress Probation as long as the student is enrolled in a CECS or COP major. If a student on Lack of Progress Probation has a tenth unsuccessful attempt over all courses taken at UCF, the student will be Excluded from all CECS and COP majors, minors, and certificates.
- Repeat Attempt Component: Any student majoring in Computer Science who repeats any UCF course and does not earn a grade of "C" (2.0) or better on the second attempt will be placed on Lack of Progress Probation and remain on Lack of Progress Probation as long as the student is enrolled in a CECS or COP major. If a student on Lack of Progress Probation does not receive a grade of "C" (2.0) or better by the third attempt in the same UCF course, the student will be Excluded from all CECS and COP majors, minors, and certificates.
- A student who has been excluded from CECS and COP majors cannot declare any CECS or COP minors or certificates unless as required by the student’s degree program. A student who has been excluded from CECS and COP majors may seek readmission to a major in CECS or COP after earning a bachelor’s degree or relevant associate of science degree, either from another college at UCF or from another institution. To be eligible for readmission to CECS or COP, the student must not have accumulated any additional low grades in subsequent coursework used to complete the earned degree. An excluded student who meets these criteria is not guaranteed readmission to a CECS or COP major. Any student who is readmitted to the Computer Science major will be subject to all probation conditions that applied at the time of exclusion.
Degree Requirements
Basic Core Requirements
33 Total Credits
- A "C" (2.0) or better is required for all courses in Basic Core Requirements, Advanced Core Requirements, and Restricted Electives. STA 2023 is specifically identified in the GEP.
33 Total Credits
- Complete all of the following
- Earn a minimum grade of C in each of the following:
- COP3330 - Object Oriented Programming (3)
- COT3100C - Introduction to Discrete Structures (3)
- CDA3103C - Computer Logic and Organization (3)
- CIS3360 - Security in Computing (3)
- COP3502C - Computer Science I (3)
- COP3503C - Computer Science II (3)
- COP3402 - Systems Software (3)
- COT4210 - Discrete Structures II (3)
- COP4331C - Processes for Object-Oriented Software Development (3)
- Complete at least 1 of the following:
- CAP4611 - Algorithms for Machine Learning (3)
- CAP4630 - Artificial Intelligence (3)
- CAP4453 - Robot Vision (3)
- CAP4641 - Natural Language Processing (3)
- Earn a minimum grade of S in each of the following:
- COT3960 - Foundation Exam
- Complete at least 1 of the following:
- ENC3241 - Writing for the Technical Professional (3)
- ENC3250 - Professional Writing (3)
- Earn a minimum grade of C in each of the following: STA 2023 - Statistical Methods I (3)
Advanced Core Requirements
24 Total Credits
- A "C" (2.0) or better is required for all courses in Basic Core Requirements, Advanced Core Requirements, and Restricted Electives. A minimum 2.500 GPA is required for courses in this section.
Technical Electives
18 Total Credits
- Complete all of the following
- Earn at least 18 credits from the following types of courses: Any 4000-5000 level Computer Science course that is not a required undergraduate course will count as a technical elective.
- Only ONE of the following six Information Technology courses may count as a Computer Science technical elective: CAP4102, CIS4004, CIS4524, CNT4603, CNT4703, and CNT4714.
- At most 3 hours of independent study or research allowed. No cooperative education credits are allowed.
- It is recommended that students take at least 3 classes from a primary area to gain an in-depth knowledge in that area of Computer Science. Refer to "Program Details" for more information on the primary areas.
Capstone Requirements
6 Total Credits
- Earn a minimum grade of C in each of the following:
- COP4934 - Senior Design I (3)
- COP4935 - Senior Design II (3)
Restricted Electives
9 Total Credits
- A "C" (2.0) or better is required for all courses in Basic Core Requirements, Advanced Core Requirements, and Restricted Electives.
Math/Statistics
3 Total Credits
- Earn at least 3 credits from the following types of courses: MAC2313, MAP2302, MAS3105, MAS3106, or any 4000-5000 level Math/Statistics course with a MAA, MAD, MAS, or STA prefix, except independent study hours, internship, or cooperative education hours.
Flex STEM
6 Total Credits
- Earn at least 6 credits from the following types of courses: Any 2000-level or above course with the following prefixes: CS/IT (CAP, CGS, CDA, CIS, CNT, COP, COT), Engineering (BME, CCE, CEG, CES, CGN, CWR, EAS, EEE, EEL, EGN, EGS, EIN, EMA, EML, ENV, ESI, TTE), Mathematics (MAA, MAC, MAD, MAP, MAS, MTG, STA), Science (BCH, BOT, BSC, CHM, CHS, MCB, PCB, PHY, PHZ, ZOO)
Grand Total Credits: 66
Total Undergraduate Credit Hours Required: 120
Electives
- Remaining hours needed to meet the minimum of 120 hours for graduation should be met with Free Electives.
Plan of Study
- A tentative course schedule for entering freshman is available on the CECS Academic Affairs Office website at https://academicaffairs.cecs.ucf.edu/. Students should consult with an Academic Success Coach to develop a personalized plan to graduation.
Additional Requirements
- Students must pass the Foundation Exam to access required 4000-level courses. This exam covers problem solving techniques, algorithms, abstraction, and programming language skills. Tests will be administered each semester. More information on the Foundation Exam is available on the department website at https://www.cs.ucf.edu/computer-science/.
CECS Senior Design Sequencing Policy
- CECS students who are required to complete a two-course Senior Design sequence are expected to complete the course sequence in consecutive terms (Fall-Spring, Spring-Summer, or Summer-Fall). The Senior Design sequence is expected to be taken during the last two semesters of the academic program.
- Students are expected to enroll into and complete Senior Design 1 in the semester where permission is granted. Permission to delay Senior Design 1 to subsequent terms will not be considered unless the requisites to enroll into Senior Design 1 have not been satisfied or the initial attempt of Senior Design 1 was not completed with a passing grade.
Foreign Language Requirements
- Two years of one foreign language in high school, or one year of one foreign language in college (or equivalent proficiency exam) prior to graduation.
Departmental Exit Requirements
- Computer Science students must earn at least 24 hours in residence of regularly scheduled 3000-5000 level courses taken from the Computer Science Department at UCF.
- 18 of the 24 residency hours must be 4000-5000 level courses taken from the Computer Science Department at UCF and applicable to the degree program.
College Exit Requirements
- Students must complete at least eight upper-division courses towards their degree within CECS at UCF.
- Students must complete all their discipline-specific senior design and/or capstone course(s) within CECS at UCF.
University Minimum Exit Requirements
- Students must have a minimum 2.0 UCF GPA.
- Students must have completed 42 semester hours of upper division credit.
- 30 of the last 39 hours of course work must be completed in residency at UCF.
- A maximum of 45 hours of extension, correspondence, CLEP, Credit by Exam, and Armed Forces credits permitted.
- Complete the General Education Program, the State Writing and Math Requirement, nine hours of Summer credit, and Civic Literacy Requirement.
Honors In Major
- Information on Honors in the Major can be found at https://honors.ucf.edu/.
Related Programs
- Computer Engineering (B.S.Cp.E.)
- Information Technology (B.S.)
- Cyber Operations Certificate
- Intelligent Robotic Systems (IRS), Interdisciplinary Minor
- Secure Computing and Networks Minor
Advising Notes
- Students should meet regularly with their Academic Success Coach. Contact the CECS Academic Affairs Office (https://academicaffairs.cecs.ucf.edu/) for more information on meeting with an Academic Success Coach.
- Each student should seek academic advisement before registering for classes each semester to minimize excess hours and to ensure that satisfactory academic progress is being maintained.
- The Computer Science program offers the Accelerated BS-MS Program to students of high academic standing. This program allows up to twelve hours to be shared between the BS and MS degrees. Visit https://grad.cecs.ucf.edu/bstoms/ for more information.
Transfer Notes
- Courses transferred must be formally evaluated for equivalency credit. The student must provide all supporting information with his/her petition for this evaluation.
- Helpful transfer student resources, including established course equivalencies, are available online at https://registrar.ucf.edu/transfer-student-resources/.
Program Academic Learning Compacts
- Program Academic Learning Compacts (student learning outcomes) for undergraduate programs are located at: http://www.oeas.ucf.edu/alc/academic_learning_compacts.htm
Equipment Fees
- Part-Time Student: $28 per term
- Full-Time Student: $57 per term
Primary Areas
- There are nine primary areas for technical electives. In each area listed below, the listed courses are only for reference and are non-exhaustive.
- All courses listed below are 3 credit hours each.
Systems Area
- CDA 5106 - Advanced Computer Architecture
- CDA 5110 - Parallel Architecture and Algorithms
- COP 4020 - Programming Languages I
- COP 4520 - Concepts of Parallel and Distributed Processing
- COP 4600 - Operating Systems
- COP 4710 - Database Systems
- COP 5611 - Operating System Design Principles
- COP 5621 - Compiler Construction
- COP 5711 - Parallel and Distributed Database Systems
- COT 5600 - Quantum Computing
- EEL 4768 - Computer Architecture
- PHY 3650 - Quantum Information Processing
Artificial Intelligence and Machine Learning Area
- CAP 4053 - AI for Game Programming
- CAP 4453 - Robot Vision
- CAP 4611 - Algorithms for Machine Learning
- CAP 4630 - Introduction to Artificial Intelligence
- CAP 4641 - Natural Language Processing
- CAP 5415 - Computer Vision
- CAP 5512 - Evolutionary Computing
- CAP 5610 - Machine Learning
- CAP 5636 - Advanced Artificial Intelligence
- EGN 4060C - Introduction to Robotics
Graphics, Games, and Human-Computer Interaction Area
- CAP 4053 - AI for Game Programming
- CAP 4720 - Computer Graphics
- CAP 5115 - Virtual Reality Engineering
- CAP 5725 - Computer Graphics Systems I
Algorithms and Complexity Area
- CAP 5510 - Bioinformatics
- CAP 5512 - Evolutionary Computing
- COP 4516 - Problem Solving Techniques and Team Dynamics
- COP 5021 - Program Analysis
- COP 5537 - Network Optimization
- COT 4400 - Tools for Algorithm Analysis
- COT 4500 - Numerical Calculus
- COT 5405 - Design and Analysis of Algorithms
- COT 5600 - Quantum Computing
- MAP 4384 - Numerical Methods for Computational Sciences
- PHY 3650 - Quantum Information Processing
Software Engineering Area
- CEN 4360 - Mobile Device Software Development
- CEN 5016 - Software Engineering
- CIS 4615 - Secure Software Development and Assurance
- COP 4020 - Programming Languages I
- COP 4520 - Concepts of Parallel and Distributed Processing
- COP 4710 - Database Systems
- COP 5021 - Program Analysis
- COP 5621 - Compiler Construction
- COP 5711 - Parallel and Distributed Database Systems
Cybersecurity Area
- CAP 4145 - Introduction to Malware Analysis
- CAP 5150 - Foundations of Computer Security and Privacy
- CIS 3362 - Cryptography and Information Security
- CIS 4203 - Digital Forensics
- CIS 4361 - Secure Operating Systems and Administration
- CIS 4364 - Cyber Defense Analysis
- CIS 4615 - Secure Software Development and Assurance
- CIS 4940 - Topics in Cybersecurity
- EEE 4346C - Hardware Security and Trusted Circuit Design
Big Data Area
- CAP 4314 - Social Network Analysis
- CAP 5610 - Machine Learning
- CDA 5110 - Parallel Architecture and Algorithms
- COP 4520 - Concepts of Parallel and Distributed Processing
- COP 4710 - Database Systems
- COP 5611 - Operating System Design Principles
- COP 5711 - Parallel and Distributed Database Systems
- COT 4500 - Numerical Calculus
- EEL 4768 - Computer Architecture
Vision and Robotics Area
- CAP 4453 - Robot Vision
- CAP 4720 - Computer Graphics
- CAP 5415 - Computer Vision
- CAP 5725 - Computer Graphics Systems I
- EEL 4660 - Robotic Systems
- EEL 5820 - Image Processing
- EGN 4060C - Introduction to Robotics
Computer Networks Area
- CNT 4403 - Network Security and Privacy
- CNT 4704 - Analysis of Computer Communication Networks
- CNT 5008 - Computer Communication Networks Architecture
- CNT 5805 - Network Science
- COP 5537 - Network Optimization
- EEL 4781 - Computer Communication Networks
- EEL 5780 - Wireless Networks