Skip to Main Content
Navigated to DEPARTMENT OF COMPUTER SCIENCE.

DEPARTMENT OF COMPUTER SCIENCE

Undergraduate Department of Computer Science


COLLEGE OF ARTS & SCIENCES

Websitehttps://www.cs.fsu.edu

Chair: Weikuan Yu; Professors: Aggarwal, Burmester, Duan, Haiduc, Kumar, Xiuwen Liu, Mascagni, Schwartz, Tyson, A. Wang, Whalley, Yu, Yuan, Z. Zhang, P. Zhao; Associate Professors: Chakraborty, Fedyukovich, Hoang; Assistant Professors: Gao, Gubanov, A. Li, S. Li, Xin Liu, Mallory, G. Wang, Wu, X. Zhang, K. Zhao; Courtesy Professors: He, Karabiyik, Mohror, Mukherjee, Onder, Pakin, Srinvasan; Teaching Faculty III: Langley, M. Myers, R. Myers; Teaching Faculty II: Jayaraman, Mills; Teaching Faculty I: Mithila; Professors Emeriti: Baker, Hawkes, Lacher, Leach, Levitz; Panama City Faculty: Abdullah, Gaitros, Uh, Works

In computer science education, whether graduate or undergraduate, currency is essential. Computer science is an exceptionally fast-moving field where knowledge is subject to rapid obsolescence and ideas progress swiftly from research to practice. The department therefore seeks to offer technical instruction that stays on the cutting edge of new developments while simultaneously providing each student with a core of intellectual tools that will never become obsolete. The department views skills in communication, mathematics, and algorithmic reasoning as central and the understanding of underlying principles as more important than familiarity with specific technical products. Still, direct hands-on experience is essential to mastering these skills and principles. If students are to be adequately prepared for careers in computer science, they should have extensive experience with machines and software that are state-of-the-art.

The Department of Computer Science offers undergraduate and graduate programs leading to the Bachelor of Science (BS) and Bachelor of Arts (BA) degrees, and the Master of Science (MS) and Doctor of Philosophy (PhD) degrees.

The Department has a number of active research programs across the spectrum of computing, including: artificial intelligence, computer architecture, computer graphics, computational biology, compilers, data science, networks and tools for distributed applications, parallel computation, databases and data mining, operating systems, algorithms, scientific problem solving environments, large-scale scientific computation and databases, computer and network security (including cryptography), computer forensics, computer vision, applied computational geometry, random number generation and Monte Carlo methods, as well as applications of fuzzy relations and non-classical logics. These research programs enjoy external support from agencies ranging from the National Science Foundation to the private sector.

The Department of Computer Science has a full range of computing facilities available for instruction and research. Faculty and students share multiple groups of high-performance workstations, file servers, and computer servers over departmental LANs. Students and faculty whose research requires greater computational power have a variety of such equipment and may access other machines, including supercomputers and computer clusters, across the University.

Affiliated research laboratories and research groups include the following:

The Center for Security and Assurance in Information Technology (C-SAIT) Laboratory (https://sait.fsu.edu) is dedicated to synthesis of education and research through the combined focus on theory and application of information security techniques.

The Mobile Lab (https://mobile.cs.fsu.edu) investigates mobile computing and develops mobile and web applications for all platforms, with special emphasis on Android and iOS.

The Computer Architecture and SysTems Research Laboratory (CASTL) (https://castl.cs.fsu.edu) has broad research interests in novel architectural and system technologies for big data analytics, cloud computing, high-performance computer and network systems, and the use of these technologies for fast scientific discoveries on computational biology and climate changes.

The EXPLORER (EXtreme-scale comPuting, modeLing, netwORk & systEms Research) laboratory (https://explorer.cs.fsu.edu) explores cutting-edge technologies for designing, evaluating, constructing, programming, and using extreme-scale distributed computing systems including super-computing systems, cloud computing data centers, networked computing systems, heterogeneous computing systems, and Internet of things.

The Serene (Software EngineeRing: EvolutioN and maintEnance) Laboratory (https://www.cs.fsu.edu/~serene) is dedicated to research in the field of Software Engineering and focusing on novel approaches and techniques to assist software developers in undertaking tasks common to the creation, understanding and maintenance of increasingly large software systems.

The Applied Computer Vision Laboratory (https://cavis.fsu.edu) develops novel and mathematically sound representations, modeling, and computational algorithms for computer vision, image analysis, and pattern recognition with direct medical, biological, and real-time video and image analysis applications.

The E-Crime Investigative Technologies (ECIT) conducts research in support of digital forensics investigations. It develops new technologies and forensic tools to address real-world problems related to electronic or digital crime. ECIT often works closely with the Florida Department of Law Enforcement and with the National White Collar Crime Center.

Degrees Offered


The Department of Computer Science offers programs leading to the Bachelor of Science (BS) and Bachelor of Arts (BA) degrees, the Master of Science (MS) degree, and the Doctor of Philosophy (PhD) degree in Computer Science (CS). At the bachelor and master levels, programs of study are available for those who plan to work toward higher degrees, as well as for students planning on careers as computing professionals.

Additionally, the department offers a Computer Programming and Applications BA major intended to allow students to choose from a variety of computer science electives to create the academic plan that best suits their needs. The department also offers two interdisciplinary degrees.

The department offers a Combined Bachelor's/Master's Pathway: Computer Science BS/MS, designed for academically strong students who wish to pursue an accelerated program culminating in a bachelor's degree and an MS degree in Computer Science. Students who have reached junior status and have at least a minimum 3.5 GPA at FSU and a minimum 3.5 GPA in major coursework should contact the CS undergraduate advisor for more information.

The Computer Science BS, Computer Science BA, and Computer programming and Applications majors also offer the combined path-way programs with the Computer Science MS and Interdisciplinary Data Sciences MS Degrees. Likewise, the Cyber Criminology BS offers the pathway program with the Cyber Criminology MS. These combined bachelor's/master's programs offers select undergraduate students the option of accelerating their studies and getting a head start on graduate school by allowing students in these programs to substitute specific graduate coursework for undergraduate classes and count up to four courses (12 credit hours) toward both bachelor's and master's degrees.

In conjunction with the Department of Biological Science, the department offers an interdisciplinary BS degree in Computational Biology. The purpose of this interdisciplinary major is to provide a top-notch educational program for students interested in the areas of computational biology and bioinformatics. The program seeks to achieve two goals: (1) to develop an understanding of the issues associated with developing biologically meaningful computational models, and (2) to give students the broad-based education that is needed to create a set of models directed toward solving a practical biomedical problem.

In conjunction with the College of Criminology and Criminal Justice, the department offers an interdisciplinary BS degree in Cyber Criminology. This program teaches students to understand the emerging problem of cyber-related crime as well as how computers can assist in the prevention, detection, and apprehension of cyber-crime perpetrators.

In each of the undergraduate degree programs within the Department of Computer Science, students must meet all applicable University and College requirements and, unless otherwise specified, coursework required for the major must be completed with a “C–” or better. No CGS courses, and no internship courses such as CIS 3943r Cooperative Education Work Experience will count toward the requirements for Computer Science BS, Computer Science BA, Cyber Criminology or Computational Biology. CGS courses may count toward the requirements for the BA in Computer Programming and Applications major. CIS 4900r Directed Individual Study may count toward the requirements for Computer Science BS, Computer Science BA, and Computational Biology, but not for Cyber Criminology and Computer Programming and Applications BA. CIS 3250 is a required course for the Computer Science BS major. CIS 3250 can count as a CS elective for Cyber Criminology and Computer Programming and Applications majors. CIS 3250 cannot count as a CS elective for the Computer Science BA major. Starting Fall 2025, CIS 3250 will no longer satisfy the General Education Ethics requirement.

Students may take CIS 4930 up to three times, for a maximum of nine credit hours, provided each instance covers a different topic for CS BS, CS BA, and Computer Programming and Application majors.

Computational Biology and Cyber Criminology students who have major codes within the Department of Biological Science or the College of Criminology are subject to the rules and requirements of those units. All students graduating from the Department of Computer Science will be asked to complete an exit survey in the term prior to graduation.

Currently, Computer Science has no restrictions on the number of hours that can overlap with another major.

Note: All degree requirements stated are subject to change. Please refer to https://www.cs.fsu.edu/academics/undergraduate-programs for the most current information.

Accreditation


The BS degree program in computer science is accredited as a computer science degree program by the Computing Accreditation Commission of ABET, https://www.abet.org. Note that ABET views the BS and BA as distinct degree programs, and that this accreditation is specifically for the BS degree program in CS and is not applicable to the BA degree in CS or the degrees in computational biology or cyber criminology.

Distance Learning


The Computer Science BS, Computer Science BA, and Computer Programming and Applications BA majors offered from the FSU Panama City campus are available through Internet-supported distance learning. Certain limitations regarding students seeking admission to upper-division studies in the Computer Science at the Panama City campus apply. For more information contact Florida State University's Office of Distance Learning (ODL) at https://distance.fsu.edu. Tallahassee computer science students wishing to take a computer science course that is remotely offered by the Panama City computer science faculty need to get permission from the Computer Science Director of Under-graduate Studies. Such permission is typically only provided when a required computer science course is full, is not offered by the Tallahassee campus, or the student has a course conflict that cannot otherwise be resolved.

Honors in the Major


The Department of Computer Science offers a program in honors in the major to encourage talented juniors and seniors to undertake independent and original research as part of the undergraduate experience. For requirements and other information, see the “University Honors Office and Honor Societies” chapter.

Digital Literacy Requirement


Students must complete at least one course designated as meeting the Digital Literacy Requirement with a grade of “C–” or higher. Courses fulfilling the Digital Literacy Requirement must accomplish at least three of the following outcomes:

  • Evaluate and interpret the accuracy, credibility, and relevance of digital information

  • Evaluate and interpret digital data and their implications

  • Discuss the ways in which society and/or culture interact with digital technology

  • Discuss digital technology trends and their professional implications

  • Demonstrate the ability to use digital technology effectively

  • Demonstrate the knowledge to use digital technology safely and ethically

Each academic major has determined the courses that fulfill the Digital Literacy requirement for that major. Students should contact their major department(s) to determine which courses will fulfill their Digital Literacy requirement. Undergraduate computer science, computational biology, and cyber criminology majors must satisfy this requirement by earning a grade of “C–” or higher in COP 3014 or COP 3363.

Note: The Department of Computer Science offers several courses, including CGS 2060, CGS 2100, CGS 3406, CGS 3465, COP 3014, and COP 3363, which are intended to meet the Digital Literacy requirement for students in other majors. However, students should check with their major department regarding whether any of these courses are designated as satisfying the computer skills competency in their major.

Oral Communication Competency


Students must demonstrate the ability to orally transmit ideas and information clearly. This requirement is met through a college-level approved course, such as SPC 1017 or SPC 2608(3). Students taking CIS 3250 or any GE Ethics course may take CIS 3250L (1) Ethics & CS lab to satisfy this requirement.

State of Florida Common Program Prerequisites for Computer Science


The Florida Virtual Campus (FLVC) houses the statewide, internet-based catalog of distance learning courses, degree programs, and resources offered by Florida's public colleges and universities, and they have developed operational procedures and technical guidelines for the catalog that all institutions must follow. The statute governing this policy can be reviewed by visiting https://www.flsenate.gov/Laws/Statutes/2021/1006.73.

FLVC has identified common program prerequisites for the degree program in Computer Science. To obtain the most up-to-date, state-approved prerequisites for this degree, visit: https://cpm.flvc.org/programs/238/246.

Specific prerequisites are required for admission into the upper-division program and must be completed by the student at either a community college or a state university prior to being admitted to this program. Students may be admitted into the University without completing the prerequisites but may not be admitted into the program.

College of Arts & Sciences Requirements


Please review all college-wide degree requirements summarized in the An Overview of the College of Arts & Sciences chapter, as well as all University-wide requirements.

Requirements for the BS and BA Degree Programs in Computer Science


There are four majors for the CS bachelor's degree: the BS in Computer Science (BS CS), the BA in Computer Science (BA CS), the BA in Computer Programming and Applications (BA CPA), and the BA in Computer Science-Math/FSU-Teach (BA CSMFT). Distance-learning versions of the BS CS, BA CS, and BA CPA are offered through the Panama City campus.

Admission to the BS CS and BA CS in computer science will no longer be specialized admissions program. Students earning less than the necessary grade in any of these courses will be required to retake those courses until the standard is met. Note: retaking a course may delay graduation and incur increased fee liability (i.e., repeat course surcharge and excess credit surcharge).

The Computer Science BS and Computer Science BA majors have a retention policy.

The 2.5 GPA requirement applies only to curses taken at FSU that are required for the Computer Science major, including core, elective, and collateral courses. Prerequisite courses are excluded from this GPA calculation.

Limit of D or F Grades in Major Courses:

  1. No more than five D or F grades in any CAP#xxx, CDA#xxx, CEN#xxx, CIS#xxx, CNT#xxx, COP#xxx, COT#xxx (3000 or 4000 level) IDC 4140 and IDC 4290, excluding COP 3363, COP 3014, and COP 3353.

  2. MAD 2104 and MAD 3105* (only in the retention GPA for BS CS majors, not BA CS).

  3. STA 4442 (or STA 4321 or STA 3032). *(Only for CS BS)

CS BS Natural Science Requirements

The Natural Science Requirements for the BS in CS program consist of 12 total credit hours. Students may fulfill this requirement by choosing one of the following options:

 Physics with labs:

  • PHY2048/L (4-5 hours) + PHY2049/L (4-5) + “Science for Majors” to reach total 12 hours.

The hours may vary by institution.

OR

Chemistry with lab and Biology:

  • CHM1045/L (4) + BSC 2010 (3) + BSC 2011 (3) + “Science for Majors” to reach total 12 hours.

 For students following the Chemistry/Biology track, the most efficient way
to fulfill the “Science for Majors” requirement is to take both biology
labs (BSC 2010L and BSC 2011L), as each lab is 1 credit hour. This will
bring your total to 12 credit hours required for graduation.

For more information on the “Science for Majors” courses, refer to the complete list of applicable science courses, https://www.cs.fsu.edu/files/2020_files/Science_for_Majors_2019.pdf.

Core Requirements for the BS and BA Degrees in Computer Science


In addition to all University and College of Arts and Sciences requirements, the common program prerequisites stated above, and the courses specific to each major that are listed separately under the respective headings below, all CS BA and CS BS students must complete the following core courses:

  • MAD 2104 Discrete Mathematics I (3)

  • CDA 3100 Computer Organization I (3)

  • CEN 4020 Software Engineering I (3)

  • CEN 4090L Software Engineering Capstone (1)

  • COP 3363 Introduction to Programming in C++ (3)

  • COP 3330 Data Structures, Algorithms, and Generic Programming I (3)

  • OP 4530 Data Structures, Algorithms, and Generic Programming II (3)

  • COP 4521 Secure Parallel & Distributed Computing in Python

  • COP 4610 Operating Systems and Concurrent Programming (3)

Students may complete COP 3014 (3) Programming I and COP 3353 Unix (1) in place of COP 3363 (3) Introduction to Programming to complete the requirement for this course.

Non-major students completing CGS 3406 with an “A” or “A–” can count this as full credit for COP 3014 when transferring into a major offered by the Computer Science Department.

Additional Requirements for BS Computer Science Major

In addition to the core requirements described above and the common prerequisites for this major, each student must complete:

  • MAD 3105 Discrete Mathematics II (3)

  • COT 4420 Theory of Computation (3)

  • CIS 3250 Ethics and Computer Science (3)

  • STA 3032, 4321, or 4442 (3).

At least 23 credit hours of computer science electives (up to three credit hours can be CIS 4900r), at least fifteen of which must be at the 4000 level (excluding CIS 4900r); one of the 4000-level computer science electives may be replaced with an advanced math elective (which must be a mathematics or statistics course with Calculus II (MAC 2312) or Discrete Mathematics II (MAD 3105) as a prerequisite). The required collateral courses in mathematics, natural science, and statistics constitute an acceptable interdisciplinary minor for students in this major.

Additional Requirements for BA Computer Science Major

In addition to the core requirements described above and the common prerequisites for this major, each student must complete:

  • At least 17 credit hours of computer science electives, at least twelve of which must be at the 4000 level, where up to three hours can be from CIS 4900.

  • At least nine credit hours in the fields of humanities and history, in addition to those taken to satisfy the CoreFSU Curriculum and foreign language requirement.

  • A minor approved by the department.

The general electives and additional courses in the humanities and history may be applied toward satisfaction of the minor requirement. Students should contact the CS undergraduate advisor for information concerning acceptable minors. Additional general electives are required to bring the total credits to 120 hours.

Note: Because of reduced requirements in mathematics and theoretical computer science, students graduating with the BA in CS who wish to be admitted to the graduate program in CS at FSU may be required to take remedial undergraduate courses (https://www.cs.fsu.edu/academics/graduate-programs/undergraduate-pre-requisites), like students from other closely related majors such as Mathematics and Computer Engineering.

Requirements for the BS in Computational Biology


In addition to the common prerequisites for this major, students must complete the following courses from biological sciences: BSC 2010/L, BSC 2011/L, and PCB 3063, for a total of 11 hours.

From computer science, students must complete CDA 3100, COP 3363, COP 3330, and COP 4530, for a total of 12 hours. Students may complete COP 3014 (3) Programming I and COP 3353 (1) Unix in place of COP 3363 (3) Introduction to Programming to complete the requirement for this course.

Students must complete an additional 21 hours of electives chosen from Biology, Computer Science, Math and/or Statistics. The Computer Science electives may be chosen from COP 3252, CEN 4020, COP 4710, COT 4420, and CIS 4900r, IDC 4140. Biology electives are chosen from BOT 4394, BSC 2010L, BSC 2011L, BSC 3402L, BSC 4613, BSC 4900r, BSC 4933, MCB 4403, MCB 4403L, PCB 3134, PCB 3743, PCB 4024, PCB 4233, PCB 4253, PCB 4674, PCB 4701, or PCB 4843. The math electives are chosen from MAC 2312, MAC 2313, MAP 2480, or MAP 4481. The Statistics electives are chosen from STA 4102, STA 4103, STA 4202, STA 4203, STA 4442, STA 4502, or STA 4702.

In addition, the following must be completed: Mathematics: MAC 2311 and MAD 2104 totaling seven hours; Statistics: STA 2122, STA 2171, or STA 4442 totaling three hours; Chemistry: CHM 1045, CHM 1045L, CHM 1046, and CHM 1046L totaling eight hours.

Requirements for the BS Degree Program in Cyber Criminology


Except for CCJ 2020, CCJ 3011, and CCJ 4700, which must be passed with a “C” or better, all courses required for the major must be completed with a grade of “C-” or better.

In addition to the common prerequisites for this major, students must complete the following core from computer science: COP 3330, COP 3363, and CIS 4360, totaling nine hours. Students may complete COP 3014 (3) Programming I and COP 3353 (1) Unix in place of COP 3363 (3) Introduction to Programming to complete the requirement for this course.

A total of 12 elective hours must be completed, chosen from CDA 3100, CEN 4020, CIS 3250, CIS 4930, CNT 4406, CNT 4504, CNT 4603, COP 3252, COP 4342, COP 4530, COP 4610, and COP 4710, IDC 4140. CIS 4930 Special Topic can count for only one CS elective. The capstone course CIS 4385 must be completed for three credits.

From criminology, students must complete the following core: CCJ 2020, CCJ 3011, CCJ 4700, and CJE 3110 totaling 12 hours. A total of six elective hours must be completed, chosen from CCJ 3644, CCJ 3666, CCJ 4497, CCJ 4614, CJC 3010, CJE 4610, CJJ 4010, CJL 3510, and CJL 4064. The capstone course CCJ 4938, CJ System Responses to Cybercrime, must be completed for three credits. CCJ 4746, Statistics in Criminology, is a required course for the Cyber Criminology program.

In mathematics, students must complete MAC 2311 and MAD 2104 for seven hours.

Requirements for the BA in Computer Science with a Major in Computer Programming and Applications


All courses required for the major must be completed with a grade of “C–” or better.

In addition to the common prerequisites for this major, students must complete the following core from computer science: COP 3330, COP 3363, COP 4530, CEN 4020, CEN 4090L, and CDA 3100, totaling 16 hours. Students may complete COP 3014 (3) Programming I and COP 3353 (1) Unix in place of COP 3363 (3) Introduction to Programming to complete the requirement for this course.

A total of 24 elective hours must be completed in the Computer Science department. Six hours of these electives must be programming language electives. At least 21hours of elective coursework must be numbered above 3000.

In mathematics, students must complete MAC 2311 and MAD 2104 for seven hours.

Students must complete a minor approved by the department and at least nine credit hours in the fields of humanities and history, in addition to those taken to satisfy the CoreFSU Curriculum and foreign language requirement.

The general electives and additional courses in the humanities and history may be applied toward satisfaction of the minor requirement. Students should contact the CS undergraduate advisor for information concerning acceptable minors. Additional general electives are required to bring the total credits to 120 hours.

Requirements for a Minor in Computer Science


Students pursuing a minor in Computer Science may choose a minimum of 12 hours from a list of computer science courses preapproved by the department. Courses outside of the preapproved lists must be approved in advance (in writing) by the department. Students must also satisfy stated prerequisites before enrolling in any computer science course offered by the Computer Science Department, including CGS 2060 (or CGS 2100), CGS 3465, CGS 3406 (or COP 3014 or COP 3363), additional COP 3XXX/4XXX, CIS 3XXX/4XXX, CNT 3XXX/4XXX, CDA 3XXX/4XXX, and CAP 3XXX/CAP4XXX to a total of 12 hours, subject to the following:

Only one of CGS 2060 and CGS 2100 can be counted toward the minor;

Only one from CGS 3406, COP 3014, and COP 3363 can be counted toward the minor; and

At least one programming course from CGS 3465, CGS 3416, COP 3014 (or CGS 3406, or COP 3363). Students must also satisfy stated prerequisites before enrolling in any computer science course.

A grade of “C–” or higher must be earned in each course counted toward the minor. For more information on the minor, including preapproved courses, see https://www.cs.fsu.edu/academics/undergraduate-programs/minor-in-computer-science.