|
| DEPARTMENT OF COMPUTER SCIENCE ACADEMICS UNDERGRADUATE INFORMATION |
Before taking any computer science course, the student must complete with a grade of "C-" or better each course prerequisite to that course unless bypass of the prerequisite is approved in writing by the department. Students majoring in any of the majors offered by the Department of Computer Science who skip prerequisite courses without departmental permission will still be required to take said courses or substitute courses approved by the department before graduation.
`D' indicates a course that is sometimes offered in distributed format and so is available to distance students in addition to residential students. See the Undergraduate Course Rotation Plan for more details of when distance offerings are scheduled.
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 database managers. See http://lit.cs.fsu.edu" for more information on this course.
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.
CGS 2100. Microcomputer Applications for Business and 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. See http://lit.cs.fsu.edu" for more information on this course.
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.
COP 2721. Introduction to Database Systems and Internet Services (3). This course is a hands-on introduction to the principles of computer hardware and software, database systems, and the Internet. It explores the concepts and techniques that support website development. Students learn to design and implement simple database systems and to create websites that interact with databases.
3000 LEVEL CS COURSESCDA 3101. Computer Organization (3). Prerequisite:COP 3330, MAD 2104 or 3107. Basic design and organization of modern computers including CPU design, memory, I/O devices, and assembly language programming.
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.
CGS 3066. Introduction to Internet Technology (3). Prerequisite: A previous course in computer science. Basic Unix; World Wide Web, Netscape, Mosaic, Lynx, Gopher, UseNet News, Wais, Mime, Netfind, Traceroute, X.500 directory services, Xv, 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 FSU campus network and Tallahassee Metropolitan Network.
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. Introduction to Programming with the C Language (3). Prerequisite: MAC 1140. This course is an introduction to C programming. Topics include types, operators, and expressions; control flow; IO; functions and program structure; and software design techniques. Eight to ten programming projects are required.
CGS 3410. Scientific Programming with FORTRAN (2). Prerequisites: CGS 3408 or 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 3468. IBM Assembly for Nonspecialists (3). Prerequisite: CGS 3408 or COP 2000. Basic machine organization. Programming in assembly language, including subroutines, macros, and I/O. Specifics of IBM mainframe families and assemblers. Job control language.
CIS 3931r. Intermediate Topics in Computer Scienced (2-3)- (D). Prerequisite: COP 3502. Topic and prerequisites will vary from term to term and section to section. Analyzes intermediate topics in the area of computer science. May be used as a self-contained study of a programming language in the context of applications for which the language is particularly suited. May be repeated to a maximum of nine (9) semester hours.
CIS 3943r. Internship in Computer Science (3-6)- (D). (S/U grade only.) Prerequisites: COP 4530. Successful completion of 60 hours of coursework with a minimum overall GPA of 3.0, including 15 hours in computer science courses (prefixes of CAP, CDA, CEN, CGS, CIS, COP, COT) with a minimum GPA of 3.2; approval of internship coordinator required. Field placement in approved industry or government entity having significant information technology or computer science component by approval only. May be taken for variable credit and repeated (with departmental approval) but only three (3) semester hours may count towards graduation. Successful completion requires satisfactory job evaluation and demonstration of educational value of placement, usually via a paper and/or presentation. May be repeated to a maximum of twelve (12) semester hours.
CIS 3949r. Cooperative Education Work Experience (0) - (D). (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 3252. Internet Applications Programming with Java (3). Prerequisites: CGS 4406; COP 3330; or other C++ programming course. This course covers the applications of the Java language to education, electronic commerce, scientific research, and distributed systems in general. Topics include the following: the architecture of the Web, including software protocols for passing information in typical Web applications; introduction to the Java programming language; developing Graphical User Interfaces using Swing; an introduction to distributed objects using Java Remote Method Invocation (RMI); and server-side programming using Servlets and JDBC. Emphasis is placed on practical programming using these technologies.
COP 3330. Object Oriented Programming (3). Prerequisite: CGS 3408 or a comparable course in C or C++ programming. Pre- or Corequisite: COP 3502. Object-oriented programming in a modern programming language; classes, objects, inheritance, and polymorphism; introduction to data structures and container classes.
COP 3331. Object Oriented Analysis and Design (3). Prerequisite: COP 3330. An introduction to software engineering with emphasis on practical techniques for object-oriented analysis and design. The course covers the use of the Unified Modeling Language (UML) and an associated computer-aided software engineering (CASE) tool.
COP 3502. Introduction to Computer Science (3). Prerequisites: MAC 1105 and previous computer experience. Course covers basic computer organization, computer languages and software, language translation and interpretation, object oriented design, object oriented programming, classes, objects, and inheritance, file systems and I/O.
4000 LEVEL CS COURSESCAP 4601. Introduction to Artificial Intelligence (3). Prerequisite: COP 4530. This first course in Artificial Intelligence (AI) is designed to expose the student to both the breadth and depth of the subject. Topics include problem solving, knowledge and reasoning, acting logically, uncertain knowledge and reasoning, learning, and communicating, perceiving and acting.
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 4150. Computer Architecture (3)- (D). Prerequisites: CDA 3101; MAD 3105 or 3107. High performance architecture design and analysis, including memory-system design, pipelining, vector computers, and multiprocessors.
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 Principles and Practice (3)- (D). Prerequisites: see department. Topics in this course include classical and modern principles and practice of software engineering, including classical and object-oriented approaches to architecture, design, life cycle, and project management; software metrics; change management; teams and teaming tools; reusability, portability, and interoperability; requirements and specification.
CEN 4012r. Mentored Software Project (1-6) - (D). Prerequisite:CEN 4010. Experience creating or changing a large software system; putting principles of software engineering to practice. May be repeated to a maximum of six (6) semester hours.
CEN 4516. Distributed Systems and Networks (3) - (D). Prerequisites: CDA 3101; COP 3330. Computer networks and internetworks; distributed object technology; distributed system architecture; enterprise software systems; distributed process scheduling, file systems, shared memory, computer security, and fault tolerance.
CEN 4681. Expert Systems (3). Prerequisites: COP 4530. 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 4360. Introduction to Computer Security (3). Prerequisite: CGS 3408 or equivalent programming course. Course covers computer security threats and attacks, covert channels, trusted operation systems, access control, entity authenticatioin, security policies, models of security, database security, administering security, physical security and TEMPEST, and brief introductions to network security and legal and ethical aspects of security.
CIS 4362. Network Security and Cryptography (3). Prerequisites: COP 4530; MAD 2104 or 3107, or permission of the instructor. This course examines 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. Topics include private and public key cryptography, digital signatures, secret sharing, security protocols, formal methods for analyzing network security, electronic mail security, firewalls, intrusion detection, Internet privacy and public key infrastructures.
CIS 4407. Computer and Network System Administration (3). Prerequisites: CGS 4406, COP 3330, or other C++ programming course. This course offers a hands-on introduction to Unix and Microsoft Windows systems and network administration. Topics include the following: installation, maintenance, and extension of a multi-user computer system; development of administrative policies and procedures; user assistance and education; specifics of the Unix and Windows operating systems; and practical troubleshooting and problem solving.
CIS 4900r. Directed Individual Study (1-4) - (D). May berepeated to a maximum of twelve (12) semester hours.
CIS 4930r. Special Topics in Computer Science (3) - (D). Prerequisite: at least six (6) semester hours in computer science or software engineering at or above the 4000 level. 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). Prerequisite: COP 3331, 4530. 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 4342. Unix Tools (3). Prerequisites: COP 3330, 3502. This course is an introduction to selected Unix tools and utilities that are useful for advanced users, programmers, and system administrators, such as shell scripts, the perl language, revision control systems, debuggers, editors, and the make, awk, sed, and expect utilities.
COP 4530. Data Structures, Algorithms and Generic Programming (3) - (D). Prerequisites: COP 3330; MAD 2104 or 3107. Pre- or corequisite: CDA 3101. Definition, use and implementation of generic data structures using a modern programming language; reusable program components.
COP 4531. Complexity and Analysis of Data Structures and Algorithms (3) - (D). Prerequisite: COP 4530; MAD 3105 or 3107; STA 4442. Analysis of the complexity of algorithms, including sorting, searching, and graph algorithms; use and implementation of graphs.
COP 4610. Operating Systems and Concurrent Programming (3) - (D). Prerequisite: COP 4530. Pre- or Corequisite: CDA 3101. 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). Prerequisites: COP 4610. Survey of the 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.
COP 4710. Theory and Structure of Databases (3) - (D). Prerequisites: MAD 2104 and either COP 3330 or CGS 4406. Theory of relational and object-oriented databases; relational database management systems and SQL; design, developmental, and implementation issues in database systems.
COT 4420. Theory of Computation (3) - (D). Prerequisites: MAD 3105 and COP 3331. Introduction to the theory of computation, including models of computation such as Turing machines; theory of programming languages, including grammars, parsing, syntax and semantics.
COT 4425. Formal Methods in Software Engineering (3) - (D). Prerequisites: COP 3331 and MAD 3105. Formal methods in software analysis and design, including formal specification and verification.
RELATED COURSES OFFERED BY OTHER DEPARTMENTSMAC 2311. Calculus with Analytic Geometry I (4). Prerequisite: MAC 1140 and MAC 1113, or appropriate score on a Mathematics Placement Examination. Limits and continuity; rules of differentiation; the chain rule; derivatives of trigonometric functions; applications of derivatives to curve sketching, and maxima/minima problems; the mean value theorem and L'Hopital's rule; the definite and indefinite integrals and the Fundamental Theorem of Integral Calculus; area; volume; hydrostatic force; center of mass and other applications of integrals.
MAC 2312. Calculus with Analytic Geometry II (4). Prerequisite: MAC 2311. Inverse trigonometric functions; natural logarithms and exponential functions; methods of integration including integration by parts, trigonometric substitution, and partial fractions; conic sections with rotation of coordinates; hyperbolic functions; graphing and area in polar coordinates; infinite sequences and series; tests for absolute and conditional convergence of series; power series.
MAD 2104. Discrete Mathematics I (3). Prerequisite: MAD 1140 or consent of department chairman during orientation. Mathematical techniques of definition and proof, with application to discrete domains; formal logic; elementary combinatorics; digraphs and relations; graphs, trees, and multigraphs; applications.
PHY 2048C. General physics A with Laboratory (5). Prerequisite: MAC 2311 with a grade of ``C" or better, or consent of instructor. Recommended corequisite: MAC 2312. An introduction to mechanics and thermodynamics for physical science majors, designed to be taken as a sequence with PHY 2049C. Calculus is used. Course consists of lectures, recitations, and laboratory.
PHY 2049C. General Physics B with Laboratory (5). Prerequisite: PHY 2048C, or PHY 3048 with a grade of ``C" or better, or consent of the instructor. An introduction to waves, optics, electricity, and magnetism for physical science majors. Calculus is used. Course consists of lectures, recitations, and laboratory.
MAD 3105. Discrete Mathematics II (3). Prerequisite: MAD 2104. Techniques of definition and logical argument as applied in several areas of discrete mathematics; recurrence relations, graph and network problems.
SPC 2600. Public Speaking (3). Principles of and practical experience in public speaking.
STA 4442. Introductory Probability I (3). Prerequisite: MAC 2312. Subsequent credit for STA 5440 is not permitted. Random variables, probability distributions, independence, sums of random variables, generating functions, central limit theorem, laws of large numbers.
STA 4322. Mathematical Statistics (3). Prerequisites: STA 4442, and MAC 2313 ( MAC 2312 with permission of the instructor). Sufficiency, point estimation, confidence intervals, hypothesis testing, regression, linear models, Bayesian analysis.