Florida State University General Bulletin 1998-1999

FSU Homepage Office of the Registrar On-Line Registration 1997-1999 Graduate Bulletin Table of Contents

Academic Departments and Programs (course descriptions)



Chair: R.C. Lacher;
Associate Chair: Leach;
Professors: Baker, Hawkes, Kohout, Lacher, Levitz, Riccardi;
Associate Professors: Hruska, Schwartz, Whalley;
Assistant Professor: McDuffie;
Courtesy Professor: Kuncicky;
Computing Resources Manager: Bauer

The mission of the Department of Computer Science is to provide students with the fundamental knowledge and interdisciplinary problem-solving skills required for a fulfilling career, and to create and disseminate knowledge to improve computer science education and practice.

A student in the department can look forward professionally to employment in an industrial or financial firm, a governmental agency, or secondary, college, or university teaching.

In computer science education, whether graduate or undergraduate, keeping up with progress in the field 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 on the frontier 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 modern machines and software.

The department also has a number of active research programs, in core disciplines, such as programming languages, compilers, real-time systems, databases, fault tolerance, and foundations; in advanced technology sciences, including neural networks, expert networks, and fuzzy sets and systems; and in engineering application areas, including computer vision, hypermedia, and science support systems. These research programs enjoy external support from agencies ranging from the National Science Foundation to the private sector.

In support of the research mission, as well as in support of the instructional and public service missions, numerous research institutes and research centers have been established at the University. Three of these institutes and centers particularly affect the operation of the computer science programs.

The Institute for Cognitive Sciences was established to conduct interdisciplinary research in the field of human cognition. The Department of Computer Science is one of five participating academic departments.

The Supercomputer Computations Research Institute (SCRI) was established as a University-based multidisciplinary program to develop new algorithms and numerical methods to exploit various supercomputer architectural characteristics. Partially funded by the United States Department of Energy, SCRI consists of scientists, postdoctoral research fellows, graduate students, and supporting technical and administrative staff.

Academic Computing and Network Services (ACNS) is the academic computing center for the University. A completely separate computing center with its own staff and equipment, the Northwest Regional Data Center, provides all necessary administrative computing services required by the University. ACNS supports computer science course work as necessary, both at the undergraduate and graduate levels.

The Department of Computer Science has a full range of computing facilities available for a variety of instructional and research needs. Faculty and graduate students share a group of high-performance workstations, file servers, and compute servers over the departmental LAN. A majors laboratory supports undergraduate and graduate instructional needs through networked workstations and file servers. Dial-up access is supported through multiport modem servers. All departmental machines are connected to the local campus network and the internet. Students and faculty whose research requires higher computational power may apply for access to a variety of state-of-the-art machines, including supercomputers and compute clusters, across the University.

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) and master of arts (MA) degrees, and the doctor of philosophy (PhD) degree in computer and information sciences (CIS). 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.


The undergraduate program in computer science is accredited by the Computer Science Accreditation Commission (CSAC) of the Computing Sciences Accreditation Board (CSAB), a specialized accrediting body recognized by the Council on Postsecondary Accreditation (COPA) and the United States Department of Education.

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 Program and Honor Societies section of this General Bulletin.

State of Florida Common Course Prerequisites

The State of Florida has identified common course prerequisites for this University degree program. 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.

The following lists the common prerequisites or their substitutions necessary for admission into this upper-division degree program:

1)MAC X311;

Note: the following courses, though not required for admission into the upper division major, are required for completion of the degree:

  1. COP XXXX (Introductory Programming in Ada, C, C++, or PASCAL or equivalent language);
  2. MAC X312;
  3. PHYX048/X048L or PHYX049/X049L or PHYX049C;
  4. Two science courses (six [6] semester hours) for science majors.

College Requirements

Please review all college-wide degree requirements summarized in the College of Arts and Sciences section of this General Bulletin.

Requirements for a Major in Computer Science

The undergraduate program in computer science is limited access. Students must achieve at least a 2.5 GPA in all college work attempted and have completed the State of Florida Common Course Prerequisite (MAC X311) with the grade of C- in order to be considered for entrance. Upon entrance into the program, the student must maintain a 2.5 GPA to remain in good standing in the major.

A student who has accumulated more than five grades below C- (including grades of U) in mathematics, statistics, natural science, or computer science courses taken for college credit at The Florida State University or elsewhere, whether repeated or not, will not be permitted to continue as a major in the department.

A grade of C- or better must be earned in each of the following courses: COP 2000, 2400, 3531, 4020, 4530, 4540, 4610; CGS 3063; CDA 3120, 4101; COT 4210; MAC 2311, 2312; MAD 2104; SPC 3601; STA 4442. The student must also complete two (2) additional advanced mathematics courses (subject to stated prerequisites.) Appropriate courses will have prerequisites of MAC 2312 or MAD 2104. The student must complete at least thirteen (13) semester hours of computer science electives, with at least six (6) of those semester hours being at the 4000 level and at least one (1) elective course that covers an additional programming language not presented in the required course offerings. The student must complete PHY 2048C/2049C and six (6) additional semester hours of science in a discipline(s) other than physics. All courses used to satisfy the science requirement must be identified as For Science Majors within the Liberal Studies Program (or have such a course as a prerequisite). Approval is to be requested prior to registration for the elective courses. All students are required to participate in an exit interview with the chair or associate chair during the term of graduation. Students following this major will complete a total of at least one hundred twenty (120) semester hours in order to satisfy all University and major requirements.


The required collateral courses in mathematics, physics, and statistics constitute an acceptable interdisciplinary minor. Students may contact the undergraduate advisor for information concerning other acceptable minors.

Requirements for a Minor in Computer Science

A minor in computer science consists of twelve (12) semester hours in computer science courses at or above the 3000 level. The student should obtain approval in advance from the department for specific course selections used towards the minor. Students must also satisfy stated prerequisites before enrolling in any computer science course. A grade of C- or better must be earned in each course counted toward the minor.

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)

COP - Computer Programming (languages, data structures, software systems, operating systems, compiling)

COT - Computer Theory

Note: before taking any computer science course, the student must complete with a grade of C- or better each course prerequisite to that course. Moreover, a student who earns a C- or better in a course with one or more stated or implied prerequisites may not subsequently earn credit in the prerequisite course(s). For example, a student who has earned a C- or better in COP 4530 may not subsequently enroll in COP 2000, 2510; nor MAD 2104.

Undergraduate Courses

ISC 3121. Science, Technology, and Society (3).


SCE 4939r. Seminar in Contemporary Science, Mathematics, and Science Education (1).

Note: for descriptions of the above courses, see Interdisciplinary Science Courses in the College of Arts and Sciences section of this General Bulletin.

CGS 2060.Computer Literacy (3). May not be applied towards computer science major or minor. Not open to students with credit in CGS 2100. An introduction to information processing and computer applications. Hands-on experience with microcomputer applications such as word processors, spreadsheets, and datebase managers.

CGS 2062. Computers and Society (3). Not open to a student following the major option in computer science or to a student with credit in CGS 3063. Impact of computers on society: discussion of the nature of digital computers and the role of information processing in human affairs. This course does not teach how to use or program the computer but gives an understanding of the implications of the computer and computer science.

COP 2000.Computer Science I (4). Prerequisites: MAC 1113, 1140. An introduction to computer use; programming and program design techniques using an appropriate higher level language; the use of variables, constants, and expressions; top-down design; functions and parameters; selection and repetition control constructs; simple and user-defined data types; I/O; arrays and records; introduction to object-oriented programming.

CGS 2100.Microcomputer Applications for Business/Economics (3). Prerequisite: MAC 1105. May not be applied towards computer science major or minor. Not open to students with credit in CGS 2060. Course enables students in business and economics to become proficient with microcomputer hardware and software applications that are typically used in the workplace. The following topics are covered: hardware concepts, operating systems, word-processing, spreadsheets, databases, networks, internet, world wide web, multi-media presentations and information systems.

COP 2400.Assembly Language Programming (2). Prerequisite: COP 3531. 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.

CDA 3120. Digital Networks (3). Prerequisite: MAD 2104. 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.

CEN 3020.Introduction to Software Engineering (2). Prerequisite: COP 2000. An introduction to the field of software engineering. A detailed coverage of requirements specification, various design considerations, and the maintenance/reusability issue. Includes a survey of several popular programming paradigms. Hands-on experience working as part of a team. Additional topics include software tools, validation/verification and effective user interfaces.

CGS 3063. Impact of Computers and Engineering on Society (1). Prerequisite: SPC 3601 and a programming course. Not open to students with credit in CGS 2062. A study of the ways in which advances in computers and engineering technology have affected society. Requires written and oral presentations by students concerning computer ethics and the social responsibilities of computer scientists.

CGS 3403. Introduction to COBOL Programming for Business (3). Prerequisite: COP 2000 or CGS 3408. May not be applied toward a computer science major. Study of the use and management of COBOL in business and government organizations. Specific programs are developed to solve typical management and data-processing problems. Structured approaches to problems and design solutions are discussed in detail. Also taught by the College of Business.

CGS 3408.C for Nonspecialists (3). Prerequisite: MAC 1105. Introduction to C programming; types, operators, and expressions; control flow; IO; functions and program structure; software design techniques. Includes eight to ten programming projects.

CGS 3410. Scientific Programming with FORTRAN (2). Prerequisites: COP 2000; MAC 2312. The use of the programming language FORTRAN in the solution of scientific programming problems. Basic syntax of the language, data types, data manipulation statements, I/O, and subprograms. The advanced features of FORTRAN related to scientific applications. Case studies involving problems such as differential equations, numerical integration, and linear/nonlinear equations.

CGS 3460. FORTRAN for Nonspecialists (3). Prerequisite: MAC 1105. May not be applied toward a computer science major. Introduction to programming; rudiments of FORTRAN, problem solving by computer, basic data types, basic control structures, arrays and subscripts, further control structures, subprograms, formatted input/output.

CGS 3462.Pascal for Nonspecialists (3). Prerequisite: MAC 1105. May not be applied toward a computer science major. Introduction to programming; rudiments of Pascal; problem solving by computer; software design techniques; basic data types, control structures, procedures, and functions; numerous programming projects.

CGS 3468. IBM Assembly for Nonspecialists (3). Prerequisite: COP 2000 or CGS 2402. Basic machine organization. Programming in assembly language, including subroutines, macros, and I/O. Specifics of IBM mainframe families and assemblers. Job control language.

CIS 3066.Navigating the Internet (3). Prerequisites: CGS 2060 or a programming course. Basic Unix, World Wide Web, Mosaic, Netscape, Lynx, Gopher, 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.

CIS 3931r.Intermediate Topics in Computer Science (2-3). Analyzes intermediate topics in the area of computer science. Topic and prerequisites will vary from term to term and from section to section. May be repeated to a maximum of nine (9) semester hours.

CIS 3949r. Cooperative Education Work Experience (0). (S/U grade only.) Work experience with a firm or agency to be determined on an individual basis. May be repeated to a maximum of six (6) times.

COP 3531.Computer Science II (4). Prerequisites: COP 2000; MAD 2104. 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.

CAP 4730. Computer Graphics (3). Prerequisite: COP 4530. Topics include: the fundamental hardware and software elements of computer graphics systems, including intelligent terminals, communication, and graphic languages; cost effective use of interactive graphics; CAD/CAM; office automation; and computer animation.

CDA 4101. Computer Organization (3). Prerequisites: CDA 3120; COP 2400. Basic computer structure and design, register transfer and microoperations, central processor organization, microprogramming, arithmetic processor design, input-output, memory organization, virtual memory, microprocessors and microcomputer architecture.

CDA 4300. Microcomputer Data Communications (3). Prerequisites: COP 2400; CDA 3120. An introduction to microcomputer data communications geared toward the technical hardware components, the Intel 8250 UART and INTEL 8259 PIC, and interfacing user programs with these devices. Programs controlling these devices will be written in 8086 assembly language using various structured techniques.

CEN 4010. Software Engineering With Ada (3). Prerequisites: COP 4020, 4610. A survey of software engineering with an emphasis on specification and design of programming products. Topics include the use of the Ada language as a design and implementation tool and the development of a major product.

CEN 4012. Software Engineering Project (3). Prerequisites: COP 4020, 4610. Applies software-engineering principles to construction of software systems. Software life cycle; software design, development, and maintenance; software management; design and development of a large project by groups of students.

CEN 4681. Expert Systems (3). Prerequisites: COP 3531. Topics include: definitions and historical development, methodology tools for analysis and design, survey of existing systems, inference engines, and theory and applications of fuzzy relational products to new developments in inference engines.

CGS 4406.Object Oriented Programming in C++ (3). Prerequisite: CGS 3408. May not be applied toward a computer science major. Basics of the C++ language. Objects and classes. Programming with classes. Constructors and destructors. Function and operator overloading. Master classes. The class iostream. Base and derived classes. Templates.

CIS 4900r. Directed Individual Study (1-4). May be repeated to a maximum of twelve (12) semester hours.

CIS 4930r. Special Topics in Computer Science (3). & s May be repeated to a maximum of twelve (12) semester hours.

CIS 4933r. Honors Work (3). May be repeated to a maximum of nine (9) semester hours.

COP 4020. Programming Languages (3). Prerequisites: COP 2400, 3531. 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. Oral presentation required.

COP 4530. Analysis of Algorithms (3). Prerequisites: COP 3531. Techniques for the analysis of computer algorithms, examples of well-designed algorithms and associated data structures, principles of algorithm design, application to programming projects.

COP 4540. Databases (3). Prerequisite: COP 4530. 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.

COP 4610. Introduction to Operating Systems (3). Prerequisites: COP 2400, 3531. Design principles of batch, multiprogramming, and time-sharing operating systems. Linking, loading, input-output systems, interacting processes, storage management, process and resource control, file systems.

COP 4613. Real-Time Systems (3). Prerequisite: COP 4610. Survey of issues in the design and implementation of real-time computer systems. Topics include: the use of computers for controlling real-time processes, the use of Ada in embedded computer systems, and implementation of a real-time computer system.

COT 4210. Theory of Computation (3). Prerequisites: CDA 3120; COP 3531. Regular expressions; regular, context-free, context-sensitive, and unrestricted grammars; foundations of language theory; finite automata and linear grammars; pushdown automata; turing machines and unsolvability.

Graduate Courses

CAP 5600. Artificial Intelligence (3).

CAP 5615. Artificial Neural Networks (3).

CAP 5625. Relational Methods in Knowledge and Software Engineering (3).

CAP 5630. Pattern Recognition (3).

CDA 5140. Fault Tolerance and Reliability (3).

CDA 5155. Computer Architecture (3).

CDA 5501. Distributed Computing Systems (3).

CEN 5000. Knowledge Management and Data Engineering (3).

CEN 5020. Applicative Foundations of Software Engineering (3).

CEN 5035. Software Engineering (3).

CEN 5066. Software Engineering in Graphics (3).

CEN 5515. Data and Computer Communications (3).

CEN 5521. Networking Personal Computers (3).

CEN 5720. Computer-Human Interaction (3).

CGS 5266. Digital Design (3).

CGS 5267. Principles of Computer Organization (3).

CGS 5275. Assembly and Machine Language (2).

CGS 5425. Object-Oriented Programming with Data Structure (3).

CGS 5426. Programming Language Concepts (3).

CGS 5427. Algorithm Design and Analysis (3).

CGS 5428. Relational Database Theory (3).

CGS 5429. Introduction to Computer Theory (3).

CGS 5469. FORTRAN for Graduate Nonspecialists (3).

CGS 5765. Principles Operating Systems (3).

CIS 5067. Advanced Navigating the Internet (3).

CIS 5406. Computer and Network Administration (3).

CIS 5900r. Directed Individual Study (1-4).

CIS 5910r. Supervised Research (1-9). (S/U grade only.)

CIS 5915r. Graduate Software Project (1-6). (S/U grade only.)

CIS 5920r. Colloquium (1). (S/U grade only.)

CIS 5930r. Selected Topics in Computer Science (1-3).

CIS 5935. Introductory Seminar on Research (1). (S/U grade only.)

CIS 5940r. Supervised Teaching (1-9). (S/U grade only.)

COP 5025. Programming Language Foundations (3).

COP 5570. Advanced UNIX Programming (3).

COP 5611. Operating Systems (3).

COP 5622. Advanced Topics in Compilation (3).

COP 5710. Database Systems (3).

COT 5300. Theory of Parsing, Translation, and Compiling (3).

COT 5310. Theory of Automata and Formal Languages (3).

COT 5410. Complexity of Algorithms (3).

COT 5421. Theory of Computability (3).

COT 5540. Logic for Computer Science (3).

CAP 6616. Autonomous Behavior in Artificial Neural Systems (3). (S/U grade only.)

CIS 6900r. Directed Individual Study (1-12). (S/U grade only.)

CIS 6930r. Advanced Topics in Computer Science (1-3).

CIS 6935r. Advanced Seminar in Computer Science (1).

For listings relating to graduate course work for thesis, dissertation, and masters and doctoral examinations and defense, consult the Graduate Bulletin.


CONSUMER AFFAIRS: see Textiles and Consumer Sciences